Управление исправлениями в конвейере Heroku - PullRequest
0 голосов
/ 07 октября 2018

У меня есть простой конвейер развертывания Heroku (обзор приложений -> разработка -> подготовка -> производство).Если я что-то нажму на master, то это вызовет CI (кодирование), и если тесты пройдут успешно, Codeship развернет изменения в приложении development Heroku.Это довольно просто.

Но как мы можем управлять исправлениями?Что произойдет, если мы по какой-либо причине не сможем развернуть текущую master в рабочей среде.

Я только что прочитал статью , в которой говорится, что мы должны обрабатывать исправления с помощью тегов git.Это единственный способ управлять исправлениями?Можем ли мы справиться с этим без использования тегов git?

Ответы [ 2 ]

0 голосов
/ 28 августа 2019

Для тех, кто все еще смущен этим, Heroku Pipelines позволяет развертывать ваше производственное приложение из любой ветви:

Choose a branch to deploy

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

0 голосов
/ 07 октября 2018

master - ваша ветвь развертывания.Таким образом, исправления также делаются в ветке master.

Я предполагаю, что у вас также есть ветка разработки.Поэтому, если у вас есть текущая работа, вы продолжаете делать это в ветке разработки и не объединяете ее в master.

Если master не работает - вы должны исправить это (следовательно, исправление).Вы исправляете проблему, переводите ее в мастер и продолжаете цикл развертывания.

Затем вы должны также выбрать исправление обратно в ветку разработки.

Обновление

Если вы хотите придерживаться одной ветви master, то я не вижу обходного пути, работающего с ветвями исправлений.

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

Разработчики продолжают работать над master - он переходит к подготовке, но вы полагаете, что он не может перейти к мастеру.

Итак, вы:

  • создаете новую ветвь на основе текущей версии - это ветвь исправления.
  • Создайте исправление
  • Разверните ее
  • Объединить его с мастером
...