1
我正在使用Capistrano來部署我在Sinatra和Rails中構建的應用程序。一段時間以來,我一直在將部署過程中需要完成的所有工作都寫入config/deploy.rb
。看起來我只是在這裏寫Rake。我想知道如果我能將這些放在正確的位置,或者我的部署能夠變得更加「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任務將有所幫助。 –