# start server
def self.start_server( id, port = 2222 )
server = get_server(id)
- #migrate_db(server)
- server.jobmgr.cancel_broken_status
+
+ if server.has_db? then
+ server.jobmgr.cancel_broken_status
+ end
# write run port
server_dir = "#{BuildServer::CONFIG_ROOT}/#{server.id}"
# server
server = get_server(id)
- migrate_db(server)
+
client = BuildCommClient.create( "127.0.0.1", server.port )
if client.nil? then
puts "Server is not running!"
# server
server = get_server(id)
- migrate_db(server)
+
client = BuildCommClient.create( "127.0.0.1", server.port )
if client.nil? then
puts "Server is not running!"
return true
end
- # request upgrade friends build server
- def self.request_upgrade_server( id )
-
- server = get_server(id)
- migrate_db(server)
- server_dir = "#{BuildServer::CONFIG_ROOT}/#{id}"
-
- if File.exist? "#{server_dir}/friends" then
- File.open( "#{server_dir}/friends", "r" ) do |f|
- f.each_line do |l|
- if l.split(",").count < 2 then next end
- ip = l.split(",")[0].strip
- port = l.split(",")[1].strip
-
- client = BuildCommClient.create( ip, port )
- if client.nil? then
- puts "Friend Server #{ip}:#{port} is not running!"
- next
- end
- # send request
- upgrade_ok = false
- if client.send "UPGRADE|#{server.password}" then
- # recevie & print
- mismatched = false
- result = client.read_lines do |l2|
- puts l2
- if l2.include? "Password mismatched!" then
- mismatched = true
- end
- end
- if result and not mismatched then
- upgrade_ok = true
- end
- end
-
- # terminate
- client.terminate
-
- if upgrade_ok then
- puts "Friend Server #{ip}:#{port} upgrade requested!"
- else
- puts "Friend Server #{ip}:#{port} upgrade failed!"
- end
- end
- end
- else
- puts "No Friend Server."
- end
-
- return true
- end
-
# add friend server
def self.add_remote_server( id, ip, port )
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# add
# remove friend server
def self.remove_remote_server( id, ip, port )
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# add
# add supported target os
def self.add_target_os( id, os_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# add
# remove supported target os
def self.remove_target_os( id, os_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# add
# add distribution
def self.add_distribution( id, dist_name, pkgsvr_url, pkgsvr_ip, pkgsvr_port, pkgsvr_password )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# add
# remove distribution
def self.remove_distribution( id, dist_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# remove
# lock distribution
def self.lock_distribution(id, dist_name)
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# remove
# unlock distribution
def self.unlock_distribution(id, dist_name)
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# remove
# add remote package server
def self.add_sync_package_server(id, url, dist_name)
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# check distribution
# remove remote package server
def self.remove_sync_package_server(id, url, dist_name)
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# check distribution
# add project
def self.add_project( id, project_name, git_repos, git_branch, remote_server_id,
passwd, os_string, dist_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# get supported os for project.
# add binary project
def self.add_binary_project( id, project_name, pkg_name, passwd, os_string, dist_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# get supported os for project.
# remove project
def self.remove_project( id, project_name, dist_name )
- # get server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# check distribution
def self.register_package(id, file_path, dist_name)
- # server
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
# check distribution
# server
def self.query_server( id )
server = get_server(id)
+
+ if not server.has_db? then
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
migrate_db(server)
server.prjmgr.load()
end
server = get_server(id)
+
+ if not server.has_db? and attr != "GIT_BIN_PATH" and attr != "PASSWORD" and
+ attr != "FTP_ADDR" and attr != "FTP_PORT" and
+ attr != "FTP_USERNAME" and attr != "FTP_PASSWD" and
+ attr != "DB_DSN" and attr != "DB_USER" and
+ attr != "DB_PASSWD" and attr != "PASSWORD" then
+
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
+
case attr
when "GIT_BIN_PATH"
server.git_bin_path = value
end
server = get_server(id)
+ if not server.has_db? and attr != "GIT_BIN_PATH" and attr != "PASSWORD" and
+ attr != "FTP_ADDR" and attr != "FTP_PORT" and
+ attr != "FTP_USERNAME" and attr != "FTP_PASSWD" and
+ attr != "DB_DSN" and attr != "DB_USER" and
+ attr != "DB_PASSWD" and attr != "PASSWORD" then
+
+ puts BuildServerException.get_message("ERR021")
+ return false
+ end
+
case attr
when "GIT_BIN_PATH"
puts server.git_bin_path
--- /dev/null
+#PRE-EXEC
+rm -rf buildsvr01
+mkdir buildsvr01
+cd buildsvr01; ../../../build-svr create -n testserver3 -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333 -t ftp://ftpuser:ftpuser@172.21.111.124
+#EXEC
+../../build-svr add-dist -n testserver3 -D BASE -u `pwd`/../pkgsvr01/unstable -d 127.0.0.1:3333
+../../build-svr remove-dist -n testserver3 -D BASE
+../../build-svr query -n testserver3
+../../build-svr add-svr -n testserver3 -d 127.0.0.1:2223
+../../build-svr remove-svr -n testserver3 -d 127.0.0.1:2223
+../../build-svr add-os -n testserver3 -o ubuntu-32
+../../build-svr remove-os -n testserver3 -o ubuntu-32
+../../build-svr lock-dist -n testserver3 -D BASE
+../../build-svr unlock-dist -n testserver3 -D BASE
+../../build-svr add-sync -n testserver3 -u `pwd`/../pkgsvr01/unstable
+../../build-svr remove-sync -n testserver3 -u `pwd`/../pkgsvr01/unstable
+../../build-svr add-prj -n testserver3 -N testx -g test_git -b test_branch -o ubuntu-32
+../../build-svr remove-prj -n testserver3 -N testx
+../../build-svr register -n testserver3 -P bin/bin_0.0.0_ubuntu-32.zip
+../../build-svr set-attr -n testserver3 -A MAX_WORKING_JOBS -V 3
+../../build-svr get-attr -n testserver3 -A MAX_WORKING_JOBS
+#POST-EXEC
+../../build-svr remove -n testserver3
+rm -rf buildsvr01
+#EXPECT
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!
+Error: No DB exists and create(migrate) DB first!