我想運行本地命令並在任何命令失敗時退出。與capistrano做這件事的最好方法是什麼? run_locally將繼續失敗。Capistrano在失敗時運行本地命令退出
我是否必須每次檢查最後一個命令的存在狀態(或創建一個自定義運行本地功能)?
我想運行本地命令並在任何命令失敗時退出。與capistrano做這件事的最好方法是什麼? run_locally將繼續失敗。Capistrano在失敗時運行本地命令退出
我是否必須每次檢查最後一個命令的存在狀態(或創建一個自定義運行本地功能)?
通常在shell中,您可以通過command1 --some-argument foo && command2 && command3
以您想要的方式運行多個命令。 &&
運算符將會導致當一個命令失敗時鏈將停止(返回非零返回值)。
我要創建我自己的函數是這樣的:
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