Запустите Jenkinsfile с жестко заданными параметрами - PullRequest
0 голосов
/ 07 марта 2019

У меня есть файл jenkinsfile, который создает и развертывает в различных средах в зависимости от параметра, например,

    parameters {
        string(defaultValue: "integration", description: '', name: 'TARGET_ENV')
    }    

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

Каков наилучший способ добиться этого?

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Вы можете создать одно конвейерное задание рабочего процесса (по сценарию) для каждой среды и вызвать фактическое задание с заданным параметром:

Конвейерный сценарий для задания рабочего процесса 'deployEnvDev':

node {
   stage("Deploy Environment Dev") {
      build job: 'here/the/path/to/your/deploy/job',
      wait: true,
        parameters: [
            string(name: 'TARGET_ENV', value: 'dev' )
        ]
    }
}

Конвейерный сценарий для задания рабочего процесса 'deployEnvProd':

node {
   stage("Deploy Environment Prod") {
      build job: 'here/the/path/to/your/deploy/job',
      wait: true,
        parameters: [
            string(name: 'TARGET_ENV', value: 'prod' )
        ]
    }
}

Путь 'здесь / / path / to / your / deploy / job' к вашему deploy-job показан на странице сведений о deploy-задание:

enter image description here

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

0 голосов
/ 07 марта 2019

Сконфигурируйте параметр в вашем конвейерном интерфейсе.

enter image description here

Добавить в скрипт:

parameters {
        string(defaultValue: "integration", description: '', name: 'TARGET_ENV')
    } 

И используйте в коде:

echo "Parameter: ${TARGET_ENV}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...