首页 > 解决方案 > 从下游作业获取内部版本号

问题描述

我正在使用 Jenkins 来部署和测试我们的软件。我们的软件具有唯一的内部版本号。

我创建了一个工作“唯一内部版本号”。这项工作基本上什么都不做,只是增加内部版本号。

这个想法是我所有的实际构建作业都会触发唯一的内部版本号作业(并阻止直到内部版本号增量完成)。这里的挑战是我需要将实际的内部版本号作为参数传递给一些进一步的下游作业(我正在使用 jenkins 参数化触发器插件)。

我考虑过使用 groovy 脚本提取实际的内部版本号。我试图执行这个 groovy 脚本

import jenkins.model.Jenkins

def jobname = "unique_build_number"
def job = Jenkins.instance.getItemByFullName(jobname)
def build = job.getLastBuild()

但这总是给我

java.io.IOException: Cannot run program "groovy" (in directory "/Users/ci-slave/jenkins/workspace/Test_Get_Build_Number"): error=2, No such file or directory

您如何从花药詹金斯工作中获得内部版本号。它不一定是一个时髦的解决方案。我完全愿意接受建议:)

标签: jenkinsgroovy

解决方案


在 Groovy Postbuild Step 中,您可以执行以下操作:

def build = manager.build.number

为了访问你可以做的工作

def job - build.parent

推荐阅读