208 похожих чатов

Грамотный деплой Битрикса - как? Задача: подготовить инфраструктуру, с помощью которой

будет возможность разворачивать локальные копии проектов у разработчиков в докере, разворачивать тестовый сервер для согласования новых фич и, иногда, нового контента с заказчиком, а так же проводится тестирование методом тыка. Ну и в конце концов прод сервер, куда будут выкатываться согласованные фичи.

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

Причём под словом «контент», взносимый разрабом, я подразумеваю скорее, например, настройки служб доставки. Хотя иногда требуется даже показывать товары на ветрине на тесте до выката из в прод. (особенно на проекте, где у заказчика битрикс работает как api бекенд к фронтенду на Vue.js)

Изменения которые необходимо передавать:
• Изменения кода без ядра
• Изменения бд через миграции
• Изменения контента / настроек в базе
• Изменения контента в папке /upload/

Ход моих мысли и встающие вопросы:

Изменения в коде очевидно как передавать: на то есть git.

Как передавать изменения структуры бд тоже понятно: есть много готовых решений с миграциями. Хотя встаёт вопрос: а что если изменения структуры были произведены разрабом через админку? Как реплицировать эти изменения БД в файл миграции?

Как передавать изменения контента или настроек модулей? Миграции, как я понимаю (и как я прочитал все Readme всех доступных решений) передают структуру, а не контент.

Что делать с папкой /upload/? На сколько я изучил лучшие практики - никто эту папку в гит не кладёт. А что тогда делать с передачей контента?

Предположим, я разраб, который должен подключится к разработке проекта: что я должен сделать? Развернуть бекап мастера на локале, а затем подключится к репозиторию и сделать git clone? (И тут ещё появляется вопрос миграций: получается база то будет актуальная, и этап миграции надо пропустить?)

А как иначе? Ядро передавать - это же плохо. А откуда его взять иначе?

Почему я задаюсь этими вопросами? Потому что я начинающий devops, меня крайне затягивает эта тема, а теперь передо мной встала задача замутить такое аж на двух проектах с битриксом. С битриксом я знаком достаточно поверхностно.

Не ругайте, если кому то покажется, что я задаю глупые вопросы: тогда поверните меня в нужное русло. А может при такой тесной интеграции веток разработки все это вообще не нужно..?

Какие у вас будут на этот счёт мысли?

P.S. Я уже прошёлся поиском по чату в попытках найти идеи или рассуждения на эту тему, но ничего конструктивного не нашёл.

5 ответов

28 просмотров

>Что делать с папкой /upload/? На сколько я изучил лучшие практики - никто эту папку в гит не кладёт. А что тогда делать с передачей контента? Как вариант использовать rsync для передачи /upload/

Игорь-Майоров Автор вопроса
Ivan Milov
>Что делать с папкой /upload/? На сколько я изучил...

На тесте синхронизировать папку с локальными копиями? Выглядит интересным, но такое чувство, что тогда что то должно с базой рассинхронится

>Как передавать изменения контента или настроек модулей? Миграции, как я понимаю (и как я прочитал все Readme всех доступных решений) передают структуру, а не контент. Вот этот модуль смотрели? https://marketplace.1c-bitrix.ru/solutions/sprint.migration/ Есть wiki https://github.com/andreyryabin/sprint.migration/wiki и куча примеров файлов миграций. Можно и контент переносить, элементы, разделы и прочее. Настройки модулей наверняка тоже можно. Пример добавления элемента: https://github.com/andreyryabin/sprint.migration/blob/master/examples/Version20190606000012.php

Игорь-Майоров Автор вопроса
Ivan Milov
>Как передавать изменения контента или настроек мо...

Смотрел. Основная проблема в том, что получается разраб должен вообще забыть про админку и весь контент пихать через код миграций? Или, иначе, где то должны генерироваться миграции (хотя бы контента) автоматически. Есть ещё одно решения, кажется, похожее, и они даже заявляют поддержку автоматической генерации миграций: https://github.com/arrilot/bitrix-migrations

думаю, если в конце всех изысканий вы поделитесь общей схемой с сообществом - это будет очень годный контент :)

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта