@CrazyEnimal
Кратко не получится.

Как правильно работать с GIT если у тебя проекты CMS?

Приветствую, товарищи!

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

Есть сайт на определенной CMS, предположим ProcessWire, и нужно его разрабатывать с несколькими людьми.
1. При этои хочется работать через гит, и чтоб на продакшен сервере заливалось при пуше в мастер ветку.
2. Чтоб ещё была DEV ветка, которая сливается на дев сервер, при пушах в гит.
3. чтоб можно было писать локально в докер контейнерах.
4. Чтоб в гите была только нужная информация, сама CMS по идее в гите не нужна, нужны только шаблоны и модули.
5. Не понятно что делать с assets. (В ассетах лежат файлы всякие, которые например сами пользователи загрузили на сайт, или картинки к новостям и т.д.) По идее они не должны попадать в GIT, но тогда не понятно как это все синхронизировать между dev <-> prod <-> local у всех разрабов и серверов.

Посоветуйте какой нить материал, кто работает по таким или похожим схемам на разработке сайтов (БОЛЬШИХ САЙТОВ, которые весят большен пары сотен мегабайт) при этом в команде, при этом нормально чтоб я мог писать кусок локально, потом запушить его в гит, там его обработал какой-нить CI/CD и он попал на дев, там его посмотрели, обкатали, и этот кусок попал на PROD.
Заранее благодарен!
  • Вопрос задан
  • 543 просмотра
Решения вопроса 1
DevMan
@DevMan Куратор тега Git
1. билд–сервер + система деплоя по вкусу
2. аналогично п. 1
3. никакой связи с остальными пунктами
4. хранить в гите только то, что нужно
5. синхронизировать нужно только ассеты, имеющие непосредственное отношение к приложению (стили, скрипты, иконки, и т.п.) и они должны быть в гите. пользовательский хлам хранится в отдельной папке, которая просто линкуется при деплое в проект.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@grinat
1-2, а зачем две ветки, если все равно идет мерж из дева в мастер
3 пишите, кто мешает? Я не против, спросил у сереги(это кактус), он грит что тоже не против.
4 ну добавьте в гитигнор, было бы неплохо если бы cms грузилась через composer, тогда бы шла как вендор зависимость
5 их в гитигнор, у вас своя локальная копия, у юзеров своя, они никак не связаны. Учитывая что в cms вроде нет миграций, то можно периодически сливать дампы бд/файлов. Файлы хранить в gitlfs
Дженкинс не советую, лучше gitlab, он проще в настройке, у него встроенный ci/cd, у них в доках есть примеры.
Ответ написан
@d-sem
1. 2. Гитхуки.
3. Развернуть локально докер контейнеры которые будут пулить репозиторий.
4. Выделить изменяемую часть кода в репозиторий, который подтягиваться к нужному месту.
5. Хранить отдельно и дергать с прод, дев, локала.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы