Jenkins:在 MultiJob 中共享变量

标签 jenkins parameter-passing

我使用 Jenkins 进行测试/构建,因此我使用以下配置创建了一个 MultiJob 项目:

  1. 测试作业
  2. 建立工作
  3. 安装作业

MultiJob是从Master Jenkins启动的,但其他作业是从其他节点启动的。 构建作业执行创建 BUILD_ID 的 shell 脚本。 现在,我希望将 BUILD_ID 作为参数传递给安装作业。 我怎样才能做到这一点?我唯一的选择是使用属性文件?

非常感谢

最佳答案

问题询问如何在 MultiJob 项目的作业之间传递值,而不是参数化触发器。参数化触发器可能不是一个好的解决方案,因为下游作业将在 MultiJob 父级的范围之外执行。要在 MultiJob 子作业之间传递变量,

  1. 将变量写入第一个子作业中的属性文件
  2. “归档工件”作为第一个子作业中的构建后操作
  3. 在第一个和第二个子作业之间,插入“从另一个项目复制工件”构建。将“项目名称”设置为第一个子作业的名称,将“哪个构建”设置为“由当前多作业构建触发的构建”。在“要复制的工件”中添加您的属性文件。
  4. 在第二个子作业中的“高级...”下,添加参数 -> 来自属性文件的参数,然后在其中输入属性文件名。您的第二阶段现在将具有从第一阶段传递的变量。

关于Jenkins:在 MultiJob 中共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25929774/

相关文章:

parameters - 在 Jenkins/Hudson 中当前打开的工作的显示名称

git - 检测 jenkins 上的测试失败

jenkins - 如何在Jenkins中获取Docker的容器ID

jenkins - 如何操作 Jenkins 管道作业的构建结果(返回 'SUCCESS' )?

ant - Jenkins - 在另一份工作中使用一份工作的结果

javascript - 如何将*参数*从 JS 传递到 AS3?

parameter-passing - 在 Verilog 模块之间传递参数

c - 使用 malloc 分配的空间传递指针

c++ - 在c++中隐式传递参数中的数组长度

python - 调用没有参数的python类方法