Подтвердить что ты не робот

Как вызвать одну задачу Capistrano у другого?

Как мне вызвать одну задачу Capistrano из другого?

Например:

task :foo do
  # stuff
end

task :bar do
  # INVOKE :foo
end
4b9b3361

Ответ 1

Вы можете сделать это, используя пространство имен:

namespace :test do
  task :one do
  end
  task :two do
    test.one
    #or just directly call it:
    one
  end
end

Просто будьте осторожны с именем, которое вы используете, чтобы не перезаписывать важную функцию.

Ответ 3

Как правило, вы делаете это, определяя зависимости:

before :bar, :foo

Ответ 4

вы также можете использовать Rake::Task["namespace:task"].invoke, это работает

Ответ 5

Если задача находится в другом пространстве имен, вы можете использовать find_and_execute_task.