在脚本化管道中将Jenkins阶段标记为失败
我从工作流中的阶段开始,如下所示:在脚本化管道中将Jenkins阶段标记为失败,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我从工作流中的阶段开始,如下所示: try{ stage('Example_1'){ bat "${PYTHON} script_1.py" } } catch(e){ build_ok = false } try{ stage('Example_2'){ if(build_ok){ bat "${PYTHON} script_2.py" } } } catch(e){ bui
try{
stage('Example_1'){
bat "${PYTHON} script_1.py"
}
}
catch(e){
build_ok = false
}
try{
stage('Example_2'){
if(build_ok){
bat "${PYTHON} script_2.py"
}
}
}
catch(e){
build_ok = false
}
stage('Cleanup'){
bat "${PYTHON} script_1.py"
}
如果脚本引发异常,此阶段将标记为失败(GUI中为红色),但由于catch
,管道将继续执行。(这是需要的,因为后面的清理阶段。其他步骤不会运行,因为它们由if(build\u ok)
保护)。这样行
但是现在我需要Python脚本中的exitcode。这可以通过以下方式实现:
stage('Example_1'){
exitcode = bat script: "${PYTHON} script_1.py", returnStatus: true
}
本文件的工作方式如下:
returnStatus:通常,带有非零状态代码的脚本将导致步骤失败并出现异常。如果选中此选项,步骤的返回值将改为状态代码。例如,您可以将其与零进行比较
我知道如何将整个构建标记为失败(currentBuild.result='FAILURE'
),但我也需要将阶段标记为失败
那么,如果返回的exitcode指示该阶段失败,如何将该阶段标记为失败?(并非所有非零exitcode都表示失败。)