Make run resilient to same version having already been run
This commit is contained in:
@@ -17,9 +17,20 @@ namespace :mrsk do
|
|||||||
on(MRSK_CONFIG.servers) { execute app.pull }
|
on(MRSK_CONFIG.servers) { execute app.pull }
|
||||||
end
|
end
|
||||||
|
|
||||||
desc "Run app on servers"
|
desc "Run app on servers (or start them if they've already been run)"
|
||||||
task :run do
|
task :run do
|
||||||
on(MRSK_CONFIG.servers) { execute app.run }
|
on(MRSK_CONFIG.servers) do |host|
|
||||||
|
begin
|
||||||
|
execute app.run
|
||||||
|
rescue SSHKit::Command::Failed => e
|
||||||
|
if e.message =~ /already in use/
|
||||||
|
puts "Container with same version already deployed on #{host}, starting that instead"
|
||||||
|
execute app.start, host: host
|
||||||
|
else
|
||||||
|
raise
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
desc "Start existing app on servers"
|
desc "Start existing app on servers"
|
||||||
|
|||||||
Reference in New Issue
Block a user