Трубопровод Дженкинса - глобальные параметры - PullRequest
0 голосов
/ 16 мая 2019

Я настроил конвейер jenkins, который имеет несколько строковых параметров для каждого задания.Параметры являются общими для всех работ по сборке.Я хотел бы установить эти параметры на глобальном уровне, чтобы я мог использовать их на всех этапах.Наряду с этапами у меня есть логика повторов, которая повторяется 2 раза после первого сбоя.Как только он пересекает 3 попытки сброса задания.

В данный момент я настраиваю параметры дважды, сначала в начальном триггере сборки, а затем в блоке повторных попыток.Это дублированное определение.Также в любое время параметры одинаковы для всех.

Я пытался определить параметры сверху до начала этапов, но эти параметры не используются этапами, даже если задание, определенное на этапе сборки, требует параметров.

pipeline {
    agent {
        label 'master'
    }
    parameters
    {
    string(name: 'VERSION', defaultValue: '', description: 'VERSION No.')
    string(name: 'DEPLOY_TYPE', defaultValue: '', description: 'DEPLOY_TYPE')
    string(name: 'TICKET', RELEASE: '$RELEASE', description: 'Release No.')
    }

stage ("Stage1") {
            steps {
            script {
            def retryAttempt = 0
               try{
                build(
                    job: 'Job1',
                    parameters: [
                        [
                            $class: 'StringParameterValue',
                            name: 'VERSION',
                            value: "${VERSION}"
                        ],
                        [
                            $class: 'StringParameterValue',
                            name: 'DEPLOY_TYPE',
                            value: "${DEPLOY_TYPE}"
                        ],
                        [
                            $class: 'StringParameterValue',
                            name: 'TICKET',
                            value: "${TICKET}"
                        ]
                    ]
                )
                }
                catch(error) {
                 echo "First build failed, let's retry if accepted"
                 retry(2) {
                 build(
                    job: 'Job1',
                    parameters: [
                        [
                            $class: 'StringParameterValue',
                            name: 'VERSION',
                            value: "${VERSION}"
                        ],
                        [
                            $class: 'StringParameterValue',
                            name: 'DEPLOY_TYPE',
                            value: "${DEPLOY_TYPE}"
                        ],
                        [
                            $class: 'StringParameterValue',
                            name: 'TICKET',
                            value: "${TICKET}"
                        ]
                    ]
                )
                 }
               }
            }
          }
    }

Я хочу использовать глобальные параметры, определенные один раз в конвейере, и использовать все параметры на всех этапах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...