基于capistrano中任务内部的角色执行命令

时间:2016-08-01 22:06:41

标签: ruby jenkins capistrano

我有一个伪如下

task :my_task, roles => [:role1, :role2] do
    command 1
    command 2
    command 3
    command 4
end

我想要运行命令1&命令2,仅用于role1,命令3&命令4,用于role2。在卡皮斯特拉诺这可能吗?

我试过了,

task :my_task, roles => [:role1, :role2] do
    on roles(:role1) do
        command 1
        command 2
    end

    on roles(:role2) do
        command 3
        command 4
    end
end

但似乎没有为我工作..请帮助:)

Btwn,我正在使用Capistrano v2.15.5

提前致谢

1 个答案:

答案 0 :(得分:0)

这可能不是解决问题的好方法..但这就是我能做到的,而且对我有用。

task :my_task do
    task_1
    task_2
end
task :task_1, :roles => [:role1] do
    command 1
    command 2
end
task :task_2, :roles => [:role2] do
    command 3
    command 4
end