try { sh 'revive -config revive.toml ./...' } catch (Exception e) { currentBuild.result = 'FAILURE' error("revive 代码校验未通过,终止流水线") } 不能终止流水线 完成的流水线脚本
时间: 2024-02-21 15:01:20 浏览: 214
Introduction-To-HTC-Vive-Final-Unity5.5.1.zip
根据您提供的信息,可能是因为 `sh` 命令返回的退出码不是非零值,导致 Jenkins 不认为此次执行是失败的。您可以尝试使用 `returnStatus` 参数来获取命令的退出码,并根据退出码来判断是否终止流水线,具体步骤如下:
```
def reviveResult = sh(returnStatus: true, script: 'revive -config revive.toml ./...')
if (reviveResult != 0) {
currentBuild.result = 'FAILURE'
error("revive 代码校验未通过,终止流水线")
}
```
这里使用 `sh` 命令的 `returnStatus` 参数来获取命令的退出码,然后使用 `if` 语句判断退出码是否为非零值。如果退出码为非零值,则将当前流水线的结果设置为 FAILURE,并使用 `error` 函数抛出异常信息,以便在 Jenkins 控制台中显示错误信息。
请注意,这里使用的是 `def` 关键字来定义一个变量 `reviveResult`,以便在后续的判断语句中使用。
阅读全文