Автор оригинала: 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: Настройки> Филиалы> Охраняемые ветки
Типичный процесс разработчика
- Разработчик имеет задачу, чтобы сделать.
- Разработчики филиалы dev, давайте назовем его функцию/пользовательскую регистрацию.
- Разработчик работает над функцией/пользователем регистрацией.
- Разработчик записывает свои собственные модульные тесты для функции/пользовательской регистрации.
- Разработчик получает обновления от разработки при необходимости (слияние Dev In). например. «Git Pull Origin Dev»
- Разработчик публикует функцию/пользовательскую регистрацию.
- Разработчик делает окончательное обновление от Dev.
- Разработчик гарантирует, что их единичные тесты и все регрессионные тесты проходят локально.
- Разработчик толкает функцию/регистрация
- Разработчик гарантирует, что их модульные тесты и все регрессионные тесты проходят на сервере сборки.
- Разработчик представляет запрос на тягу к разработке.
- Установка запроса, интеграция и регрессионные тесты работают на сервере сборки.
- Администратор объединяет запрос на тягу на ветку Dev, который построен и развернут для постановки для оценки QA & UAT.
- Сервер сборки удаляет удаленную функцию/пользовательскую регистрацию.
- Разработчик удаляет локальную функцию/пользовательскую регистрацию.
- Перейти на шаг 1.
Некоторые полезные клиенты GIT GUI: SmartGit , Sourcetree & Клиент GitHub
Надеюсь, это поможет.
Оригинал: «https://www.codementor.io/@chukaofili/gitflow-workflow-continuous-integration-continuous-delivery-ijs9s3o4s»