Jenkins参数化构建:实现参数关联与联动,构建选项后动态显示文本框

关键词:Jenkins参数化构建选择选项后出现文本框,参数联动,参数化Active Choices插件

Jenkins中的参数化构建是一项功能强大的工具,允许用户在构建流程中自定义输入参数,从而极大地提升了构建的灵活性。为了进一步增强这种灵活性,有时我们可能希望参数之间能够相互联动,即一个参数的取值会影响另一个参数的取值范围。

实现参数联动的方法

要实现Jenkins中的参数联动,我们需要借助一个名为“Active Choices”的插件。这款插件是Jenkins的一个扩展,能够丰富参数配置页面的选项类型,包括下拉框、单选框、复选框等。更重要的是,它允许我们通过Groovy脚本根据一个参数的取值动态生成另一个参数的选项。

Active Choices 插件用于参数化的自由式 Jenkins 作业,以创建脚本化、动态和交互式作业参数。Active Choices参数可以动态更新,并可以呈现为组合框、复选框、单选按钮或丰富的 HTML UI 小部件

Active Choices 参数使用 Groovy 或(可选)Scriptler Groovy 脚本编写。这些自定义脚本支持使用 Jenkins Java API、系统环境变量、全局节点属性以及潜在的外部 Java 和 Javascript 库。

安装插件后,将有三种新的参数类型可用:

  1. 主动选择参数
  2. 主动选择反应参数
  3. 主动选择反应参考参数

步骤详解

  1. 安装Active Choices插件
    • 首先,在Jenkins的管理界面中找到“插件管理”并搜索“Active Choices”。
    • 安装并重启Jenkins以应用插件。
Jenkins参数化构建:实现参数关联与联动,构建选项后动态显示文本框
  1. 配置参数联动
    • 在构建任务的配置页面中,选择“参数化构建过程”。
    • 点击“添加参数”,并从列表中选择“Active Choices Parameter”。
    • 在“参数类型”中选择所需的类型,例如下拉框。
    • 接下来,在“Groovy Script”区域编写脚本。该脚本将基于第一个参数的取值来动态生成第二个参数的选项。

示例场景

假设我们有两个参数:DeployEnv和containerNamespace。其中,DeployEnv是一个下拉框(也就是我们选择部署到哪个环境),而containerNamespace也是一个下拉框,但其选项会根据DeployEnv的取值而变化。

  • 对于DeployEnv参数,我们不需要编写特殊的Groovy脚本,只需设置其基础选项。
  • 对于containerNamespace参数,我们将在其Groovy脚本中编写逻辑,根据DeployEnv的当前取值来生成相应的选项列表。
Jenkins参数化构建:实现参数关联与联动,构建选项后动态显示文本框

Jenkins参数化构建:实现参数关联与联动,构建选项后动态显示文本框
if(DeployEnv.equals("dev")){
        return ["c2c-dev"]
 }
if(DeployEnv.equals("test")){
        return ["c2c-test"]
}
if(DeployEnv.equals("production")){
        return ["prod-c2c"]
}

当我们选择了DeployEnv参数的下拉框后,第二个参数containerNamespace的值会根据代码判断自动做出变化,省去人为修改。

声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
持续集成

Jenkins 在windows下的安装与配置

2024-11-22 21:19:27

持续集成

jenkins插件下载太慢甚至下载失败解决方法

2024-11-25 17:38:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索