Передать переменную из конвейерного задания jenkins в другое конвейерное задание - PullRequest
0 голосов
/ 09 апреля 2020

Передача переменной из конвейерного задания jenkins в другое конвейерное задание:

У меня есть следующее задание:

stage ('Upgrade') {

  steps {

    build job: 'Upgrade', 
        parameters: [string(name: 'sourcePath', value: '%publishPath%"\"%folderBuild%')]

         }

      }

Вызов на другое задание

pipeline {

 agent { label 'master' }

 stages {
   stage('Upgrade') {

     steps {
       sh "ansible-playbook -i inventory playbook.yml --extra-vars "name=build_path value=%sourcePath%"
       }
    }
  }
}

Вопрос: что не так?

1 Ответ

0 голосов
/ 13 апреля 2020

stage ('Upgrade') {

steps {

build build: 'Upgrade', параметры: [string (name: 'sourcePath', значение: env.buildPath )]

}

}


В следующем задании вы должны определить параметр String с именем SourcePath

stage {

stage ('Upgrade') {

steps {sh label: '', script: 'ansible -playbook -i upgrade_mipgrade.yml -e "buildPath = $ {sourcePath}"'

}

}

}


В Ansible создать env var следующим образом:

vars:

build_path: "{{buildPath}}" // buildPath из задания Дженкинса

...