我正在使用Jenkins进行测试/构建,因此我使用此配置创建了一个MultiJob项目:
测试工作
建立工作
安装工作
MultiJob是从Master Jenkins启动的,但其他工作是从其他节点启动的.Build Job执行一个创建BUILD_ID的shell脚本.现在,我希望将BUILD_ID作为参数传递给Install Job.我怎样才能做到这一点?我唯一的选择是使用属性文件?
非常感谢
您可以在多作业阶段BUILD_ID
使用“ 预定义参数”选项来传递参数。
步骤如下:
通过单击您的多作业的“ 配置”链接转到“配置”页面
单击要传递参数的作业的“ 高级”按钮;
单击添加参数,选择预定义参数。然后创建您自己选择的参数名称并将其分配BUILD_ID
给它;
通过启用要在其中接收定义的参数的下游作业中的“ 此构建为参数化”选项来创建相同的参数。然后,您可以在脚本中使用相同的代码
该问题询问如何在MultiJob项目的作业之间传递值,而不是参数化触发器.参数化触发器可能不是一个好的解决方案,因为下游作业将在MultiJob父级的范围之外执行.要在MultiJob子作业之间传递变量,
将变量写入第一个子作业中的属性文件
"将工件存档"作为第一个子作业中的构建后操作
在第一个和第二个子作业之间插入"从另一个项目复制工件"构建.将Project Name设置为您的第一个子作业的名称,以及将Build构建为"由当前MultiJob构建触发的构建".在"要复制的工件"中添加属性文件.
在第二个子作业中,在"高级..."下,从属性文件中添加参数 - >参数,然后在那里输入属性文件名.您的第二阶段现在将从第一阶段传递变量.