1. Выполнить подготовительную настройку и запушить в репо
1. На хосте:
1. Установить Битрикс
1. Настроить работу миграций
1. На всякий случай, забэкапить директории bitrix и upload
1. На локальной машине:
1. Установить Битрикс
1. Настроить работу миграций
1. Создать шаблон
1. Настроить сборку фронт-энда
1. В конфиге `.gitlab-ci.yml` разблокировать задачи по сборке (build_assets) и миграциям (migrations) (убрать точку перед названием)
1. ???
1. PROFIT!!!
**P.S.** При работе с проектом, если вдруг внесены изменения не требующие выгрузки на сервер, следует добавлять `[skip ci]` в сообщение коммита
## Как это работает
Процесс выгрузки содержит 3 стадии: (startup, build, deploy)
На стадии **startup** задача `save_user_data` из директорий bitrix и upload создает артефакт, чтобы использовать его в следующих стадиях. Благодаря переменной GIT_STRATEGY=none, на первом этапе с рабочей директорией ничего не происходит. Артефакт загружается на `git.zolotoykod.ru` и доступен для скачивания в *Pipelines* репо.
Задача `startup` завершает одноименную стадию и запускает Docker контейнеры.
На стадии **build** выполняются задачи `build_assets` и `migrations`.
-`build_assets` устанавливает зависимости для Node.js и выполняет сборку фронт-энда. Из собранных файлов также создается артефакт.
-`migrations` просто выполняет миграции.
Стадия **deploy** состоит из одноименной задачи `deploy`, которая служит для скачивания артефактов с предыдущих стадий.
## Подготовительная настройка
1. Поправить `docker-compose.yml`:
...
...
@@ -13,7 +46,7 @@
* Подключить раннер `111-DEV-HST`
* Переименовать `gitlab-ci.yml` в `.gitlab-ci.yml` для работы CI
3.**Last but not least**. Для PHPStorm и других IDE от Jetbrains следует отключить папку `db` от индексации(!!!), чтобы она не влияла на производителность!
3.Настроить сборщик и указать директорию с собранными файлами в `.gitlab-ci.yml` (заменить вместо `%PATH_TO_BUILD%`)