Jenkins groovy 管道 - 检索构建作业的构建号

标签 jenkins groovy jenkins-pipeline

我有一个管道,我的团队正在使用它来启动云虚拟机并向它们部署软件堆栈。这个过程的一部分是从他们选择的构建中捆绑工件。现在,我只是获取列出的作业的最后一次成功,但我遇到了在管道可以创建其捆绑包之前在另一个进程中再次构建该作业的问题,使捆绑包获取了使用错误依赖项构建的工件。

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"
}

有什么方法可以更改我的简单构建作业方法以提取触发的实际构建编号?管道控制台打印创建的内部版本号,我只是不确定如何在我的常规代码中获取它。
[Pipeline] build (Building tms-auto-build)
Scheduling project: tms-auto-build
Starting building: tms-auto-build #298

最佳答案

这实际上是一种没有脑子的事情。如果我只是设置 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()

关于Jenkins groovy 管道 - 检索构建作业的构建号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39170144/

相关文章:

jenkins - 向 Jenkins 添加奴隶

java - Jenkinsfile 写入 JSON 文件

grails - 连接到 Active Directory 并搜索用户

groovy - 如何测试 bean 属性是否可写?

Jenkins 作业等待多个开放执行器插槽

java - 使用 Jenkins 在构建时修改 web.xml 中的 <display-name>

groovy - 使用geb保存当前网址

java - 如何在文件夹级别读取 Jenkins 凭据

jenkins - 当其中一个阶段中止时如何标记构建成功?

Jenkins 管道 currentBuild.changeSets 和检索每个存储库的电子邮件