参数化构建是什么
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 | 多行输入 | 注意注入与换行处理 |
参数化加手动触发构成受控变更入口:危险选项的默认值放在保守侧。
密码类型参数仍进入环境:高敏输入用凭据绑定替代。
参数定义变更后首次运行沿用旧定义:可能需要跑两次才生效,提前通知使用者。
参数数量控制在必要范围:每个参数都应有文档说明其影响。