@cancel_state = "NONE"
@resolve = false
@host_os = Utils::HOST_OS
- @pkgsvr_url = @server.distmgr.get_distribution(project.dist_name).pkgsvr_url
- @pkgsvr_ip = @server.distmgr.get_distribution(project.dist_name).pkgsvr_ip
- @pkgsvr_port = @server.distmgr.get_distribution(project.dist_name).pkgsvr_port
+ if not @server.distmgr.nil? then
+ @pkgsvr_url = @server.distmgr.get_distribution(project.dist_name).pkgsvr_url
+ @pkgsvr_ip = @server.distmgr.get_distribution(project.dist_name).pkgsvr_ip
+ @pkgsvr_port = @server.distmgr.get_distribution(project.dist_name).pkgsvr_port
+ else
+ @pkgsvr_url = ""
+ @pkgsvr_ip = ""
+ @pkgsvr_port = ""
+ end
@job_root = "#{@server.path}/jobs/#{@id}"
@source_path = @job_root+"/temp"
@job_working_dir=@job_root+"/works"
# initialize
public
def initialize(server, id=nil)
- @id = server.jobmgr.get_new_job_id()
@server = server
+ if not server.jobmgr.nil? then
+ @id = server.jobmgr.get_new_job_id()
+ else
+ @id = 0
+ end
@parent = nil
@sub_jobs = []
$git_mutex = Mutex.new
class GitBuildJob < BuildJob
+ attr_accessor :git_commit, :git_branch, :git_repos
# initialize
def initialize( project, os, server )
end
- def set_git_commit( commit )
- @git_commit = commit
- end
-
-
#
# PROTECTED/PRIVATE METHODS
#
commit = get_commit_id( version )
if not commit.nil? then
- new_job.set_git_commit( commit )
+ new_job.git_commit = commit
end
return new_job
# load
def load_db()
- @project = []
+ @projects = []
db_file = "#{BuildServer::CONFIG_ROOT}/#{@server.id}/server.db"
begin
end
new_project.load_db()
-
@projects.push new_project
}
rescue SQLite3::Exception => e
attr_accessor :ip, :port, :status, :host_os
attr_accessor :max_working_jobs, :working_jobs, :waiting_jobs
attr_accessor :path
+ attr_accessor :jobmgr, :distmgr
# initialize
def initialize(ip, port, parent)
@path = ""
@file_transfer_cnt_mutex = Mutex.new
@file_transfer_cnt = 0
+ @jobmgr = nil
+ @distmgr = nil
end
@log = job.log
# build
- ret = build(@job.project.repository, @job.source_path, @job.os,
+ ret = build(@job.get_project().repository, @job.source_path, @job.os,
@job.is_rev_build_check_job(), @job.git_commit, @job.no_reverse,
- local_pkgs, @job.project.dist_name )
+ local_pkgs, @job.get_project().dist_name )
# reset job
@job = nil
end
new_job = prj.create_new_job(os)
new_job.set_internal_job( dock_num )
- new_job.set_git_commit(git_commit)
+ new_job.git_commit = git_commit
incoming_dir = "#{@parent_server.transport_path}/#{dock_num}"
pkg_files.each { |file|
new_job.add_external_package( file )
--- /dev/null
+#PRE-EXEC
+#EXEC
+../../build-cli build -N testa -d 127.0.0.1:2223 -o ubuntu-32 -D unstable
+#POST-EXEC
+#EXPECT
+Info: Added new job
+Info: Initializing job...
+Info: Checking package version ...
+Info: Invoking a thread for building Job
+Info: New Job
+Info: Started to build this job...
+Info: JobBuilder#
+Info: Start to build on remote server...
+Info: Sending build request to remote server...
+Info: Added new job
+Info: Initializing job...
+Info: Copying external dependent pkgs...
+Info: Invoking a thread for building Job
+Info: New Job
+Info: Started to build this job...
+Info: JobBuilder
+Info: Downloding client is initializing...
+Info: Installing dependent packages...
+Info: Downloading dependent source packages...
+Info: Make clean...
+Info: Make build...
+Info: Make install...
+Info: Generatiing pkginfo.manifest...
+Info: Zipping...
+Info: Creating package file ... a_0.0.1_ubuntu-32.zip
+Info: Copying log to
+Info: Copying result files to
+Info: *
+Info: Job is completed!
+Info: Job is FINISHED successfully!
+Info: Updating the source info for project "UNNAMED
+Info: Receiving log file from remote server...
+Info: Receiving file from remote server : a_0.0.1_ubuntu-32.zip
+Info: Checking reverse build dependency ...
+Info: Uploading ...
+Info: Upload succeeded. Sync local pkg-server again...
+Info: Snapshot:
+Info: Job is completed!
+Info: Job is FINISHED successfully!
+Info: Updating the source info for project "testa"
--- /dev/null
+#PRE-EXEC
+#EXEC
+../../build-cli build -N testb -d 127.0.0.1:2223 -o ubuntu-32 -D unstable
+#POST-EXEC
+#EXPECT
+Info: Added new job
+Info: Initializing job...
+Info: Checking package version ...
+Info: Invoking a thread for building Job
+Info: New Job
+Info: Started to build this job...
+Info: JobBuilder
+Info: Start to build on remote server...
+Info: Sending build request to remote server...
+Info: Added new job
+Info: Initializing job...
+Info: Copying external dependent pkgs...
+Info: Invoking a thread for building Job
+Info: New Job
+Info: Started to build this job...
+Info: JobBuilder
+Info: Downloding client is initializing...
+Info: Installing dependent packages...
+Info: * a
+Info: Downloading dependent source packages...
+Info: Make clean...
+Info: Make build...
+Info: Make install...
+Info: Generatiing pkginfo.manifest...
+Info: Zipping...
+Info: Creating package file ... b_0.0.1_ubuntu-32.zip
+Info: Copying log to
+Info: Copying result files to
+Info: *
+Info: Job is completed!
+Info: Job is FINISHED successfully!
+Info: Updating the source info for project "UNNAMED
+Info: Receiving log file from remote server...
+Info: Receiving file from remote server : b_0.0.1_ubuntu-32.zip
+Info: Checking reverse build dependency ...
+Info: Uploading ...
+Info: Upload succeeded. Sync local pkg-server again...
+Info: Snapshot:
+Info: Job is completed!
+Info: Job is FINISHED successfully!
+Info: Updating the source info for project "testb"
--- /dev/null
+#!/bin/sh
+
+rm -rf buildsvr01
+rm -rf git01
+rm -rf bin
+rm -rf ~/.build_tools/build_server/testserver3
+
+../../build-svr remove -n testserver3
+mkdir buildsvr01
+cd buildsvr01
+ruby -d ../../../build-svr create -n testserver3 -t ftp://ftpuser:ftpuser@127.0.0.1
+cd ..
+
+ruby -d ../../build-svr add-dist -n testserver3 -D unstable -u `pwd`/pkgsvr01/unstable -d 127.0.0.1:3333
+ruby -d ../../build-svr add-svr -n testserver3 -d 127.0.0.1:2224
+ruby -d ../../build-svr add-os -n testserver3 -o ubuntu-32
+ruby -d ../../build-svr add-os -n testserver3 -o windows-32
+ruby -d ../../build-svr add-prj -n testserver3 -N testa -g `pwd`/git01/a -b master
+ruby -d ../../build-svr add-prj -n testserver3 -N testb -g `pwd`/git01/b -b master
+ruby -d ../../build-svr set-attr -n testserver3 -A MAX_WORKING_JOBS -V 0
+
+mkdir -p git01
+cp ../git01/*.tar.gz git01/
+cd git01
+rm -rf a
+rm -rf b
+tar xvf a_v1.tar.gz
+tar xvf b_v1.tar.gz
+cd ..
+
+ruby -d ../../build-svr start -n testserver3 -p 2223 --CHILD
--- /dev/null
+#!/bin/sh
+rm -rf buildsvr02
+
+../../build-svr remove -n testserver4
+mkdir buildsvr02
+cd buildsvr02
+ruby -d ../../../build-svr create -n testserver4 -t ftp://ftpuser:ftpuser@127.0.0.1
+cd ..
+ruby -d ../../build-svr add-dist -n testserver4 -D unstable -u `pwd`/pkgsvr01/unstable -d 127.0.0.1:3333
+
+ruby -d ../../build-svr start -n testserver4 -p 2224 --CHILD
--- /dev/null
+#!/bin/sh
+rm -rf ~/.build_tools/pkg_server/pkgsvr01
+rm -rf `pwd`/pkgsvr01
+ruby -d ../../pkg-svr create -n pkgsvr01 -d unstable
+ruby -d ../../pkg-svr add-os -n pkgsvr01 -d unstable -o ubuntu-32
+ruby -d ../../pkg-svr add-os -n pkgsvr01 -d unstable -o windows-32
+ruby -d ../../pkg-svr start -n pkgsvr01 -p 3333
--- /dev/null
+01.testcase
+02.testcase
+++ /dev/null
-#!/bin/sh
-rm -rf buildsvr02
-mkdir buildsvr02
-cd buildsvr02
-../../build-svr remove -n testserver4
-../../build-svr create -n testserver4 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@127.0.0.1
-cd ..
-../build-svr start -n testserver4 -p 2224