如何在Jenkins流水线配置页定义自定义变量并用于Shell命令?
在Jenkins中实现带自定义变量的Shell命令执行
一、自由风格项目配置步骤
- 打开目标自由风格项目的配置页面,勾选「此项目是参数化的」选项。
- 添加所需参数:
- 下拉菜单(Choice Parameter):参数名称填
car,在「选项」框中按每行一个的格式输入可选车型(比如Toyota、Honda、Ford),可添加描述说明。 - 文本输入框(String Parameter):参数名称填
year,设置默认值(比如2000),添加描述提示用户输入年份。
- 下拉菜单(Choice Parameter):参数名称填
- 找到「Execute shell」环节,将命令修改为:
./test.sh --model $car --year $year - 保存配置,触发构建时会先弹出参数选择/输入界面,确认后变量值会自动传入Shell命令执行。
二、流水线项目(Jenkinsfile)配置
方式1:页面配置参数
- 进入流水线项目的配置页面,勾选「此项目是参数化的」,按自由风格的方式添加
car(下拉)和year(文本框)参数。 - 在流水线脚本中调用参数执行Shell命令:
pipeline { agent any stages { stage('执行测试脚本') { steps { sh './test.sh --model ${car} --year ${year}' } } } }
方式2:Jenkinsfile内定义参数
直接在Jenkinsfile中通过parameters指令定义参数,无需在页面手动配置:
pipeline { agent any parameters { choice(name: 'car', choices: ['Toyota', 'Honda', 'Ford'], description: '选择测试车型') string(name: 'year', defaultValue: '2000', description: '输入车辆生产年份') } stages { stage('运行测试') { steps { sh './test.sh --model ${car} --year ${year}' } } } }
提交Jenkinsfile后,每次构建前会自动弹出参数交互界面,完成输入/选择后即可执行带变量的Shell命令。
内容的提问来源于stack exchange,提问作者sleepy
相关产品推荐
相关产品推荐

