pipeline中sh使用参数化构建输入的参数
摘要:pipeline是参数化构架的,并且想在pipeline中sh命令中使用参数
代码块:
pipeline{ parameters { string defaultValue: 'AMD-desktop', name: 'node_name' string defaultValue: 'test_cmd/test_version.py', name: 'feature' } environment { feature = "$params.feature" } agent { node { label "${params.node_name}" } } stages{ stage("first stage"){ steps("first steps"){ sh ''' echo "$feature" sleep 1m ''' } } } post{ always{ echo "this is ending..." } } }
代码解析:
parameters {
/* 这里参数化 接受两个参数*/ string defaultValue: 'AMD-desktop', name: 'node_name' string defaultValue: 'test_cmd/test_version.py', name: 'feature' } environment {
/* 创建环境变量,只有设置了环境两边各 sh脚本中才能获取到该变量 */ feature = "$params.feature" }
sh中使用环境变量:
sh ''' echo "$feature" '''
不在sh中使用环境变量:
agent { node { label "${params.node_name}" } }