@AstonMartin

Как организовать репозитории в гите?

Доброго дня!

У нас есть два сайта: интернет-магазин и crm-система к нему. Оба самописные на yii2, все в одном проекте. Естественно, что они в некоторой степени интегрированы друг с другом. БД одна. Используем github для хранения исходников.
В настоящее время все сделано очень примитивно:
- dev и продакшен сайты лежат на одном сервере. shop.com, crm.shop.com, test.shop.com, testcrm.shop.com
- в гите один репозиторий и один бранч master
- тестим на тестовых доменах, если все норм, то делаем git clone на продакшн домены.

Что неудобно:
- crm и магазин деплоятся вместе.
- разработка больших частей системы тормозит деплой мелких исправлений

Хочется сделать все по-нормальному. Подскажите, плз, как лучше организовать? Делать разные репозитории? Делать разные бранчи? Или как-то обойтись тэгами?
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Я бы делал так:

  • разные репы для CRM и магазина
  • разные бранчи в репах, по принципу:
    • master - последний стабильный код
    • development - текущая версия в разработке, которая тестируется
    • feature/developer бранчи - там все пилится, либо отдельным разрабом, либо отдельной фичей



1. Фича сделана - идет пулл-реквест в development, деплой на тестовый сервер (и зачем вам clone если можно git pull origin development)
2. Если все ок - пулл в мастер, мердж и деплой на продакшн.

Саму ветку master в обеих репах запретить для записи кем-либо, только через пулл из development. Мерджить и деплоить должен тимлид / ответственный за работоспособность кода в продакшне.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы