所有命名空間的任務我有不同的任務命名空間:運行與Capistrano的
namespace :mytest do task :setup do; ... end; task :task1 do; ... end; task :task2 do; ... end; end
當我運行帽mytest的我得到任務'備份」不存在。
如何創建一個調用所有任務的命令?
所有命名空間的任務我有不同的任務命名空間:運行與Capistrano的
namespace :mytest do task :setup do; ... end; task :task1 do; ... end; task :task2 do; ... end; end
當我運行帽mytest的我得到任務'備份」不存在。
如何創建一個調用所有任務的命令?
task :default do setup task1 task2 end
在一個項目中,我發現自己經常需要調用給定名稱空間中的所有任務。這是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
該方法將按照它們定義的順序運行任務。與任何類型的猴子補丁\ hack一樣,請謹慎使用此方法!