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