Я использую Capistrano для развертывания приложений, которые я создаю в Sinatra и Rails. Некоторое время я писал все, что мне нужно было сделать во время развертывания, в config/deploy.rb
. Похоже, я просто пишу Рейка здесь. Мне было интересно, могу ли я получить совет по поводу того, поставил ли я их в нужное место или мог бы быть более «Capistranorish» с моими развертываниями.Где я должен ставить свои задачи развертывания при использовании Capistrano?
Вот несколько примеров того, что я здесь делаю. Я пишу почти все, что мне нужно для развертывания.
# deploy.rb
task :initctl_reload_configuration do
on roles(:app), in: :sequence do
execute "sudo initctl reload-configuration"
end
end
task :rebuild_sitemap_no_ping do
on roles(:app), in: :sequence do
execute "cd /srv/app/#{environment}/current && RAILS_ENV=#{environment} bundle exec rake sitemap:refresh:no_ping"
end
end
task :rebuild_sitemap do
on roles(:app), in: :sequence do
execute "cd /srv/app/#{environment}/current && RAILS_ENV=#{environment} bundle exec rake sitemap:refresh"
end
end
task :restart_services do
on roles(:app), in: :sequence do
execute "sudo service tomcat6 restart"
execute "sudo service sunspot-solr restart"
execute "sudo service app-#{environment} restart"
execute "sudo service nginx restart"
end
end
Удивительный совет! Спасибо! Я определенно собираюсь в итоге получить гораздо больше вещей, которые мне нужно будет лучше организовать. Таким образом, перемещение в этот каталог и разбивка на отдельные задачи Rake помогут. –