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