首页/开发/CI/CD 与发布速查/Jenkins 参数化构建
工具链要点63 条

Jenkins 参数化构建

为流水线定义构建参数:字符串、布尔、选项、密码等;参数通过 params 访问,把可变输入从脚本里移出来。

CI/CD 与发布速查开发更新于 2026-10-13

参数化构建是什么

parameters 块为流水线定义构建输入:字符串、多行文本、布尔、选项、密码等类型,使用时通过 params.NAME 读取。把可变输入从脚本里移到参数,同一套流水线就能覆盖演练与正式执行;注意参数定义变更后的首次运行可能沿用旧值,需要提前提醒使用者。

基本信息

类型string、text、booleanParam、choice、password
访问params.NAME
场景环境选择、演练开关、版本号输入
默认值危险操作的默认值放在保守侧
变更注意参数定义变更后首次运行可能沿用旧值
安全高敏输入用凭据绑定,密码参数仍会进环境
组合与手动触发、输入确认构成受控发布入口

参数与使用

参数与使用
pipeline {
  agent any
  parameters {
    choice(name: 'ENV', choices: ['staging', 'production'], description: '部署环境')  // 环境选择
    booleanParam(name: 'DRY_RUN', defaultValue: true, description: '仅演练')  // 保守默认
  }
  stages {
    stage('deploy') {
      steps {
        echo "env=${params.ENV} dryRun=${params.DRY_RUN}"  // 打印参数
        sh "./deploy.sh --env ${params.ENV}"  // 参数驱动脚本
      }
    }
  }
}

典型使用场景

  • 环境选择:同一流水线按参数部署到 staging 或 production
  • 演练开关:dry-run 参数先验证流程再实发
  • 版本回填:手工触发时指定要部署的版本号
  • 范围控制:参数限制可选值,减少输入错误
  • 受控入口:参数化加手动触发构成受控变更通道
  • 临时分支测试:参数指定目标分支或标签

参数类型与用途

类型用途注意
string版本号、分支名空值校验要自己加
choice有限选项的环境或动作变更选项要通知使用者
booleanParam开关类选择默认值放保守侧
password低敏口令仍会进环境变量,高敏用凭据
text多行输入注意注入与换行处理
参数化加手动触发构成受控变更入口:危险选项的默认值放在保守侧。
密码类型参数仍进入环境:高敏输入用凭据绑定替代。
参数定义变更后首次运行沿用旧定义:可能需要跑两次才生效,提前通知使用者。
参数数量控制在必要范围:每个参数都应有文档说明其影响。

易错点

  • 参数变更后首次运行沿用旧定义:使用者按新界面理解导致误操作。
  • 密码类型参数当保险箱:值仍以环境变量形式暴露给构建。
  • 危险默认值:演练开关默认关闭,一次回车直接实发。
  • 参数过多:无人能说清每个值的影响,选择变成形式。
  • 缺少校验:空字符串或错误版本号直接进部署脚本。

数据来源与参考

  • Jenkins 手册《Pipeline Syntax》(parameters)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌