【问题标题】:env.BUILD_ID Build number - Jenkins pipelineenv.BUILD_ID 内部版本号 - Jenkins 管道
【发布时间】:2019-07-15 19:18:24
【问题描述】:

我们有 Jenkins master 和两个 slave(jenkins agent)。

env.BUILD_ID 给出内部版本号

这个问题的原因是,如果两个 Jenkins 从站构建相同的分支代码,我想知道 BUILD_ID 的值是否相同。


Jenkins master 是否为在任何 slave 上运行的任何作业创建唯一的内部版本号?

内部版本号在从属设备中是唯一的吗?

env.BUILD_ID号码唯一性的范围是什么?跨奴隶...

【问题讨论】:

    标签: jenkins jenkins-pipeline


    【解决方案1】:

    Jenkins Master 创建 BUILD_ID 或 BUILD_NUMBER。它是特定于作业的,不依赖于它正在运行的从属设备的数量。

    【讨论】:

    • 所以...每个作业都有其内部版本号序列。但是,主人生成它。对吗?
    • 是的,主人创造了它。 2 个不同的从站不会有 2 个不同的内部版本号。
    • 两个不同的内部版本号是什么意思?在任何从属设备上运行的每个作业都会有自己的序列,从数字 1 开始。不是吗?这正是每个工作的env.BUILD_ID
    • 内部版本号与内部版本 ID 相同。例如,您有一个具有两个阶段的管道。第 1 阶段在从 A 上构建,第 2 阶段在从 B 上构建。现在,当您第一次触发作业时,您将获得 BUILD_ID = 1,它将在从 A 和 B 上执行两个阶段(1 和 2)。您再次执行作业,您将获得 BUILD_ID = 2 并且两个阶段都将再次执行。
    • 在您的问题中,您提到了两个从站构建相同的分支代码。我认为你开始工作两次。第一次启动 Jenkins 作业时,您的代码构建在 Slave A 上,第二次构建代码时,您的代码构建在 Slave B 上。如果是这种情况,那么您将有两个不同的 BUILD_ID。