[英]Where should I put my deployment tasks when using Capistrano?
我正在使用Capistrano來部署我在Sinatra和Rails中構建的應用程序。 有一段時間我現在已經在部署到config/deploy.rb
期間編寫了我需要完成的所有工作。 看起來我只是在這里寫Rake。 我想知道如果我把這些放在正確的地方,或者如果我可以通過我的部署更加“Capistranorish”,我是否可以得到一些建議。
以下是我在這里做的一些事情。 我寫了幾乎所有我需要部署在這里做的事情。
# 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
如果這就是你所擁有的,那么將它留在deploy.rb
。
如果你真的想在某個地方移動這些任務, Capfile
內容(你可能在項目的根目錄下)應該給你一個提示:
# Load custom tasks from `lib/capistrano/tasks' if you have any defined
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }
所以只需在lib/capistrano/tasks/
創建一個以.rake
結尾的文件就可以了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.