2

我有一个具有不同任务的命名空间:

命名空间 :mytest 做
  任务:设置做;... 结尾;
  任务:task1 做;... 结尾;
  任务:task2 做;... 结尾;
结尾

当我运行cap mytest时,我得到任务 `backup' does not exist

如何创建一个调用所有任务的命令?

4

2 回答 2

3
任务:默认做
  设置
  任务1
  任务2
结尾
于 2009-08-19T14:41:22.560 回答
0

在一个项目中,我发现自己经常需要调用给定命名空间中的所有任务。这是一个简单的猴子补丁Namespace,将添加一个run_all_tasks方法。该方法采用一个可选except数组,它应该是要排除的任务名称(作为符号)的列表。

module Capistrano
  class Configuration
    module Namespaces
      class Namespace

        def run_all_tasks(except = [])
          except << :all

          self.task_list(false).each do |task|
            task.body.call unless except.include?(task.name)
          end
        end

      end
    end
  end
end

该方法将按照定义的顺序运行任务。与任何类型的猴子补丁\黑客一样,请谨慎使用此方法!

于 2012-06-07T01:58:06.670 回答