fhc*_*cat 3 jenkins jenkins-pipeline
这是一个问题,因为我们有一个可执行文件返回 2 作为警告。我们不想因为这个而导致 Jenkins 构建管道失败。我们如何修改管道以接受退出代码2,并根据退出代码打印出合理的警告消息?
D:\Stage>c:\bin\mycommand
script returned exit code 2
Run Code Online (Sandbox Code Playgroud)
当您运行sh或bat在 Jenkins 管道中运行时,对于任何非零退出代码,它总是会导致构建失败(并引发异常),并且无法更改。
您可以做的是使用sh 步骤returnStatus(或 cmd),它将返回脚本的退出代码而不是使构建失败,然后您可以使用类似以下内容的内容:
pipeline {
agent any
stages {
stage('Run Script') {
steps {
script {
def exitCode = sh script: 'mycommand', returnStatus: true
if (exitCode == 2) {
// do something
}
else if (exitCode){
// other non-zero exit codes
}
else {
// exit code 0
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这种方法的唯一缺点是returnStatus不能与 一起使用returnStdout,因此如果您需要获取返回的输出,则需要以其他方式获取它(例如写入文件然后读取它)。
| 归档时间: |
|
| 查看次数: |
5127 次 |
| 最近记录: |