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以应用插件。
  1. 配置参数联动
    • 在构建任务的配置页面中,选择“参数化构建过程”。
    • 点击“添加参数”,并从列表中选择“Active Choices Parameter”。
    • 在“参数类型”中选择所需的类型,例如下拉框。
    • 接下来,在“Groovy Script”区域编写脚本。该脚本将基于第一个参数的取值来动态生成第二个参数的选项。

示例场景

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

  • 对于DeployEnv参数,我们不需要编写特殊的Groovy脚本,只需设置其基础选项。
  • 对于containerNamespace参数,我们将在其Groovy脚本中编写逻辑,根据DeployEnv的当前取值来生成相应的选项列表。

if(DeployEnv.equals("dev")){
        return ["c2c-dev"]
 }
if(DeployEnv.equals("test")){
        return ["c2c-test"]
}
if(DeployEnv.equals("production")){
        return ["prod-c2c"]
}

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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇