【发布时间】:2011-08-08 16:42:55
【问题描述】:
愚蠢的问题,但我们有一个损坏的 Capistrano 配方,我想确认我们没有错误地使用 after 和 before?
这些之前和之后的任务是属于 :deploy 命名空间块还是在它之外?我看到了here 的例子。
这是有问题的 deploy.rb 的摘录:
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
# copy database.yml into project
task :copy_database_config do
production_db_config = "/Library/RoRconfig/#{application}.yml"
run "cp #{production_db_config} #{current_release}/config/database.yml"
`puts "replaced database.yml with live copy"`
end
task :pipeline_precompile do
run "cd #{release_path}; RAILS_ENV=production rake assets:precompile"
end
after "deploy:update_code", "deploy:pipeline_precompile" ### <---
before "deploy:finalize_update", "deploy:copy_database_config" ### <---
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 capistrano