我想运行本地命令并在任何命令失败时退出。什么是使用capistrano做到这一点的最好方法? run_locally将继续失败。
我是否必须每次检查最后的命令存在状态(或创建自定义运行本地功能)?
答案 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
的方式运行多个命令。 &&
运算符将导致当一个命令失败时链将停止(返回非零返回值)。