2011-08-08 20 views
6

बेवकूफ सवाल लेकिन हमें एक टूटी कैपिस्ट्रानो रेसिपी मिली है और मैं यह सत्यापित करना चाहता हूं कि हम after & before गलत तरीके से उपयोग नहीं कर रहे हैं?कैपिस्ट्रानो रेसिपी में "पहले" और "बाद" कहां रखा जाए?

से पहले :deploy नामस्थान ब्लॉक या इसके बाहर के कार्यों के बाद इन्हें करें? मैं here दोनों के उदाहरण देखता हूं।

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 

उत्तर

4

मैं एक सेटअप करने के लिए समान का उपयोग करें::

after :deploy, "deploy:update_code", "deploy:pipeline_precompile" 
before :deploy, "deploy:finalize_update", "deploy:copy_database_config" 

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 
end 

यह समस्याग्रस्त deploy.rb से एक अंश है

संबंधित मुद्दे