Как я могу вернуть параметры в конвейер Jenkins на основе имени задания? - PullRequest
0 голосов
/ 23 октября 2019

У меня два трубопровода Дженкинса (а) deploy и (б) test_deploy. Я хочу запустить оба этих конвейера из одного Jenkinsfile , так как там функциональность одинакова.

  • deploy конвейер работает для всех не тестовых сред
  • test_deploy конвейер будет работать только в test средах

Я хочупоказывать только тестовые среды в качестве параметров в test_deploy конвейере. Я хочу добавить что-то вроде условия if / else для параметров выбора, которые будут возвращать имена среды в параметрах, основанных на имени задания. Как я могу обусловить выбор / параметры на основе имени задания?

1 Ответ

1 голос
/ 23 октября 2019

Вы можете добавить это в верхнюю часть вашего Jenkinsfile:

if (JOB_NAME == 'deploy') {
    properties([
        parameters([
            choice(name: 'deployEnv', choices: ['deployEnv1', 'deployEnv2'], description: '')
        ])
    ])
} else if (JOB_NAME == 'test_deploy') {
    properties([
        parameters([
            choice(name: 'testEnv', choices: ['testEnv1', 'testEnv2'], description: '')
        ])
    ])
}

Это работает как в декларативном, так и в скриптовом конвейерах и заполняет параметры выбора на основе имен заданий.

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