Capistranoタスクを別のタスクから呼び出すにはどうすればよいですか?
例えば:
task :foo do
# stuff
end
task :bar do
# INVOKE :foo
end
名前空間を使用してそれを行うことができます:
namespace :test do
task :one do
end
task :two do
test.one
#or just directly call it:
one
end
end
重要な機能を上書きしないように、使用する名前に注意してください。
記録について:Capistrano 3では、invoke()
を使用します。
desc "Task that does something"
task :do_something do
invoke 'namespace:task'
end
一般的には、依存関係を定義することでこれを行います。
before :bar, :foo
Rake::Task["namespace:task"].invoke
を使用することもできます。これは機能します
タスクが別の名前空間にある場合は、代わりにfind_and_execute_task
を使用できます。