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

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

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

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

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

Посоветуйте какой нить материал, кто работает по таким или похожим схемам на разработке сайтов (БОЛЬШИХ САЙТОВ, которые весят большен пары сотен мегабайт) при этом в команде, при этом нормально чтоб я мог писать кусок локально, потом запушить его в гит, там его обработал какой-нить CI/CD и он попал на дев, там его посмотрели, обкатали, и этот кусок попал на PROD.
Заранее благодарен!
  • Вопрос задан
  • 532 просмотра
Решения вопроса 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. Хранить отдельно и дергать с прод, дев, локала.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Deliver Москва
До 160 000 руб.
RUVOD Москва
До 150 000 руб.
от 110 000 до 200 000 руб.