我确实有开发团队的要求来设置构建系统,因此每个构建都将具有所有分支的唯一构建号。
构建是由詹金斯使用每个分支的作业进行的。
有一个 jenkins 插件可以为工作设置下一个版本号,但这有点没用,至少有两个原因:
- 它将为单个作业设置内部版本号,您无法知道如何为所有分支设置它,因为它们可以随时删除或添加
- 它没有为当前构建设置它
我们如何获得内部版本号:我们使用 git/mercurial 中的分支名称和修订号进行 HTTP 调用。基于此,集中式服务器向我们提供了一个内部版本号作为响应。如果您使用相同的参数调用它两次,您将得到相同的响应(期望的行为)。
现在,我们如何调整 jenkins 以使用与我们相同的内部版本号?显然我可以使用从脚本返回的内部版本号,但是作业号会有所不同,我怀疑詹金斯会知道我在脚本中触及了 BUILD_NUMBER 变量。
主要是,我需要的是某种可以运行的作业启动前脚本,它会在将内部版本号分配给作业之前运行。