小编典典

从参数化触发器插件传回结果

jenkins

我有2个工作:“助手”和“主”,以及单个jenkins实例(这是主机和执行者)。

助手管理第三方资源并为Main作业做准备(确切地说,它为要部署用于测试的应用程序创建了环境)。

助手作业的唯一工件是单个文件,该文件具有专门为Main作业准备的环境IP。

在这种情况下,我该如何将构建从助手传回给Main?


阅读 213

收藏
2020-07-25

共1个答案

小编典典

您说的只是要将带有IP的文件传递给“主要”作业。如果您只需要该IP,那么有更简单的方法(没有文件),我将同时介绍这两种方法。

将工件从一项工作传递到另一项工作

在“帮助程序”作业中,您需要从工作空间中存档该文件。

  1. 构建后操作中 ,选择“ 归档工件”
  2. 放置相对于工作区的路径。您可以使用通配符,如果文件名始终相同,则可以对其进行硬编码。
  3. 使用 其他项目 构建步骤 上的触发/调用”构建, 将该任务配置为自动触发“主”任务。如果您没有此插件,则可以在此处获取
  4. 对于 要构建的项目 ,请输入“主要”工作的名称

现在,在“主要”作业中,您需要从上一个(“ Helper”)作业中复制此工件。

  1. 对于第一个 构建 步骤,选择 从另一个项目 构建步骤 复制工件 。如果您没有此插件,则可以在此处获取
  2. 对于 项目名称 ,输入“ Helper”作业的名称
  3. 对于 哪个版本 ,选择“ 最近成功的版本”
  4. 对于 要复制的工件 ,请使用**/yourartifactname*.*您的工件名称将是您在“助手”作业中配置的名称。**/在最前面使用确保在进入工件之前它将忽略任何目录结构
  5. 对于 目标目录 ,在“主”作业的工作区中指定一个位置,该文​​件也将被复制到该位置。
  6. Checkmark Flatten directory ,因此该文件将直接转到第5步中指定的位置,否则它将保留在(“ Helper”作业中)归档的目录结构

现在,您的“主”作业在其工作区中具有“助手”作业的文件。像使用工作区中的任何其他文件一样使用它

将变量从一项工作传递到另一项工作

就像我提到的,如果您只需要一个IP地址,并且在“ Helper”作业中某个时间点拥有一个变量,则只需使用 在其他项目 步骤 上构建
Trigger / Call 将其发送到“
Main”作业即可。您在“帮助程序”作业的步骤3和4中配置的内容。在这种情况下,您无需在“主”作业上进行任何特殊配置。

  1. 使用 其他项目 构建步骤 上的触发/调用”构建,将 “ Helper”作业配置为自动触发“ Main”作业。如果您没有此插件,则可以在此处获取
  2. 对于 要构建的项目 ,请输入“主要”工作的名称
  3. 单击 添加参数 按钮
  4. 选择 预定义参数
  5. 键入VarForMain=$VarFromHelper,其中VarFromHelper是包含IP地址的“帮助程序”作业中VarForMain的环境变量,其中是将在“主”作业中设置为该值的环境变量。没有理由不能使用相同的名称。

现在,在“主要”工作中,您可以$VarForMain像引用任何其他环境变量一样进行引用

2020-07-25