Подтвердить что ты не робот

Плагин Jenkins Delivery Pipeline и параметризованные сборки

Я использую плагин Jenkins Delivery Pipeline. У меня есть некоторые параметризованные сборки, которые запускаются вручную. Если я запускаю сборку с страницы проекта, в сборке показан экран, где параметры должны быть определены (как и ожидалось). Однако, когда я запускаю параметризованную сборку из плагина Delivery Pipeline, она просто запускает сборку без предоставления экрана. Это странное поведение, возможно ли получить плагин конвейера для отображения экрана с параметризованным построением?

Спасибо за вашу помощь!

4b9b3361

Ответ 1

Я отвечаю на этот вопрос в целом.

Вам нужно использовать Параметрированный триггерный плагин или использовать Build Плагин трубопровода. Эта проблема с плагином Delivery Pipeline по-прежнему решена командой Jenkins. См. Эту ссылку для обновления о проблеме на https://issues.jenkins-ci.org/browse/JENKINS-25685. Вы можете узнать, когда он будет устранен из этой ссылки.

Вы можете использовать плагин Build Pipeline, если он может быть включен в ваш прецедент. Аналогичная проблема возникла для плагина Build Pipeline, который теперь исправлен. Он был исправлен в течение 22 дней (https://issues.jenkins-ci.org/browse/JENKINS-25427, https://github.com/jenkinsci/build-pipeline-plugin/pull/56). Вы можете просто надеяться, что такая же проблема с плагином Delivery Pipeline будет исправлена ​​в ближайшее время.

Можете ли вы предоставить мне версию Jenkins, среду и версию плагина? Я могу обновить свой ответ на основе ответов, которые вы даете.

Ответ 2

Когда вы используете плагин Delivery Pipeline, и у вас есть настроенные вручную сборки с ручным запуском, если вы настроите задание вверх по течению по параметрам на задание ниже по течению, когда нажата кнопка "Создать триггер сборки" страница просмотра трубопровода, параметры автоматически передаются вместе.

Например, скажем, у вас есть такая настройка:

Compile_Project ---> Deploy_Project

Предположим, что вы передаете переменную с именем versionNumber из заданий Compile_Project в Deploy_Project. Предположим также, что вы используете Subversion для своего SCM, а ваш versionNumber выглядит как 1.0.${SVN_REVISION}. ${SVN_REVISION} автоматически предоставляется Jenkins, поэтому ваш номер версии будет выглядеть примерно как 1.0.1234, где 1234 - номер фиксации, предоставленный Subversion.

В представлении "Конвейер поставки" скажем, что он настроен на отображение 3 экземпляров конвейера и что ручные триггеры включены в настройках просмотра. Страница просмотра конвейера может выглядеть примерно так (yay ASCII art!):

Compile_Project ---> Deploy_Project (>)

Compile_Project ---> Deploy_Project (>)

Compile_Project ---> Deploy_Project (>)

В этом случае я использую (>) для представления кнопки ручного запуска. Кнопка внизу попытается развернуть версию 1.0.1234, средняя кнопка попытается развернуть версию 1.0.1235, а верхняя кнопка попытается развернуть версию 1.0.1236, предполагая, что ваш проект получил последовательные транзакции SVN.

Чтобы передать параметр из задания Compile_Project в Deploy_Project, вам необходимо выполнить следующее. (Примечание: похоже, что вы уже сделали эту часть, но я включаю ее на всякий случай, если вы, возможно, пропустили шаг, а также ради полноты.)

В конфигурации задания Compile_Project в качестве действия после сборки выберите "Построить другие проекты (ручной шаг)". В поле "Названия проектов в нисходящем направлении" введите Deploy_Project, а затем в раскрывающемся списке "Добавить параметры" выберите "Предопределенные параметры". В появившейся текстовой области "Параметры" создайте параметр для передачи, который я назову VERSION_NUMBER. То, что вы войдете в текстовую область, будет VERSION_NUMBER=1.0.${SVN_REVISION}. Это позволит передать параметр из Compile_Project в Deploy_Project. Однако вы еще не сделали этого.

В конфигурации задания Deploy_Project вам необходимо настроить его, чтобы принять параметр, который вы передаете в задание. Для этого настройте Deploy_Project и установите флажок "Эта сборка параметризирована". Затем добавьте параметр String из раскрывающегося списка "Добавить параметр". В поле "Имя" введите VERSION_NUMBER. На этом этапе вы можете использовать ${VERSION_NUMBER} в конфигурации Deploy_Project, где вам нужно, чтобы указать правильный номер версии развертываемого проекта.