【问题标题】:Is there a way to enable post process actions in a Jenkins multibranch pipeline job?有没有办法在 Jenkins 多分支管道作业中启用后期处理操作?
【发布时间】:2017-11-13 08:54:27
【问题描述】:
我有一个项目使用多分支管道来获取 git 服务器的所有分支,然后构建它。我需要在那里做一些后期构建操作,但由于某种原因,构建中没有可用的后期操作配置。既不在多分支管道中,也不在获取的子项目中。但后期构建配置在正常的 Jenkins 作业中可用。
到目前为止,我知道的唯一方法是调整 Jenkinsfile。但是在 Jenkins 前端做一些工作会很棒。
编辑:我发现的另一种方法是创建一个 Freestyle 项目,当多分支项目中的目标分支成功构建时,该项目将被触发。这里的缺点是项目必须再次运行,因为我无法访问另一个分支的 jar 文件。
有没有办法在这样的工作中添加后期构建步骤?如果有,怎么做?
【问题讨论】:
标签:
git
jenkins
jenkins-pipeline
post-build-event
multibranch-pipeline
【解决方案1】:
Jenkinsfile 背后的主要思想是让您的“基础设施即代码”。因此,您的作业配置(包括构建后步骤)应该在 SCM 中进行版本控制。
将后期构建步骤添加到多分支管道:
node {
try {
stage("Checkout") {
// checkout scm
}
stage("Build & test") {
// build & Unit test
}
} catch (e) {
// fail the build if an exception is thrown
currentBuild.result = "FAILED"
throw e
} finally {
// Post build steps here
/* Success or failure, always run post build steps */
// send email
// publish test results etc etc
}
}
对于您想要的大多数构建后步骤,都有在线示例说明如何以管道格式编写。如果你有任何具体的,请列出来