Smx*_*Cde 0 bash shell scripting continuous-integration automation
在nodejs项目中,我有一个yarn lint以这种方式运行几个短接的快捷方式:
lint_1 && lint_2 && lint_3
Run Code Online (Sandbox Code Playgroud)
如果其中任何一个发现错误,则返回错误代码,因此结果yarn lint本身会返回错误代码,因此构建失败.
虽然存在一个小问题,但它可以正常工作,捕获所有错误:如果一个linter失败并显示错误代码 - 其余的linters将不会被执行.
我想要的 - 执行所有这些(所以他们都打印所有错误),然后才失败.
我知道我可以创建一个bash脚本(我将运行yarn lint),逐个运行每个linters收集返回码,然后检查是否有任何代码非零 - exit 1并且它将失败yarn lint.但我想知道有更优雅的方式吗?
你可以陷阱ERR并设置一个标志.如果其中任何一个失败,这将运行每个短节并退出失败:
#!/bin/bash
result=0
trap 'result=1' ERR
lint_1
lint_2
lint_3
exit "$result"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |