我需要在多个阶段触发Automation Suite,并在一个测试摘要报告中汇总测试结果。
我配置了一个Jenkins Multi Job以触发我的自动化套件,该套件分为多个块,例如套件#1,套件#2,套件#3,套件#4(每个套件是一个maven作业)分为两个阶段。
阶段#1是一个多工作,套件#1,套件#2并行运行,阶段#2是另一个多工作,套件#3和套件#4。阶段按顺序运行。
在我的套件#1工作中,我无法获得父版本ID。将结果链接回父级需要这样做。
例如:父作业 - 内部编号为PB_001, 分配到自定义变量myBuildNumber = PB_ $ BUILD_NUMBER 阶段1: 套房#1内部编号101 Suite#1内部版本号201 阶段2: Suite#1内部版本号301 Suite#1内部版本号401
当我尝试访问myBuildNumber时,它会提供当前作业内部版本号,即PB_101而不是父作业中保留的内容。
请建议这是否可以实现?我尝试使用参数插件/预定义参数仍然无法获得父版本号。
谢谢你
答案 0 :(得分:0)
我正在使用此方法将构建ID从父多作业传递到子作业:
在父作业中,添加一个“执行Shell”构建步骤,将$ {BUILD_ID}保存到文件中,如下所示:
cat > build.properties << _EOF_
PARENT_BUILD_ID=${BUILD_ID}
_EOF_
对于“MultiJob Phase” - &gt; “阶段作业”,添加子作业并单击“添加参数”,然后选择“属性文件中的参数”。输入“build.properties”作为文件名。
确保“执行shell”构建步骤在“Multijob”构建步骤之前。 现在,子作业将在$ {PARENT_BUILD_ID}中将父构建ID作为变量。
请注意,步骤(1)适用于Unix构建从属服务器;您可能需要相应地为Windows奴隶更改它。