【发布时间】:2017-05-10 13:47:28
【问题描述】:
如果构建成功,我有一个正在构建的项目,它会触发下游项目。我为此使用了 Jenkins Parameterized Trigger 插件。该项目在两个不同的 ip 上运行,它们作为参数传递给该构建。我只想使用这些 ip 之一运行我的下游项目。我该怎么做?
【问题讨论】:
-
这两个ip地址是静态的吗?他们会改变吗?
标签: jenkins
如果构建成功,我有一个正在构建的项目,它会触发下游项目。我为此使用了 Jenkins Parameterized Trigger 插件。该项目在两个不同的 ip 上运行,它们作为参数传递给该构建。我只想使用这些 ip 之一运行我的下游项目。我该怎么做?
【问题讨论】:
标签: jenkins
如果您可以访问上游作业中的 IP 地址,则可以使用 Conditional Build Step 插件。
您将选择条件构建步骤作为构建步骤并设置条件以检查当前 IP 地址是否是您要在其上运行下游作业的地址。这部分将取决于您如何访问 IP 地址。您可能有一个用于指定 ip 地址的上游作业的参数,或者您已将其公开为环境变量*。无论哪种方式,您都可能会执行字符串比较并将硬编码字符串与 ip 地址与参数/env 进行比较。变量值,看看它们是否匹配。
然后在条件步骤中,您将选择当前用于触发下游构建的相同构建步骤(执行脚本、触发其他项目的构建等)。
*如果您使用脚本来确定 IP 地址的值,您需要将其注入构建环境中,以便将其公开给后续构建步骤。请参阅second half of my answer here 了解如何操作
【讨论】: