fixed errors

master
alexey 1 month ago
parent 4cc0477e39
commit ad1bbe1d2d

@ -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

Loading…
Cancel
Save