GIT - Внедряет ветку Feature On Production - PullRequest
0 голосов
/ 14 января 2019

У меня есть серьезные изменения в моей ветке «Feature», эта ветка «Feature» обновляется из основной ветки:

git checkout feature
git pull origin master

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

Итак, в процессе производства я думаю просто оформить заказ в ветке «feature», поэтому, если есть ошибка, из-за которой пользователи не могут продолжить, я могу сразу же вернуться в главную ветвь.

Обратите внимание, что эта основная реализация не повлияет на существующие подпрограммы базы данных.

Это просто отлично, верно? Есть мысли?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Развертывания продукции

Нет правильного ответа на этот вопрос, поскольку он сводится к вашим предпочтениям, ограничениям и требованиям для производственной среды. В зависимости от того, насколько чувствительной является эта среда (и это звучит так, как будто вы говорите о нечувствительной системе с небольшим количеством пользователей), вы хотите убедиться, что все новые развертываемые вами функции хорошо протестированы и не нарушают ожидаемую функциональность. Этого можно добиться, например, с помощью промежуточной среды, настройки непрерывной интеграции, использования развертываний Blue / Green или Canary Releases и т. Д.

Возможно, следующая статья будет хорошей отправной точкой: Развертывание в производство - аналогично, вы найдете много советов по теме CI / CD здесь, в разделе Переполнение стека и в других частях межсетевого взаимодействия.

Git Ветвление

В общем, я бы предложил использовать рабочий процесс git, такой как Модель ветвления Винсента Дриссена , используя теги git и гарантируя, что ваши ветви функций будут небольшими, то есть одна ветвь для каждой функции или исправления ошибки. Это ограничит неопределенность объединения сразу нескольких изменений в основную ветку и поможет вам протестировать ваш код.

Для вашей конкретной ситуации, почему бы не создать тег git в основной ветке и объединить его с функциональной ветвью после тестирования? Затем вы можете создать новый тег и выпустить его в производство. Если после развертывания вы обнаружите какие-либо ошибки, вы всегда можете откатить и развернуть предыдущий тег или создать ветку для исправления ошибки, чтобы решить эту проблему.

Создать тег в репозитории GitHub

0 голосов
/ 15 января 2019

это нормально, правда?

Развертывание вручную на производстве никогда не бывает хорошим. Если ваша функция готова к запуску, ее следует объединить с мастером и продолжить процесс выпуска. Если что-то идет не так неожиданно после запуска функции, процесс возврата начинает работать. Когда я говорю «процесс возврата», я не имею в виду «git revert», предыдущая рабочая версия где-то архивируется, и ее можно быстро и легко переключить на производство. Это нижняя строка и худший случай. Обычно вы должны убедиться, что функция работает до производства (скажем, тестирование и промежуточная среда).

Вернуться к части GIT. Если вы используете ветку git в качестве «архива резервных копий», о котором я упоминал выше (хотя это не рекомендуется в производственной среде), это работает, если ваш код не приводит к конфликтам (например, записи db / файлы на диске / и т. Д.).

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