1

私はカピストラーノが初めてで、特定の名前空間でタスクの実行順序をどのように制御できるのか疑問に思っていました。

たとえば、デプロイ名前空間に追加のタスクがいくつかあります。deploy:bundle と deploy:assets を deploy:restart の前に実行したかったので、これらの行を追加しました

after 'deploy:update_code', 'deploy:bundle'
after 'deploy:bundle', 'deploy:assets'
after 'deploy:assets', 'deploy:restart'

これがあなたがそれを行うべきかどうかはわかりません。皆さん、何かコツがあれば教えてください!

namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true }
do
    run "touch #{current_path}/tmp/restart.txt"
  end

 task :bundle do
   run "cd #{current_path} && bundle install"
 end

 task :assets do
    run "cd #{current_path} && bundle exec rake assets:precompile"
 end

 end

after 'deploy:update_code', 'deploy:bundle'
after 'deploy:bundle', 'deploy:assets'
after 'deploy:assets', 'deploy:restart'
4

0 に答える 0