如何从另一个人那里调用一个Capistrano任务?
例如:
task :foo do
# stuff
end
task :bar do
# INVOKE :foo
end
答案 0 :(得分:95)
对于记录:在Capistrano 3中,使用invoke()
,例如
desc "Task that does something"
task :do_something do
invoke 'namespace:task'
end
答案 1 :(得分:33)
您可以使用命名空间:
namespace :test do
task :one do
end
task :two do
test.one
#or just directly call it:
one
end
end
请注意您使用的名称不要覆盖某些重要功能。
答案 2 :(得分:5)
通常,您可以通过定义依赖项来执行此操作:
before :bar, :foo
答案 3 :(得分:2)
你也可以使用Rake::Task["namespace:task"].invoke
,这可行
答案 4 :(得分:1)
如果任务位于另一个命名空间中,则可以改为使用find_and_execute_task
。