Рубрики
Uncategorized

Рабочий процесс Gitflow, автоматизированные сборки, интеграция и развертывание.

Использование рабочего процесса Gitflow с CI & CD

Автор оригинала: Chuka Ofili.

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

Один важный инструмент, который может создавать сотрудничество с другими разработчиками без проблем, является системой управления версией. Самая популярная система на момент написания этой статьи, это Гит Отказ

Git — это система, используемая для отслеживания изменений в файлах и координации работы по этим файлам среди нескольких человек; Он в основном используется для управления исходным кодом в разработке. Это бесплатно, открытый источник, и он обрабатывает все от маленьких до очень больших проектов со скоростью и эффективностью.

За прошедшие годы я видел, что разработчики используют разные рабочие процессы для Git. Они обычно включают в себя базовые, функциональные ветви только, функция филиала и запросы Merge, Gitflow и поддельный рабочий процесс. Вы можете прочитать на этих концепциях здесь Отказ Но в стремлении к упорядочению и автоматизации нашего рабочего процесса от разработки до производства, в то время как работают с другими разработчиками на вашем проекте, я бы порекомендовал использовать Gitflow.

Gitflow & Как мы можем использовать его для автоматической интеграции и развертывания.

Таким образом, идея состоит в том, чтобы иметь две основные филиалы имени Мастер & Dev которые связаны с двумя средами: Постановка (https://staging.exampleapi.com) & Производство (https://exampleapi.com). Как правило, вы должны быть точной репликой вашей производственной среды.

Мастер филиал

Мастер Филиал — это готовая к производственной версии нашей кодовой базы, которая автоматически развернута в нашей производственной среде (https://exampleapi.com), со всем полностью проверенным и проверенным. «Ты не дозадишься этой ветви».

Вот как я чувствую, когда это происходит.

Дев филиал

dev Филиал — это то, где все функциональные ветви объединены после того, как запросы по тяги были тщательно проверены, исправлены, и все тесты выполняются. После того, как все строит пропуск, эта филиал развернута в обстановку постановки (https://staging.exampleapi.com) для QA & UATS.

Релиз филиал

Когда-то пришло время для выпуска, от филиала выпуска должна быть создана из филиала Dev для окончательного аудита, например: Cleanup & Remove Comments, версию и т. Д. Эта ветка помечена, а затем объединена как для ветвей Master & Dev.

Вы не должны просто сливаться на мастера от Dev.

Контроль доступа

Все изменения кода в ветви DEV должны быть выполнены через запрос на тягу, и помочь предотвратить случайные прямые толкания, вы можете использовать разрешения на ветку. См. Изображения ниже для настройки разрешений ветвей для обоих BitBucket.org & github.com Отказ Я уверен, что большинство других редакционных платформ поддерживают это в одной форме или другой.

Bitbucket: РЕПО> Настройки> Разрешения ветви

GitHub: Настройки> Филиалы> Охраняемые ветки

Типичный процесс разработчика

  1. Разработчик имеет задачу, чтобы сделать.
  2. Разработчики филиалы dev, давайте назовем его функцию/пользовательскую регистрацию.
  3. Разработчик работает над функцией/пользователем регистрацией.
  4. Разработчик записывает свои собственные модульные тесты для функции/пользовательской регистрации.
  5. Разработчик получает обновления от разработки при необходимости (слияние Dev In). например. «Git Pull Origin Dev»
  6. Разработчик публикует функцию/пользовательскую регистрацию.
  7. Разработчик делает окончательное обновление от Dev.
  8. Разработчик гарантирует, что их единичные тесты и все регрессионные тесты проходят локально.
  9. Разработчик толкает функцию/регистрация
  10. Разработчик гарантирует, что их модульные тесты и все регрессионные тесты проходят на сервере сборки.
  11. Разработчик представляет запрос на тягу к разработке.
  12. Установка запроса, интеграция и регрессионные тесты работают на сервере сборки.
  13. Администратор объединяет запрос на тягу на ветку Dev, который построен и развернут для постановки для оценки QA & UAT.
  14. Сервер сборки удаляет удаленную функцию/пользовательскую регистрацию.
  15. Разработчик удаляет локальную функцию/пользовательскую регистрацию.
  16. Перейти на шаг 1.

Некоторые полезные клиенты GIT GUI: SmartGit , Sourcetree & Клиент GitHub

Надеюсь, это поможет.

Оригинал: «https://www.codementor.io/@chukaofili/gitflow-workflow-continuous-integration-continuous-delivery-ijs9s3o4s»