我正在寻找一种方法来调用单个Capistrano任务来执行不同角色的不同操作.Capistrano能够做到这一点,还是我为每个角色编写了一个特定的任务?
Sar*_*Mei 17
在Capistrano执行此操作的标准方法:
task :whatever, :roles => [:x, :y, :z] do
x_tasks
y_tasks
z_tasks
end
task :x_tasks, :roles => :x do
#...
end
task :y_tasks, :roles => :y do
#...
end
task :z_tasks, :roles => :z do
#...
end
Run Code Online (Sandbox Code Playgroud)
所以,是的,您确实需要编写单独的任务,但您可以从父任务中调用它们,它们将适当地过滤.
实际上没有:
% cat capfile
server 'localhost', :role2
task :task1, :roles=>:role1 do
puts 'task1'
end
task :task2 do
task1
end
% cap task2
* executing `task2'
* executing `task1'
task1
Run Code Online (Sandbox Code Playgroud)
:roles param进一步传递给run命令等,但似乎并不影响该任务是否实际被触发.
对不起,没有找到评论评论的方式,所以我在这里写了.
| 归档时间: |
|
| 查看次数: |
14304 次 |
| 最近记录: |