0
我有一個任務,其'運行'命令是相同的,除了一個單一的值。這個值將超出潛在值的列表。我想要做的是創建一個任務,使用這個值列表來定義任務,然後在'run'中定義的命令中使用相同的值。關鍵是,以這樣一種方式定義任務是非常好的,我不必爲每個值重複幾乎相同的任務定義。是否可以向Capistrano任務提供字符串列表?
例如:我想要一個任務,它將從我在數組中定義的程序列表中獲取單個程序的狀態。我想定義的任務是這樣的:
set programs = %w["postfix", "nginx", "pgpool"]
programs.each do |program|
desc "#{program} status"
task :#{program} do
run "/etc/init.d/#{program} status"
end
end
這顯然是不行的,但希望它說明了什麼,我試圖在這裏。
想法?