我有 2 个工作:“Helper”和“Main”以及单个 jenkins 实例(即主机和执行器)。
帮助程序管理第 3 方资源并为主要作业做好准备(准确地说 - 它为要部署的应用程序进行测试创建环境)。
辅助作业的唯一工件是一个单独的文件,其中包含专为主作业准备的环境 IP。
在这种情况下,我如何将构建从 Helper 传递回 Main?
您是说您只需将带有 IP 的文件传递给“Main”作业。如果您需要的只是 IP,则有更简单的方法(无需文件),我将描述这两种方法。
将工件从一项工作传递到另一项工作
在“Helper”作业中,您需要从工作区存档该文件。
- In 构建后操作, 选择归档工件
- 设置相对于工作空间的路径。您可以使用通配符,或者如果文件名始终相同,则对文件名进行硬编码。
- 配置此作业以自动触发您的“主要”作业触发器/调用建立在其他项目的基础上构建步骤。如果你没有这个插件,你可以获取它here https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
- For 待建项目,输入您的“主要”工作的名称
现在,在“Main”作业中,您需要从之前的(“Helper”)作业复制此工件。
- 为了第一build步骤,选择从另一个项目复制工件构建步骤。如果你没有这个插件,你可以获取它here https://wiki.jenkins-ci.org/display/JENKINS/Copy+Artifact+Plugin
- For the 项目名,输入您的“助手”职位名称
- For 哪个构建, 选择最新成功构建
- For 要复制的工件, use
**/yourartifactname*.*
您的工件名称将是您在“Helper”作业中配置的名称。使用**/
在前面确保它在到达工件之前会忽略任何目录结构
- For, 目标目录,指定“主”作业工作区中的一个位置,该文件也将复制到该位置。
- 复选标记展平目录,因此文件会直接转到步骤 5 中指定的位置,否则它将保留存档的目录结构(在“Helper”作业中)
现在,您的“Main”作业的工作区中包含“Helper”作业中的文件。像使用工作区中的任何其他文件一样使用它
将变量从一个作业传递到另一个作业
就像我提到的,如果您需要的只是一个 IP 地址,您在“Helper”作业中的某个时间点将其作为变量,您只需使用以下命令将其发送到“Main”作业:触发器/调用建立在其他项目的基础上您在“Helper”作业的步骤 3 和 4 中配置的步骤。在这种情况下,您不需要对“Main”作业进行任何特殊配置。
- 配置“Helper”作业以自动触发您的“Main”作业触发器/调用建立在其他项目的基础上构建步骤。如果你没有这个插件,你可以获取它here https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin
- For 待建项目,输入您的“主要”工作的名称
- Click 添加参数 button
- Select 预定义参数
- Type
VarForMain=$VarFromHelper
, where VarFromHelper
是来自“Helper”作业的环境变量,其中包含您的 IP 地址,以及VarForMain
是将在“主”作业中设置为此值的环境变量。没有理由这些不能具有相同的名称。
现在,在您的“主要”工作中,您可以参考$VarForMain
就像任何其他环境变量一样
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)