Jenkins groovy管道 - 检索已构建作业的内部版本号

时间:2016-08-26 15:49:28

标签: jenkins groovy jenkins-pipeline

我的团队正在使用一个管道来启动云VM并为其部署软件堆栈。此过程的一部分是将工件与他们选择的构建捆绑在一起。现在我只是抓住上面列出的工作的最后成功,但是我已经遇到了在管道可以创建其捆绑包之前在另一个进程中再次构建该工作的问题,使得捆绑包抓住了使用错误的依赖关系构建的工件。

def DeployModule(jobName, jobBranch, serverHostName, database){
build job: jobName, parameters: [[$class: 'StringParameterValue', name: 'Branch', value: jobBranch], [$class: 'StringParameterValue', name: 'DatabaseAction', value: database], [$class: 'StringParameterValue', name: 'Profile', value: serverHostName]]
println "$jobName Succesfull"
}

有没有办法改变我的简单构建作业方法来取出触发的实际构建号?管道控制台打印创建的构建号,我不知道如何在我的groovy代码中获取它。

[Pipeline] build (Building tms-auto-build)
Scheduling project: tms-auto-build
Starting building: tms-auto-build #298

1 个答案:

答案 0 :(得分:13)

这实际上是没有道理的。如果我只是将build job: jobName设置为变量,那么该变量就是RunWrapper

https://github.com/jenkinsci/pipeline-plugin/blob/d3f66c6f04d1d979957f02819b19291e2c35e276/support/src/main/java/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.java

RunWrapper作为一个完美的.getNumber()

def testing = build job: "tms-auto-build"
println testing.getNumber()