2

さまざまなタスクを持つ名前空間があります。

名前空間:mytest do
  タスク:setup do; ... 終わり;
  task:task1 do; ... 終わり;
  task:task2 do; ... 終わり;
終わり

cap mytestを実行すると、タスク「バックアップ」が存在しません

すべてのタスクを呼び出すコマンドを作成するにはどうすればよいですか?

4

2 に答える 2

3
タスク : デフォルトの do
  設定
  タスク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 に答える