我正在使用Jenkins部署和测试我们的软件。 我们的软件具有唯一的内部版本号。
我创建了一个作业“唯一的内部版本号”。这项工作基本上不做任何事情,只是增加内部版本号。
这个想法是,我所有的实际构建作业都会触发唯一的构建编号作业(并且阻塞直到构建编号增量完成)。 这里的挑战是我需要将实际的内部版本号作为参数传递给其他下游作业(我正在使用jenkins参数化的触发器插件)。
我考虑过要使用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
如何从花药詹金斯工作中获得内部版本号。它不一定是一个时髦的解决方案。我完全愿意接受建议:)
答案 0 :(得分:1)
在Groovy Postbuild步骤中,您可以执行以下操作:
def build = manager.build.number
要访问该职位,您可以做
def job - build.parent