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

相关推荐
RisunJan3 小时前
Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)
linux·运维·服务器
HABuo4 小时前
【Linux进程(四)】进程切换&环境变量深入剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
橘颂TA4 小时前
【Linux】死锁四条件的底层逻辑:从锁冲突到 STL 组件的线程安全实践(Ⅵ)
linux·运维·服务器·c++·死锁
黄焖鸡能干四碗5 小时前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
橙露5 小时前
国产PLC与进口PLC全面对比分析:技术、市场与未来趋势
运维·网络
lbb 小魔仙5 小时前
【Linux】云原生运维效率提升:Linux 终端工具链(kubectl + tmux + fzf)组合拳教程
linux·运维·云原生
清水白石0085 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
Joren的学习记录6 小时前
【Linux运维大神系列】Kubernetes详解3(kubeadm部署k8s1.23高可用集群)
linux·运维·kubernetes
眠りたいです6 小时前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器