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

相关推荐
ZLRRLZ1 小时前
【Docker】Docker安装
运维·docker·容器
逐梦吧!旅行者1 小时前
Linux之环境变量(内容由浅入深,层层递进)
linux·运维
挨踢攻城1 小时前
Linux 应急响应实操 Checklist
linux·运维·linux命令·rhce·rhca·厦门微思网络·linux 应急响应
wanhengidc1 小时前
什么是云手机?
运维·网络·安全·游戏·智能手机
optiz2 小时前
细菌基因组genome二代测序数据分析
linux·运维·服务器
IT成长日记2 小时前
【Linux基础】Linux系统管理:GPT分区实践详细操作指南
linux·运维·服务器·gpt·parted·磁盘分区·fdisk
爱喝水的鱼丶3 小时前
SAP-ABAP: ABAP ASSIGN COMPONENT 语句详解:动态字段符号的利器作用用法示例详解
运维·开发语言·sap·abap·开发经验·动态字段符号
清寒敲代码3 小时前
k8s核心技术-Helm
运维·容器·kubernetes
quqi993 小时前
Enable FIPS in ubuntu (by quqi99)
linux·运维·ubuntu
人工智能训练师3 小时前
在Ubuntu中如何使用PM2来运行一个编译好的Vue项目
linux·运维·服务器·vue.js·ubuntu·容器