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 的自动化构建流程更加强大和动态。

相关推荐
老黄编程18 小时前
09-ubuntu20.04 执行 apt update时报错,是因为官网已停止维护不再更新的缘故吗?
linux·运维·服务器·ubuntu·数字证书
Supernova_Jun18 小时前
ffmpeg图片转视频
linux·运维·服务器
水月wwww18 小时前
ubuntu网络连接出错解决办法
linux·运维·计算机网络·ubuntu·操作系统·ubuntu网络连接
0wioiw018 小时前
Ubuntu(①shell脚本)
linux·运维·ubuntu
illuspas18 小时前
AMD MI50 在Ubuntu 24.04下安装驱动和ROCm
linux·运维·ubuntu
HIT_Weston18 小时前
19、【Ubuntu】【远程开发】技术方案分析:远程桌面
linux·运维·ubuntu
帅帅梓19 小时前
docker 资源限制
运维·docker·容器
zt1985q20 小时前
本地部署消息代理软件 RabbitMQ 并实现外部访问( Windows 版本 )
运维·服务器·windows·rabbitmq·ruby
zhanglianzhao21 小时前
基于云服务器自建Rustdesk远程桌面——以京东云为例
运维·服务器·京东云
Physicist in Geophy.21 小时前
新版ubuntu中sac安装问题(缺少libncurses5)
linux·运维·ubuntu