demarches-normaliennes/lib/tasks/deploy.rake

44 lines
1,020 B
Ruby
Raw Normal View History

2018-10-24 16:00:07 +02:00
def domains_for_stage(stage)
case stage
2018-10-23 18:26:23 +02:00
when 'dev'
['web1.dev', 'web2.dev']
when 'prod'
2019-10-16 10:58:54 +02:00
['web1', 'web2', 'web3', 'web4']
2018-10-23 18:26:23 +02:00
else
2018-10-24 16:00:07 +02:00
raise "STAGE #{stage} is unknown. It must be either dev or prod."
end
end
task :setup do
2018-10-24 16:00:07 +02:00
domains = domains_for_stage(ENV.fetch('STAGE'))
domains.each do |domain|
sh "mina setup domain=#{domain}"
2018-09-03 18:36:09 +02:00
end
end
task :deploy do
2018-10-24 16:00:07 +02:00
domains = domains_for_stage(ENV.fetch('STAGE'))
branch = ENV.fetch('BRANCH')
2018-09-03 18:36:09 +02:00
domains.each do |domain|
sh "mina deploy domain=#{domain} branch=#{branch} force_asset_precompile=true"
end
end
task :post_deploy do
domains = domains_for_stage(ENV.fetch('STAGE'))
branch = ENV.fetch('BRANCH')
sh "mina post_deploy domain=#{domains.first} branch=#{branch}"
end
2020-05-14 16:11:00 +02:00
task :rollback do
domains = domains_for_stage(ENV.fetch('STAGE'))
branch = ENV.fetch('BRANCH')
domains.each do |domain|
sh "mina rollback service:restart_puma service:reload_nginx service:restart_delayed_job domain=#{domain} branch=#{branch}"
2020-05-14 16:11:00 +02:00
end
end