在阅读了解释Pipeline插件的Jenkins 教程后,似乎插件应该可以实现Post-Build步骤.但是,文档在具体说明方面相当有限.
例如,我想知道如何实现:
- 仅在构建成功时运行
- 仅在构建成功或不稳定时运行
- 无论构建结果如何都运行
仅在构建成功时运行
stage 'build'
... build
... tests
stage 'post-build'
...
Run Code Online (Sandbox Code Playgroud)
(或添加-Dmaven.test.failure.ignore=false到MAVEN_OPTS)
仅在构建成功或不稳定时运行
stage 'build'
... build
try {
... tests
} catch {
...
}
stage 'post-build'
...
Run Code Online (Sandbox Code Playgroud)
(或添加-Dmaven.test.failure.ignore=true到MAVEN_OPTS)
无论构建结果如何运行 - 是否可以使用try / catch / finally?
try {
stage 'build'
...
} catch {
...
} finally {
stage 'post-build'
...
}
Run Code Online (Sandbox Code Playgroud)(我注意到最终的构建状态被设置为SUCCESS,即使某些阶段,即'build'在基于最后阶段设置时失败了.这是否意味着最终构建状态需要明确设置,即currentBuild.result = 'UNSTABLE'?)