Jenkins教程-20-常用插件-Parameterized Trigger

上一小节我们学习了Jenkins常用插件Role-based Authorization Strategy的使用方法,本小节我们讲解一下Jenkins常用插件Parameterized Trigger的使用方法。

Jenkins 的 Parameterized Trigger 插件是一个非常实用的工具,它允许一个构建完成后触发其他项目的构建,并且能够传递参数。

Parameterized Trigger 插件可以让你在 Jenkins 中实现复杂的工作流,通过一个项目的构建结果触发另一个或多个项目的构建,并传递必要的参数。这对于实现依赖关系构建、测试环境准备、部署流程等场景非常有用 。

安装方法

要在 Jenkins 中使用 Parameterized Trigger 插件,首先需要安装它。可以通过 Jenkins 的系统管理界面,进入"管理插件"然后选择"可选插件",在"Build Triggers"分类下找到并安装"Parameterized Trigger Plugin" 。

使用方法

  1. 配置触发器:在 Jenkins 项目的配置页面中,找到"构建后操作"部分,添加一个新的"Trigger parameterized build on other projects"动作。
  2. 设置触发条件:指定需要触发的项目名称(Projects to build),以及触发条件(Trigger when build is),例如,仅当构建成功时触发 。
  3. 添加参数:使用"Add Parameters"来定义传递给下游项目的参数。参数可以是预定义的(Predefined parameters)、当前构建的参数(Current build parameters)或者从属性文件中读取(Parameters from properties file)。

示例

假设有一个名为 Test_A 的项目,希望在构建成功后触发名为 Test_B 的项目构建,并且传递一些参数:

  1. 在 Test_A 的配置页面,找到"构建后操作",选择"Trigger parameterized build on other projects"。
  2. 在"Projects to build"中输入 Test_B 的名称。
  3. 在"Trigger when build is"中选择"Success"以确保仅在 Test_A 成功时触发 Test_B。
  4. 点击"Add Parameters",选择"Predefined parameters",输入参数名和值,例如:key1=value1
  5. 保存配置。

这样,每当 Test_A 成功构建后,就会触发 Test_B 并传递参数 key1 与 value1 。

注意事项

从 Parameterized Trigger 2.23 版本开始,插件行为有所变化,参数值不再直接传递给下游构建,而是传递给下游项目的参数定义。这可能导致之前版本中能够成功触发的行为在新版本中失败 。

如果需要回退到旧的行为,可以通过设置 Java 系统属性 hudson.plugins.parameterizedtrigger.ProjectSpecificParametersActionFactory.compatibility_mode=true 来实现 。

通过这种方式,Parameterized Trigger 插件提供了极大的灵活性,使得 Jenkins 的自动化构建流程更加强大和动态。

相关推荐
SkyWalking中文站2 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
江华森1 天前
NumPy 数值计算基础入门
运维
乘云数字DATABUFF5 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--7 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森7 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜8 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https