Capistrano在失败时运行本地命令退出

时间:2012-03-08 21:55:39

标签: capistrano

我想运行本地命令并在任何命令失败时退出。什么是使用capistrano做到这一点的最好方法? run_locally将继续失败。

我是否必须每次检查最后的命令存在状态(或创建自定义运行本地功能)?

2 个答案:

答案 0 :(得分:2)

我必须像这样创建自己的函数:

task :build_backend do
  run_local("echo hello")
  run_local("abcdef")
  run_local("echo 'not run'")
end

def run_local(cmd)
  system cmd
  if($?.exitstatus != 0) then
    puts 'exit code: ' + $?.exitstatus.to_s
    exit
  end
end

使用this

答案 1 :(得分:0)

通常在shell中,您可以按command1 --some-argument foo && command2 && command3的方式运行多个命令。 &&运算符将导致当一个命令失败时链将停止(返回非零返回值)。