当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 口袋算法的示例
  • 【HarmonyOS学习】定位相关知识(Locationkit)
  • 不坑盒子有什么用?
  • 互动广告新体验:Flat Ads 助力全球开发者高效变现
  • Go网络编程-HTTP程序设计_2
  • 新时代多目标优化【数学建模】领域的极致探索——数学规划模型
  • ​数据结构之初始二叉树(3)
  • C语言 ——— 打印水仙花数
  • ubuntu22.04安装SecureCRT8.7.3,完成顺利使用
  • 【面试题】数据结构:堆排序的排序思想?
  • 辅助类BigDecima/BigInteger
  • 【Windows】操作系统之任务管理器(第一篇)
  • 车载音视频App框架设计
  • 前端pc和小程序接入快递100(跳转方式和api方式)====实时查询接口
  • Self-supervised Learning for Pre-Training 3D Point Clouds: A Survey
  • [笔记] php常见简单功能及函数
  • 【翻译】babel对TC39装饰器草案的实现
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Fastjson的基本使用方法大全
  • HTTP中的ETag在移动客户端的应用
  • Just for fun——迅速写完快速排序
  • LeetCode算法系列_0891_子序列宽度之和
  • LintCode 31. partitionArray 数组划分
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • mysql外键的使用
  • oldjun 检测网站的经验
  • windows下使用nginx调试简介
  • 仿天猫超市收藏抛物线动画工具库
  • 浮动相关
  • 计算机在识别图像时“看到”了什么?
  • 记一次删除Git记录中的大文件的过程
  • 批量截取pdf文件
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 时间复杂度与空间复杂度分析
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • ​低代码平台的核心价值与优势
  • ​如何使用QGIS制作三维建筑
  • #### go map 底层结构 ####
  • #define 用法
  • #include<初见C语言之指针(5)>
  • #pragma pack(1)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (八)Spring源码解析:Spring MVC
  • (编译到47%失败)to be deleted
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (二)windows配置JDK环境
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (附源码)计算机毕业设计SSM教师教学质量评价系统