Comment puis-je appeler une tâche capistrano d'une autre?
Par exemple:
task :foo do
# stuff
end
task :bar do
# INVOKE :foo
end
Vous pouvez le faire en utilisant l'espace de noms:
namespace :test do
task :one do
end
task :two do
test.one
#or just directly call it:
one
end
end
Soyez juste prudent avec le nom que vous utilisez pour ne pas écraser une fonction importante.
Pour l'enregistrement: Dans le Capistrano 3, utilisez invoke()
, par exemple.
desc "Task that does something"
task :do_something do
invoke 'namespace:task'
end
Plus à - https://github.com/capistrano/capistrano#befrever-adiver
Généralement, vous le faites en définissant des dépendances:
before :bar, :foo
vous pourriez également utiliser Rake::Task["namespace:task"].invoke
, cela marche
Si la tâche vit dans un autre espace de noms, vous pouvez utiliser find_and_execute_task
au lieu.