2016-10-19 3 views
0

Мы используем трубопровод 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}" 
    } 
} 
+0

Откуда вы ожидаете 'accountnumber',' volumename', 'vpcname' и' snapshotid'? Вы выполняете задание с правильными параметрами? – mkobit

+0

Они заданы как параметры в задании, у этого задания есть параметры с этими именами. Таким образом, это происходит от пользовательского ввода и устанавливается. – user3073335

+0

Можете ли вы поделиться этим определением параметров из этого файла Jenkins? – hakamairi

ответ

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.

Печать переменных в заданиях трубопроводных эхо job_binpath эхо job_sourcefile

После задания запуска трубопровода, получит ниже выход. BINPATH SOURCEFILE