Bir Capistrano görevini diğerinden nasıl çağırırım? ÖrneğinBir Capistrano görevini diğerinden nasıl çağırırım?
:
before :bar, :foo
Bir Capistrano görevini diğerinden nasıl çağırırım? ÖrneğinBir Capistrano görevini diğerinden nasıl çağırırım?
:
before :bar, :foo
Sen ad kullanarak bunu yapabilirsiniz:
Genellikletask :foo do
# stuff
end
task :bar do
# INVOKE :foo
end
Eğer tanımlayarak bağımlılıkları bunu
namespace :test do
task :one do
end
task :two do
test.one
#or just directly call it:
one
end
end
Sadece adıyla dikkatli olun Bazı önemli işlevlerin üzerine yazmamak için kullanırsınız.
Kayıt için: Capistrano 3'te invoke()
kullanın, örn. Görev başka ad yaşıyorsa https://github.com/capistrano/capistrano#before--after
sadece bir not: 'invoke' doğrudan 'görev',' '' '' '' içi' ya da diğer blokların içinde olmalıdır. aksi halde işe yaramaz. –
Bir görevi başka bir görev bloğu içinde nasıl yeniden kullanırsınız? – kaizenCoder
@aspiringCodeArtisan, kullanım durumlarından biri, küçük bir dizi için genel görev oluşturuyor. –
de
desc "Task that does something"
task :do_something do
invoke 'namespace:task'
end
Daha, bunun yerine find_and_execute_task
kullanabilirsiniz.
Ayrıca Rake::Task["namespace:task"].invoke
kullanabilirsiniz, bu çalışır
Peki neden bu işe yaramaz?'görevi: d,: roles => [: app] son dağıtımı aç ' –
Bir yan not: Bu adla varolan bir Capistrano yöntemini gölgelediği için' test 'ad alanını kullanmamalısınız. Bir 'ArgumentError' yükseltilmiş olsun. –
evet bunun için üzgünüm, bu sadece bir örnek, daha anlamlı bir isim alanı seçeceğine inanıyorum. – mpapis