Fix secrets task on first deployments
New CONSUL instances who didn't use the newest installer and haven't done any deployments with capistrano would get an exception because the `current` capistrano folder doesn't exist yet.
This commit is contained in:
@@ -138,23 +138,25 @@ end
|
|||||||
|
|
||||||
task :smtp_ssl_and_delay_jobs_secrets do
|
task :smtp_ssl_and_delay_jobs_secrets do
|
||||||
on roles(:app) do
|
on roles(:app) do
|
||||||
within current_path do
|
if test("[ -d #{current_path} ]")
|
||||||
with rails_env: fetch(:rails_env) do
|
within current_path do
|
||||||
tasks_file_path = "lib/tasks/secrets.rake"
|
with rails_env: fetch(:rails_env) do
|
||||||
shared_secrets_path = "#{shared_path}/config/secrets.yml"
|
tasks_file_path = "lib/tasks/secrets.rake"
|
||||||
|
shared_secrets_path = "#{shared_path}/config/secrets.yml"
|
||||||
|
|
||||||
unless test("[ -e #{current_path}/#{tasks_file_path} ]")
|
unless test("[ -e #{current_path}/#{tasks_file_path} ]")
|
||||||
begin
|
begin
|
||||||
unless test("[ -w #{shared_secrets_path} ]")
|
unless test("[ -w #{shared_secrets_path} ]")
|
||||||
execute "sudo chown `whoami` #{shared_secrets_path}"
|
execute "sudo chown `whoami` #{shared_secrets_path}"
|
||||||
execute "chmod u+w #{shared_secrets_path}"
|
execute "chmod u+w #{shared_secrets_path}"
|
||||||
|
end
|
||||||
|
|
||||||
|
execute "cp #{release_path}/#{tasks_file_path} #{current_path}/#{tasks_file_path}"
|
||||||
|
|
||||||
|
execute :rake, "secrets:smtp_ssl_and_delay_jobs"
|
||||||
|
ensure
|
||||||
|
execute "rm #{current_path}/#{tasks_file_path}"
|
||||||
end
|
end
|
||||||
|
|
||||||
execute "cp #{release_path}/#{tasks_file_path} #{current_path}/#{tasks_file_path}"
|
|
||||||
|
|
||||||
execute :rake, "secrets:smtp_ssl_and_delay_jobs"
|
|
||||||
ensure
|
|
||||||
execute "rm #{current_path}/#{tasks_file_path}"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user