所有命名空间的任务我有不同的任务命名空间:运行与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一样,请谨慎使用此方法!