我有一个具有不同任务的命名空间:
命名空间 :mytest 做 任务:设置做;... 结尾; 任务:task1 做;... 结尾; 任务:task2 做;... 结尾; 结尾
当我运行cap mytest时,我得到任务 `backup' does not exist。
如何创建一个调用所有任务的命令?
我有一个具有不同任务的命名空间:
命名空间 :mytest 做 任务:设置做;... 结尾; 任务:task1 做;... 结尾; 任务:task2 做;... 结尾; 结尾
当我运行cap mytest时,我得到任务 `backup' does not exist。
如何创建一个调用所有任务的命令?
任务:默认做 设置 任务1 任务2 结尾
在一个项目中,我发现自己经常需要调用给定命名空间中的所有任务。这是一个简单的猴子补丁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
该方法将按照定义的顺序运行任务。与任何类型的猴子补丁\黑客一样,请谨慎使用此方法!