Мы используем трубопровод Jenkins для настройки рабочих мест в jenkins. Для кучи заданий нам нужны ввод данные пользователя, для которого мы используем параметризованные сборки, где пользователь может значение входных параметров, а затем мы используем значение в нашем .jenkinsfile в ш какКак использовать параметр Jenkins String в конвейере
sh "./build-apply.sh ${accountnumber} ${volumename} ${vpcname} services ${snapshotid}"
Это используется для работы с
- Дженкинс 2.16
- трубопровода 2.3
- Groovy 2,15
Однако, когда я восстановить Дженкинс к:
- 2,16 или последний 2,26
- трубопровода 2.5
- трубопровода: Groovy 2,19
выше 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}"
}
}
Откуда вы ожидаете 'accountnumber',' volumename', 'vpcname' и' snapshotid'? Вы выполняете задание с правильными параметрами? – mkobit
Они заданы как параметры в задании, у этого задания есть параметры с этими именами. Таким образом, это происходит от пользовательского ввода и устанавливается. – user3073335
Можете ли вы поделиться этим определением параметров из этого файла Jenkins? – hakamairi