fixed errors
This commit is contained in:
@@ -54,7 +54,6 @@ class MockManager
|
|||||||
end
|
end
|
||||||
|
|
||||||
def clean_build
|
def clean_build
|
||||||
@log.info("Удаление временной сборочной среды #{@path}")
|
|
||||||
FileUtils.rm_rf(@path)
|
FileUtils.rm_rf(@path)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -222,7 +221,7 @@ class MockManager
|
|||||||
FileUtils.mkdir_p(File.join(@resultpath, "#{@build_id}"))
|
FileUtils.mkdir_p(File.join(@resultpath, "#{@build_id}"))
|
||||||
if File.exist?(@process_log)
|
if File.exist?(@process_log)
|
||||||
dst = File.join(@resultpath, "#{@build_id}")
|
dst = File.join(@resultpath, "#{@build_id}")
|
||||||
FileUtils.cp_r(@process_log, dst, verbose: true, remove_destination: true)
|
FileUtils.cp_r(@process_log, dst, verbose: false, remove_destination: true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -231,6 +230,7 @@ class MockManager
|
|||||||
@db.before_fork
|
@db.before_fork
|
||||||
spock = Spork.spork(:logger => log) do
|
spock = Spork.spork(:logger => log) do
|
||||||
@db.after_fork
|
@db.after_fork
|
||||||
|
old_stdout = $stdout.dup
|
||||||
$stdout = File.open(@process_log, "w")
|
$stdout = File.open(@process_log, "w")
|
||||||
@log = Logger.new($stdout)
|
@log = Logger.new($stdout)
|
||||||
if @spec == ""
|
if @spec == ""
|
||||||
@@ -246,11 +246,13 @@ class MockManager
|
|||||||
save_logs
|
save_logs
|
||||||
save_rpms if @error == false
|
save_rpms if @error == false
|
||||||
rescue => e
|
rescue => e
|
||||||
|
@error = true
|
||||||
puts e
|
puts e
|
||||||
end
|
end
|
||||||
|
$stdout = old_stdout
|
||||||
|
@log.close
|
||||||
save_prg_log
|
save_prg_log
|
||||||
clean_build
|
clean_build
|
||||||
@log.close
|
|
||||||
if @error
|
if @error
|
||||||
@db.update_build_task_status(@build_id, 1)
|
@db.update_build_task_status(@build_id, 1)
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -279,10 +279,13 @@ class ProjectsActions
|
|||||||
lockf_path = File.join(prepare_path, "lock")
|
lockf_path = File.join(prepare_path, "lock")
|
||||||
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
|
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
|
||||||
result = f.flock(File::LOCK_EX | File::LOCK_NB)
|
result = f.flock(File::LOCK_EX | File::LOCK_NB)
|
||||||
unless result
|
if result == false
|
||||||
#Файл заблокирован считать id и вывести сведения о сборке
|
#Файл заблокирован считать id и вывести сведения о сборке
|
||||||
build_ok = false
|
build_ok = false
|
||||||
build_id = f.gets.strip.to_i
|
build_id = f.gets
|
||||||
|
unless build_id.nil?
|
||||||
|
build_id = build_id.strip.to_i
|
||||||
|
end
|
||||||
if build_id > 0
|
if build_id > 0
|
||||||
build_info = @db.get_build_task_process_log(build_id)
|
build_info = @db.get_build_task_process_log(build_id)
|
||||||
unless build_info.nil?
|
unless build_info.nil?
|
||||||
@@ -304,17 +307,19 @@ class ProjectsActions
|
|||||||
lockf_path = File.join(prepare_path, "lock")
|
lockf_path = File.join(prepare_path, "lock")
|
||||||
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
|
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
|
||||||
f.flock(File::LOCK_EX)
|
f.flock(File::LOCK_EX)
|
||||||
|
f.rewind
|
||||||
#Начинаем сборку
|
#Начинаем сборку
|
||||||
build_path = File.join(proj_path, PROJECTS_STRUCTURE[:LOGS], git_name[:reponame])
|
build_path = File.join(proj_path, PROJECTS_STRUCTURE[:LOGS], git_name[:reponame])
|
||||||
repo_path = File.join(proj_path, PROJECTS_STRUCTURE[:REPO])
|
repo_path = File.join(proj_path, PROJECTS_STRUCTURE[:REPO])
|
||||||
git_source = File.join(proj_path, PROJECTS_STRUCTURE[:SRC], git_name[:reponame])
|
git_source = File.join(proj_path, PROJECTS_STRUCTURE[:SRC], git_name[:reponame])
|
||||||
@db.create_build_task(prj_id, git_id, build_path)
|
@db.create_build_task(prj_id, git_id, build_path)
|
||||||
build_id = @db.last_id
|
build_id = @db.last_id
|
||||||
|
f.puts(build_id)
|
||||||
|
f.flush
|
||||||
mock = MockManager.new(prepare_path, get_project_config(prj_id), counter_file, @db, build_path, repo_path, git_source, build_id, prep_script, spec_file, repo_lock, git_id)
|
mock = MockManager.new(prepare_path, get_project_config(prj_id), counter_file, @db, build_path, repo_path, git_source, build_id, prep_script, spec_file, repo_lock, git_id)
|
||||||
bld_id = build_id
|
bld_id = build_id
|
||||||
@db.update_build_task_error_log(build_id, mock.get_build_process_log)
|
@db.update_build_task_error_log(build_id, mock.get_build_process_log)
|
||||||
mock.build_task
|
mock.build_task
|
||||||
f.flock(File::LOCK_UN)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
bld_id
|
bld_id
|
||||||
|
|||||||
Reference in New Issue
Block a user