上一小节我们学习了Jenkins常用插件Role-based Authorization Strategy的使用方法,本小节我们讲解一下Jenkins常用插件Parameterized Trigger的使用方法。
Jenkins 的 Parameterized Trigger 插件是一个非常实用的工具,它允许一个构建完成后触发其他项目的构建,并且能够传递参数。
Parameterized Trigger 插件可以让你在 Jenkins 中实现复杂的工作流,通过一个项目的构建结果触发另一个或多个项目的构建,并传递必要的参数。这对于实现依赖关系构建、测试环境准备、部署流程等场景非常有用 。
安装方法
要在 Jenkins 中使用 Parameterized Trigger 插件,首先需要安装它。可以通过 Jenkins 的系统管理界面,进入"管理插件"然后选择"可选插件",在"Build Triggers"分类下找到并安装"Parameterized Trigger Plugin" 。
使用方法
- 配置触发器:在 Jenkins 项目的配置页面中,找到"构建后操作"部分,添加一个新的"Trigger parameterized build on other projects"动作。
- 设置触发条件:指定需要触发的项目名称(Projects to build),以及触发条件(Trigger when build is),例如,仅当构建成功时触发 。
- 添加参数:使用"Add Parameters"来定义传递给下游项目的参数。参数可以是预定义的(Predefined parameters)、当前构建的参数(Current build parameters)或者从属性文件中读取(Parameters from properties file)。
示例
假设有一个名为 Test_A 的项目,希望在构建成功后触发名为 Test_B 的项目构建,并且传递一些参数:
- 在 Test_A 的配置页面,找到"构建后操作",选择"Trigger parameterized build on other projects"。
- 在"Projects to build"中输入 Test_B 的名称。
- 在"Trigger when build is"中选择"Success"以确保仅在 Test_A 成功时触发 Test_B。
- 点击"Add Parameters",选择"Predefined parameters",输入参数名和值,例如:
key1=value1
。 - 保存配置。
这样,每当 Test_A 成功构建后,就会触发 Test_B 并传递参数 key1 与 value1 。
注意事项
从 Parameterized Trigger 2.23 版本开始,插件行为有所变化,参数值不再直接传递给下游构建,而是传递给下游项目的参数定义。这可能导致之前版本中能够成功触发的行为在新版本中失败 。
如果需要回退到旧的行为,可以通过设置 Java 系统属性 hudson.plugins.parameterizedtrigger.ProjectSpecificParametersActionFactory.compatibility_mode=true
来实现 。
通过这种方式,Parameterized Trigger 插件提供了极大的灵活性,使得 Jenkins 的自动化构建流程更加强大和动态。