Ручное продвижение результатов конвейера в Jenkins - PullRequest
4 голосов
/ 09 марта 2020

В настоящее время мы переходим с нашего унаследованного сервера сборки на Jenkins.

В нашей предыдущей системе у нас была следующая система:

  1. Вы не создаете версию выпуска напрямую , но вы строите "BETA".
  2. После того, как вы удовлетворены результатом, вы можете повысить "BETA" до "RELEASE".
  3. Для этого вы нажимаете на сборку ( фактический запуск конвейера) и нажмите кнопку «BETA to RELEASE».
  4. Эта кнопка запускает сценарий для фактического продвижения (фактические шаги не имеют значения для этого вопроса).

Для Дженкинса я еще не нашел что-то подобное. Если быть точным: я хотел бы выбрать одну из успешных сборок, а затем нажать на какую-нибудь кнопку, чтобы опубликовать результаты этой сборки в RELEASE. Так что даже если у меня есть билды 1.2.0-BETA, 1.2.1-BETA и 1.2.2-BETA, я могу выбрать 1.2.1-BETA и выпустить его в 1.2.1.

Что будет хорошим подходом для этого?

Ответы [ 2 ]

2 голосов
/ 14 апреля 2020

Я думаю, что Плагин Promoted Builds - это то, что вам нужно.

По сути, после установки плагина вы создаете задание, которое создает вашу бета-версию и в ее конфигурации вы настраиваете промоушен, одобренный вручную, который запускает ваш скрипт промоушена.

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

1 голос
/ 12 апреля 2020

Я хотел бы предложить следующее

Мы можем создать конвейер Jenkins для приложения (например, API Services). В этом конвейере развертывания API есть много этапов:

  • Получение исходного кода из GIT
  • Восстановление зависимых библиотек
  • Построение решения и создание развертывания артефакты (с подходящей версией, например: Beta 1)
  • Развертывание артефактов в среде Dev
  • У нас есть время ожидания (например, 1 день) с использованием таймаута в конвейере Jenkins
  • Как только команда разработчиков проверяет сборку и находит, что она подходит для повышения до QA
  • , они нажимают на Утвердить
  • Утвержденная сборка обновляется с версией (например, QA-1)
  • Ожидайте одобрения команды QA
  • После утверждения перейдите к производству.

Ссылка: https://jenkins.io/doc/pipeline/steps/pipeline-input-step/

Пример Фрагмент кода трубопровода

 stage("Validate before Apply") {
                timeout(time:30, unit:'MINUTES') {
                    input 'Are you sure to promote this build to QA?'
                }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...