Как вызвать одну задачу Capistrano у другого? Как мне вызвать одну задачу Capistrano из другого? Например: task :foo do # stuff end task :bar do # INVOKE :foo end Ответ 1 Вы можете сделать это, используя пространство имен: namespace :test do task :one do end task :two do test.one #or just directly call it: one end end Просто будьте осторожны с именем, которое вы используете, чтобы не перезаписывать важную функцию. Ответ 2 Для записи: в Capistrano 3 используйте invoke(), например. desc "Task that does something" task :do_something do invoke 'namespace:task' end Подробнее в https://github.com/capistrano/capistrano#before--after Ответ 3 Как правило, вы делаете это, определяя зависимости: before :bar, :foo Ответ 4 вы также можете использовать Rake::Task["namespace:task"].invoke, это работает Ответ 5 Если задача находится в другом пространстве имен, вы можете использовать find_and_execute_task.
Ответ 1 Вы можете сделать это, используя пространство имен: namespace :test do task :one do end task :two do test.one #or just directly call it: one end end Просто будьте осторожны с именем, которое вы используете, чтобы не перезаписывать важную функцию.
Ответ 2 Для записи: в Capistrano 3 используйте invoke(), например. desc "Task that does something" task :do_something do invoke 'namespace:task' end Подробнее в https://github.com/capistrano/capistrano#before--after
Ответ 5 Если задача находится в другом пространстве имен, вы можете использовать find_and_execute_task.