#731: fixed
This commit is contained in:
parent
f01973ce92
commit
947c7cdac4
@ -165,42 +165,56 @@ module Devops
|
|||||||
end
|
end
|
||||||
|
|
||||||
def deploy_project_stream out, id
|
def deploy_project_stream out, id
|
||||||
|
# check if project exist
|
||||||
|
project = Devops::Db.connector.project(id)
|
||||||
deploy_env, servers = parser.deploy
|
deploy_env, servers = parser.deploy
|
||||||
keys = {}
|
keys = {}
|
||||||
dbserver = servers(id, deploy_env, servers)
|
dbserver = Devops::Db.connector.servers(id, deploy_env, servers, true)
|
||||||
out << (dbservers.empty? ? "No reserved servers to deploy\n" : "Deploy servers: '#{dbservers.map{|s| s.chef_node_name}.join("', '")}'\n")
|
out << (dbservers.empty? ? "No reserved servers to deploy\n" : "Deploy servers: '#{dbservers.map{|s| s.chef_node_name}.join("', '")}'\n")
|
||||||
status = []
|
status = []
|
||||||
servers.each do |s|
|
deploy_info_buf = {}
|
||||||
project = begin
|
dbservers.each do |s|
|
||||||
|
begin
|
||||||
Devops::Db.connector.check_project_auth s.project, s.deploy_env, parser.current_user
|
Devops::Db.connector.check_project_auth s.project, s.deploy_env, parser.current_user
|
||||||
rescue InvalidPrivileges, RecordNotFound => e
|
rescue InvalidPrivileges, RecordNotFound => e
|
||||||
out << e.message + "\n"
|
out << e.message + "\n"
|
||||||
status.push 2
|
status.push 2
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
deploy_info = project.deploy_info(s.deploy_env, nil)
|
deploy_env_model = project.deploy_env(s.deploy_env)
|
||||||
|
deploy_info = if deploy_info_buf[s.deploy_env]
|
||||||
|
deploy_info_buf[s.deploy_env]
|
||||||
|
else
|
||||||
|
# мы не можем указать один build_number для всех окружений, поэтому nil
|
||||||
|
deploy_info_buf[s.deploy_env] = project.deploy_info(deploy_env_model, nil)
|
||||||
|
end
|
||||||
status.push(Devops::Executor::ServerExecutor.new(s, out).deploy_server(deploy_info))
|
status.push(Devops::Executor::ServerExecutor.new(s, out).deploy_server(deploy_info))
|
||||||
end
|
end
|
||||||
status
|
status
|
||||||
end
|
end
|
||||||
|
|
||||||
def deploy_project id
|
def deploy_project id
|
||||||
|
# check if project exist
|
||||||
|
project_model = Devops::Db.connector.project(id)
|
||||||
deploy_env, servers = parser.deploy
|
deploy_env, servers = parser.deploy
|
||||||
files = []
|
files = []
|
||||||
servers(id, deploy_env, servers).each do |s|
|
dbservers = Devops::Db.connector.servers(id, deploy_env, servers, true)
|
||||||
|
out << (dbservers.empty? ? "No reserved servers to deploy\n" : "Deploy servers: '#{dbservers.map{|s| s.chef_node_name}.join("', '")}'\n")
|
||||||
|
deploy_info_buf = {}
|
||||||
|
dbservers.each do |s|
|
||||||
begin
|
begin
|
||||||
Devops::Db.connector.check_project_auth s.project, s.deploy_env, parser.current_user
|
Devops::Db.connector.check_project_auth s.project, s.deploy_env, parser.current_user
|
||||||
rescue InvalidPrivileges, RecordNotFound => e
|
rescue InvalidPrivileges, RecordNotFound => e
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
project_model = project(s.project)
|
deploy_env_model = project_model.deploy_env(s.deploy_env)
|
||||||
deploy_env_model = project_model.deploy_env(deploy_env)
|
deploy_info = if deploy_info_buf[s.deploy_env]
|
||||||
|
deploy_info_buf[s.deploy_env]
|
||||||
puts '!!! WARNING !!!'
|
else
|
||||||
puts 'build_number is set to empty string'
|
# мы не можем указать один build_number для всех окружений, поэтому nil
|
||||||
build_number = ''
|
deploy_info_buf[s.deploy_env] = project_model.deploy_info(deploy_env_model, nil)
|
||||||
deploy_info = project_model.deploy_info(deploy_env_model, build_number)
|
end
|
||||||
|
|
||||||
uri = Worker.start_async(DeployWorker, @request,
|
uri = Worker.start_async(DeployWorker, @request,
|
||||||
server_attrs: s.to_hash,
|
server_attrs: s.to_hash,
|
||||||
@ -213,11 +227,6 @@ module Devops
|
|||||||
files
|
files
|
||||||
end
|
end
|
||||||
|
|
||||||
def servers project_id, deploy_env, servers
|
|
||||||
project = Devops::Db.connector.project(project_id)
|
|
||||||
dbservers = Devops::Db.connector.servers(project_id, deploy_env, servers, true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def archive_project id
|
def archive_project id
|
||||||
project = Devops::Db.connector.project(id)
|
project = Devops::Db.connector.project(id)
|
||||||
Devops::Db.connector.archive_project(id)
|
Devops::Db.connector.archive_project(id)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user