跨 Jenkins 多分支(管道)构建共享构建增量

D P*_*D P 5 jenkins jenkins-pipeline

我希望有人可以帮助 Jenkins 中的想法在多台构建机器上跨多分支管道共享构建增量。查看类似的问题,我没有看到比时间戳而不是内部版本号更好的东西,但这并不是我们想要的。

我使用 Jenkinsfiles 来定义多个管道,然后使用“multibranch”在所有分支中实例化它们。目前,这些只是调用共享的自由泳作业来实施阶段。每个管道都调用相同的作业来跨构建机器池进行构建,因此我们可以使用该构建编号来增加版本。例如,我有几个分支正在开发 v1.2,每个分支都有一个 CI、Nightly 和 Release 管道。它们都调用相同的构建子作业,因此您可能让 CI/BranchA 在 buildVM1 上运行子作业 #503,因此版本字符串为 1.2.503,然后 Nightly/BranchB 将在 buildVM2 上运行子作业 #504,因此将有版本字符串 1.2.504。只要我调用相同的构建子作业,这就会很好用。

下一步是将构建实现为 Jenkinsfile 管道的一部分,但随后我失去了方便的构建增量。如何在定义相同主要.次要版本的所有分支中为该组件定义共享构建增量?

时间戳有点笨拙,因为多个分支/团队/构建机器意味着我需要几秒钟。我真的需要像 1.2.20180118165007 这样的版本吗?必须有更好的方法。

我还能怎么办?