regiomedia / bitrix-project

Заготовка 1C Bitrix проекта: автозагрузка, композер, базовые ООП компоненты, миграции, модели, современный фронтенд стек, инструменты для деплоя.
242 stars 57 forks source link

Проблема с файлами в shared/bitrix #13

Open vertx-one opened 5 years ago

vertx-one commented 5 years ago

Повторный запуск (сразу после первого) dep deploy говорит что в папке bitrix есть назакомиченные изменения http://joxi.ru/xAeYlWdIpqebBA

Попытка закоммитить их приводит к сообщению что данные файлы лежат по ссылке и сделать это нельзя - что логично, т.к. файлы bitrix лежат в shared, а она в свою очередь не подлежит версионированию для данного проекта.

Как вы решили/обошли эту проблему?

vkryukov76 commented 5 years ago

🤔

С таким поведением не сталкивался.

Отмечу, что в .gitignore проекта есть строки

/bitrix
/upload

которые соответственно должны игнорить эти самые файлы и/или директории (и их содержимое) в корне проекта.

vertx-one commented 5 years ago

Еще раз глянул начальную структуру вашего проекта и понял что это .gitignore от нашего изначального проекта. Пока удалил его - все ок

Но сложности все-таки остаются из-за неполной реализации битриксом поддержки /local В частности часть файлов жестко создается в /bitrix из нашей практики: кастомизация платежных систем строго должна быть тут /bitrix/php_interface/include/sale_payment - https://dev.1c-bitrix.ru/user_help/store/sale/settings/sale_pay_system_file.php. Есть мысль положить их в /local/php_interface/inclucd/sale_payment, а затем сделать symlink /bitrix/php_interface/include/sale_payment на /local/php_interface/inclucd/sale_payment

Можно попробовать собрать сюда все папки которые необходимо версионировать, несмотря на их жесткое расположение в папке /bitrix

Я готов сделать таск для деплоера и оформить их в качестве PR, если вы поддерживаете это начинание.

vkryukov76 commented 5 years ago

Идея хорошая (с симлинками), но есть нюанс:

В этом случае - если просто залинковать директории вроде sale_payment и остальные, то в репозиторий попадет все их содержимое - в том числе файлы, которые добавляют модули из маркетплейса и сам битрикс.

Остается только добавлять в таск только "свои" файлы и директории.

Но в этом случае возникнут сложности с их удалением, если это потребуется.

Что думаете насчет использования миграций для этого?

Хоть они и сделаны в первую очередь для БД, здесь они также могут пригодиться:

1) Где нибудь в local пишется "настоящий" код. 2) "миграцией" создается ссылка на файл/директорию 3) ??? 4) PROFIT

А миграция-удалятор (если потребуется) будет работать с точностью до наоборот.

vertx-one commented 5 years ago

Отличная идея. Думаю должно сработать как надо. Готов помочь с кодом

ср, 24 окт. 2018 г., 12:11 Valeriy notifications@github.com:

Идея хорошая (с симлинками), но есть нюанс:

В этом случае - если просто залинковать директории вроде sale_payment и остальные, то в репозиторий попадет все их содержимое - в том числе файлы, которые добавляют модули из маркетплейса и сам битрикс.

Остается только добавлять в таск только "свои" файлы и директории.

Но в этом случае возникнут сложности с их удалением, если это потребуется.

Что думаете насчет использования миграций для этого?

Хоть они и сделаны в первую очередь для БД, здесь они также могут пригодиться:

  1. Где нибудь в local пишется "настоящий" код.
  2. "миграцией" создается ссылка на файл/директорию
  3. ???
  4. PROFIT

А миграция-удалятор (если потребуется) будет работать с точностью до наоборот.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/regiomedia/bitrix-project/issues/13#issuecomment-432577980, or mute the thread https://github.com/notifications/unsubscribe-auth/ABVQSEAhhbWJo0swbCtioIkBfBoQk_NSks5uoC6sgaJpZM4XzH_5 .