@FondyPuky

Как вы ведете проекты с GIT (Bitrix)?

У нас есть много проектов, в основном на битрикс, так же на CodeIgniter и других MVC фреймворках. По каким-то причинам (религиозно-этническим) GIT не используется. Хочу перевести все проекты на работу через GIT, с MVC фреймворками понятно - код фреймворка/картинки/кеш в gitignore, остальное пушим, мерджим.
Но с битриксом мне всё не кажется таким простым:
- во-первых, никаких миграций;
- во-вторых, чтобы разрабатывать локально, нужно иметь копию всего кода самого битрикса, а там лярд файлов, да и каждый проект может быть на немного разных версиях и редакциях, так что не получится симлинкать в один и тот же фолдер с битриксом;
- не помню что еще казалось проблемой.
Подскажите, пожалуйста, как бороться с этими проблемами и дополните, если есть еще какие-нибудь подводные камни.
То что битрикс - какашка, мы все знаем, но как говорится, клиент дудит, а мы танцуем, в ближайшее время от него не избавиться.
  • Вопрос задан
  • 3625 просмотров
Пригласить эксперта
Ответы на вопрос 3
s_panteleev
@s_panteleev
25 yo, Yaroslavl
во-первых, никаких миграций

Как вариант, использовать – https://github.com/worksolutions/bitrix-reduce-mig...

во-вторых, чтобы разрабатывать локально, нужно иметь копию всего кода самого битрикса

Мы PhpStorm'у скармливаем это (Languages&Frameworks => PHP => Include Path) – https://github.com/Prominado-ru/bxApiDocs . Проблему разных версий не решает, но пока проблем с этим не было)

Весь код проекта только в /local/
Ответ написан
Комментировать
Не понимаю чем битрикс отличается от других.
код фреймворка/картинки/кеш в gitignore, остальное пушим, мерджим.

Какие именно религиозные соображения не позволяют так сделать в случае с битрикс?

Собственно из опыта проблемы те же - как переносить изменения БД.
Я использовал два варианта:
1 Наивно-примитивный: просто дублируем руками все изменения БД, сделанные на тесте на боевом серваке и все. Добавили поле на тесте - добавляем сразу на боевом.
2 Версионные скрипты модификации БД - все изменения в структуре БД делаются только через API, специальными скриптами, которые внося изменения изменяют и номер версии БД в настройках. Текущий требуемый номер хранится в скриптах. На каждом хите он сличается с тем что есть в БД и если они не совпадают, запускаются скрипты миграции для БД, которые вносят необходимые изменения. Немножко гемора при разработке, но зато потом можно накатывать на совершенно голую инсталяцию сайт.
Ответ написан
Комментировать
gangstarcj
@gangstarcj
1) Синхронизировать базу. Пишем простой баш скрипт, который качает базу с тестового сервера на локальную. Работает ну пару минут, если не магазин на 50к товаров. При новой разработке дак вообще 30 сек выполняется
2) rsync папки bitrix. Первый раз занимает минут 5. При обновлении ядра занимает секунд 30. Запускается пару в месяц
3) rsync публичных папок (upload)
3) Вся разработка только в папке local, которая под гитом.

Все команды можно прописать в одном баш файле и запускать из консоли.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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