我们正在为构建管理环境从VSoft Continua CI切换到Jenkins。由于我们使用了一个稍微修改过的Gitflow流程,我们希望Jenkins能够从任何特性、版本或热修复分支和pull请求进行构建,因此我们决定使用Jenkins管道。
版本和修补程序分支生成的版本号基于分支名称(例如release/2.1.0),而任何其他分支或请求的生成基于日期(例如2018年9月6日解析为18.9.6)。Continua CI在所有构建配置中提供了一个自动递增的构建编号,这就是为什么我们将此构建编号用作构建编号的最终部分(例如2.1.0.10、18.9.6.11、2.1.0.12…)。此生成的版本号作为参数传递给MSBuild,使用此版本号作为.NET二进制文件的文件版本和程序集版本。
我在詹金斯寻找类似的解决方案。Jenkins管道为每个分支和pull请求分配一个单独的自动递增的内部版本号,这可能导致来自不同分支的两个内部版本具有相同的版本。我已经尝试使用全局环境变量来存储版本,并在每次构建时增加值,但似乎无法从管道任务设置全局环境变量。
Jenkins管道项目有没有办法在所有分支/拉请求之间共享一个内部版本号?