@ambrous

Как правильно организовать разработку bitrix + svn?

Всем привет!

Интересует как знающие и опытные люди организуют разработку bitrix + svn. (Конечно понимаю, что знающие и опытные люди не работают с битриком, но все же)
Нашел одну статью на хабре habrahabr.ru/post/189630 , но после слов "Проект занимает на диске около 80Гб" и "Пытался по началу убрать картинки и видео из контроля версий – не получилось" понял, что зашел не туда.

Думаю организовать следующим образом:
1. У себя завести два проекта (один боевой, второй тестовый), которые будут привязаны к одному репозиторию.
2. Каждый из проектов соответственно подключен к боевому и тестовому сайту.
3. Т.е. сам процесс: вносим изменения на тестовом сайте -> коммитим -> обновляем боевой проект -> выгружаем на боевой сайт

Но как быть с кучей неизменяемых файлов или файлов ядра битрикса? Просто ставить ignore при коммитах?
И на сколько хорош способ подключения нескольких разработчиков, используя NFR-ключи, как предложено в вышеуказанной статье?
  • Вопрос задан
  • 573 просмотра
Решения вопроса 1
Статью игнорируйте. Человек даже не осилил встроенную систему бэкапов битрикс и предложил делать всё то, что она умеет сама, но руками. Что тут еще добавлять? А, да - у них полный комплект сертификатов - это уже должно настораживать. А вот комменты стоит там почитать - есть полезные.
Все проблемы описанные про 80Гб не стоят и выеденного яйца. Там из 80Гб 79Гб картинки которые вам тащить в проект не обязательно и даже вредно и опасно. Ключи тоже нафиг не нужны. Закройте девелоперские сервера чтобы они не торчали в сеть и всё. Никто вам слова не скажет.
Вы упустили самую большую проблему любого вэбпроекта, не обязательно битрикса - как вносить изменения в базу? Ну допустим вы сделали модуль с отзывами и для него вам потребовалось добавить товарам 2 свойства. Закоммитите вы это на сайт и чо? Вам придется идти и руками создавать в админке эти поля. Или писать к каждому коммиту скрипт, который их создаст. Вот об этом подумайте лучше.
Я бы остановился на скрипте. Но только не SQL запрос, а именно скрипт создания полей через битрикс-API.
В остальном ваша схема более менее верная.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
opium
@opium
Просто люблю качественно работать
Ну в первую очередь надо юзать гит все таки не 2005 год
Во вторых достаточно в гит игнор добавить папку с медиафайлами
Ответ написан
Комментировать
Используйте git и git flow для разделения production и development веток.

Используйте примерно такой

.idea/
bower_components/
node_modules/
vendor/
composer.lock
*.sh
.keep
db/*-production.sql
logs/
tmp/
www/sitemap*.xml
www/bitrix/site_checker_*.log
www/bitrix/cache/
www/bitrix/catalog_export/
www/bitrix/html_pages/
www/bitrix/managed_cache/
www/bitrix/modules/serverfileerrorlog.dat
www/bitrix/modules/serverfilelog-*.dat
www/bitrix/modules/updater.log
www/bitrix/modules/updater_partner.log
www/bitrix/stack_cache/
www/bitrix/tmp/
www/bitrix/updates/
www/upload/*
!www/upload/watermark.png

.gitignore, чтобы не таскать кеш, все картинки и прочие загружаемые файлы в репозитарии, но некоторые файлы всё-таки таскать.

Подключите Selectel Storage или любое другое облачное хранилище (S3 или OpenStack совместимое) в админке сайта и максимально широко разрешите его использование; желательно, всем модулям без исключения. Таким образом вы получите одни и те же загруженные файлы на тестовом и боевом сервере, но без захламления репозитария.

Всю свою разработку (настройки, модули, шаблоны, компоненты) ведите в /local/ (в документации и на форумах 1С-Битрикс подробно описано, почему так надо).

/bitrix/ НЕ исключайте из репозитария, вопреки рекомендациям там же. В Битриксе регулярно приходят кривые обновления и лучше посмотреть git status и git diff прежде чем коммитить и выливать их на боевой сервер.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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