2009-10-08 26 views
12

Dağıtımı çalıştırmadan önce bazı işlemleri durdurmak istiyorum: görevi değiştir. Dağıtımı yeniden tanımlayabildiğimi biliyorum: mevcut kodu kopyalayarak ve görevin başında ve sonunda durdur/başlat adımlarını ekleyerek görevi değiştir.Bir capistrano görevine nasıl bazı adımlar eklersiniz?

Kodu varsayılan dağıtımdan kopyalamaktan kaçınmanın bir yolu olup olmadığını merak ediyorum: Görevimi görevimin sürümüne taşı. Mevcut dağıtıma başvurmanın bir yolu var mı: aynı adda yeni bir görev tanımlarken görevi mi taşıyorsunuz?

cevap

21

deploy:migrate yeniden tanımlamak yerine, bunun için önce veya sonra bir kanca tanımlamanız gerekir.

before "deploy:migrate", :custom_name 
after "deploy:migrate", :custom_name 
+0

Teşekkür mevcut görevi geçersiz, yani tam olarak ne ihtiyaç var – Readonly

0
: Aşağıdakilerden birini yaparak önce veya deploy:migrate görev sonrasında çalıştırılacak

task :custom_name do 
    # whatever you need to do 
end 

Ve sonra bu yeni görev ayarlayın: İlk olarak, malzeme yapmanız gereken gelmez yeni bir görev oluşturmak benim gereksinimleri için

, ben deploy.rb içinde

namespace :deploy do 
    # to Override deploy:migrate task 
    task :precompile, :roles => :app, :except => { :no_release => true } do 
    run "your modified commands" 
    end 
    # to override deploy:assets:precompile task 
    namespace :assets do 
    task :precompile, :roles => :app, :except => { :no_release => true } do 
     run "your modified commands" 
    end 
    end 
end 
İlgili konular