如何在 MultiJob 中访问 jenkins 父作业构建 ID?
How to access jenkins parent job build id in a MultiJob?
我需要在多个阶段触发 Automation Suite,并在单个测试总结报告中总结测试结果。
我配置了一个 Jenkins Multi Job 来触发我的自动化套件,它被分成多个块,比如 suite#1、suite#2、suite#3、suite#4(每个套件都是一个 maven 作业)分成 2阶段。
Phase#1 是一个同时具有 suite#1、suite#2 运行 的多作业,而 Phase#2 是另一个具有 suite#3 和 suite#4 的多作业。而阶段 运行 按顺序排列。
我在 suite#1 作业中获取父构建 ID 时遇到问题。这是将结果链接回父级所必需的。
例如:父作业 - 内部版本号是 PB_001,
分配给自定义变量 myBuildNumber=PB_$BUILD_NUMBER
阶段1:
套件 #1 内部版本号 101
套件 #1 内部版本号 201
阶段2:
套件 #1 内部版本号 301
套件 #1 内部版本号 401
每当我尝试访问 myBuildNumber 时,它都会提供当前作业的内部版本号,即 PB_101 而不是保留在父作业中的内部版本号。
请建议这是否可以实现?我尝试使用参数 Plugin/Pre 定义的参数仍然无法获得父版本号。
谢谢
我正在使用此方法将构建 ID 从父多作业传递到子作业:
在父作业中,添加一个 "Execute Shell" 构建步骤,将 ${BUILD_ID} 保存到文件中,如下所示:
cat > build.properties << _EOF_
PARENT_BUILD_ID=${BUILD_ID}
_EOF_
对于 "MultiJob Phase" -> "Phase Jobs",添加子作业并单击 "Add Parameters",然后 select "Parameters from properties file"。输入 "build.properties" 作为文件名。
确保 "execute shell" 构建步骤在 "Multijob" 构建步骤之前。
现在子作业将获取父构建 ID 作为 ${PARENT_BUILD_ID} 中的变量。
请注意,步骤 (1) 适用于 Unix 构建从站;您可能需要为 Windows 个奴隶相应地更改它。
我需要在多个阶段触发 Automation Suite,并在单个测试总结报告中总结测试结果。
我配置了一个 Jenkins Multi Job 来触发我的自动化套件,它被分成多个块,比如 suite#1、suite#2、suite#3、suite#4(每个套件都是一个 maven 作业)分成 2阶段。
Phase#1 是一个同时具有 suite#1、suite#2 运行 的多作业,而 Phase#2 是另一个具有 suite#3 和 suite#4 的多作业。而阶段 运行 按顺序排列。
我在 suite#1 作业中获取父构建 ID 时遇到问题。这是将结果链接回父级所必需的。
例如:父作业 - 内部版本号是 PB_001, 分配给自定义变量 myBuildNumber=PB_$BUILD_NUMBER 阶段1: 套件 #1 内部版本号 101 套件 #1 内部版本号 201 阶段2: 套件 #1 内部版本号 301 套件 #1 内部版本号 401
每当我尝试访问 myBuildNumber 时,它都会提供当前作业的内部版本号,即 PB_101 而不是保留在父作业中的内部版本号。
请建议这是否可以实现?我尝试使用参数 Plugin/Pre 定义的参数仍然无法获得父版本号。
谢谢
我正在使用此方法将构建 ID 从父多作业传递到子作业:
在父作业中,添加一个 "Execute Shell" 构建步骤,将 ${BUILD_ID} 保存到文件中,如下所示:
cat > build.properties << _EOF_ PARENT_BUILD_ID=${BUILD_ID} _EOF_
对于 "MultiJob Phase" -> "Phase Jobs",添加子作业并单击 "Add Parameters",然后 select "Parameters from properties file"。输入 "build.properties" 作为文件名。
确保 "execute shell" 构建步骤在 "Multijob" 构建步骤之前。 现在子作业将获取父构建 ID 作为 ${PARENT_BUILD_ID} 中的变量。
请注意,步骤 (1) 适用于 Unix 构建从站;您可能需要为 Windows 个奴隶相应地更改它。