fixed errors

master
alexey 3 weeks ago
parent 4cc0477e39
commit ad1bbe1d2d

@ -54,7 +54,6 @@ class MockManager
end
def clean_build
@log.info("Удаление временной сборочной среды #{@path}")
FileUtils.rm_rf(@path)
end
@ -222,7 +221,7 @@ class MockManager
FileUtils.mkdir_p(File.join(@resultpath, "#{@build_id}"))
if File.exist?(@process_log)
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
@ -231,6 +230,7 @@ class MockManager
@db.before_fork
spock = Spork.spork(:logger => log) do
@db.after_fork
old_stdout = $stdout.dup
$stdout = File.open(@process_log, "w")
@log = Logger.new($stdout)
if @spec == ""
@ -246,11 +246,13 @@ class MockManager
save_logs
save_rpms if @error == false
rescue => e
@error = true
puts e
end
$stdout = old_stdout
@log.close
save_prg_log
clean_build
@log.close
if @error
@db.update_build_task_status(@build_id, 1)
else

@ -279,10 +279,13 @@ class ProjectsActions
lockf_path = File.join(prepare_path, "lock")
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
result = f.flock(File::LOCK_EX | File::LOCK_NB)
unless result
if result == false
#Файл заблокирован считать id и вывести сведения о сборке
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
build_info = @db.get_build_task_process_log(build_id)
unless build_info.nil?
@ -304,17 +307,19 @@ class ProjectsActions
lockf_path = File.join(prepare_path, "lock")
File.open(lockf_path, File::RDWR | File::CREAT) do |f|
f.flock(File::LOCK_EX)
f.rewind
#Начинаем сборку
build_path = File.join(proj_path, PROJECTS_STRUCTURE[:LOGS], git_name[:reponame])
repo_path = File.join(proj_path, PROJECTS_STRUCTURE[:REPO])
git_source = File.join(proj_path, PROJECTS_STRUCTURE[:SRC], git_name[:reponame])
@db.create_build_task(prj_id, git_id, build_path)
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)
bld_id = build_id
@db.update_build_task_error_log(build_id, mock.get_build_process_log)
mock.build_task
f.flock(File::LOCK_UN)
end
end
bld_id

Loading…
Cancel
Save