我们使用Jenkins Pipeline在jenkins中配置作业。对于一堆作业,我们需要用户输入,我们使用参数化构建,用户可以输入参数值,稍后我们使用.jenkins文件中的值,如
sh "./build-apply.sh ${accountnumber} ${volumename} ${vpcname} services ${snapshotid}"
这曾经与
一起使用但是,当我重建Jenkins时:
以上sh
停止了工作。错误
groovy.lang.MissingPropertyException: No such property: accountnumber for class: groovy.lang.Binding
知道我错过了什么吗?语法不正确吗?
供参考完整Jenkinsfile
以供参考
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
git branch: '****', credentialsId: '***', url: '****'
stage 'Provision Volume'
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: '*****',
credentialsId: '****',
secretKeyVariable: '*****']]) {
// Run the terraform build
env.PATH = "${env.PATH}:/jenkins/terraform"
sh "./build-apply.sh ${accountnumber} ${volumename} ${vpcname} services ${snapshotid}"
}
}
答案 0 :(得分:0)
将以下代码复制并粘贴到管道脚本中 节点:{
stage ('BCCdlVsLib') {
build job: 'BCCdlVsLib', parameters:
[
[$class: 'StringParameterValue', name: 'BINPATH', value: 'BINPATH'],
[$class: 'StringParameterValue', name: 'SOURCEFILE', value: 'SOURCEFILE']
]
}
在作业(BCCdlVsLib)中启用“此项目已参数化”选项并输入2个字符串参数job_binpath,job_sourcefile。
在管道作业中打印变量 echo job_binpath echo job_sourcefile
运行管道作业后,将获得以下输出。 BINPATH 的资源文件