Проверьте, находится ли код в главной ветви перед выпуском в производство - PullRequest
0 голосов
/ 20 марта 2020

У меня есть проект с двумя ветвями (разработка и мастер) и процесс выпуска в трех средах (dev, staging, production).

Я реализовал CI / CD, где код на ветке разработки это код, развернутый в среде разработки и промежуточной среде. Последний шаг моего конвейера выпуска - развертывание в производство, и я хотел бы знать, есть ли способ (задача) проверить, находится ли код, развернутый в среде разработки и промежуточной среде, уже в главной ветви.

Спасибо

Ответы [ 2 ]

1 голос
/ 20 марта 2020

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

  • для вашей сборки dev, создайте конвейер выпуска, который развертывается в вашей среде dev
  • создайте еще одну сборку для главной ветви, запущенной при слиянии вашей ветви dev в master. Вы можете использовать тегирование и установить новый тег на главном устройстве перед объединением, чтобы сохранить старую версию для исправления. и затем:

    1. либо новый конвейер выпуска с этапами подготовки и Prod
    2. , либо новый артефакт в предыдущем конвейере с фильтрами артефактов для этапов подготовки и производства

Вы также можете рассмотреть возможность изменения стратегии ветвления. Если вы разрабатываете функции и объединяете их только с вашей веткой, которая развернута в Prod на последнем этапе, вы можете использовать Release Flow модель ветвления только с одной ветвью.

0 голосов
/ 23 марта 2020

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

На данный момент у нас нет задач, предназначенных для такой работы. Таким образом, не существует одного простого решения для ваших требований, возможно, вам придется внести некоторые изменения в ваш рабочий процесс, чтобы удовлетворить ваши требования. Так же, как Mario предлагает выше, вы можете рассмотреть возможность использования Release Flow .

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