# Админ панель
# Введение
В BPM-системе нашей группы разработчиков хранится общая кодовая база. Этот код не может быть предназначен для конкретного заказчика инстанса. Здесь происходит основная разработка, которая затем настраивается для инстансов. В рамках этой системы существует процесс, называемый ProStage Instance, который позволяет автоматически деплоить код на инстансы заказчиков.
# Основные понятия
Репозиторий разработки: Здесь хранится общая кодовая база. Пример: https://gl-1.2pp.dev/bpm-system/bpm-system-admin.git (opens new window).
Ветка инстанса: Это ветки в репозитории разработки, созданные специально для инстанса. Примеры:
admin-india,admin-peru,admin-pakistan.Репозиторий инстанса: Автоматически создаваемое хранилище на основе ветки инстанса. Пример: https://gl-1.2pp.dev/production-instances/admin-india.git (opens new window).
Соотношение адресов админки и бека:
- prod - форк на репозитий инстанса
- stage - https://admin.stage.bpms.studio (opens new window) -> https://api.stage.bpms.studio (opens new window)
- develop (среда для работы Аналитиков) - https://admin.dev.bpms.studio (opens new window) -> https://api.dev.bpms.studio (opens new window)
- testing (среда для работы Разработчиков) - https://admin.testing.bpms.studio (opens new window) -> https://api.dev.bpms.studio (opens new window)
- Хаб - (среда, которая будет распространяться на все инстансы, она же - среда для работы аналитиков. На хабе будут все процессы, все ноды, все правила) - https://admin.hub.bpms.studio/business-process (opens new window) -> https://api.hub.bpms.studio/ (opens new window)
# Деплой на инстансы
Репозиторий для разработки:
https://gl-1.2pp.dev/bpm-system/bpm-system-admin.git- Создание веток для стран, например:
admin-india. - Ветки создаются от основной stage-ветки, с настройкой .env для сборки по плагинам.
- Создание веток для стран, например:
Автоматическое клонирование: При коммите в ветку
admin-<имя_инстенса>, происходит автоматическое клонирование кода в соответствующий репозиторий инстанса.Репозиторий инстанса: Пример для Индии —
https://gl-1.2pp.dev/production-instances/admin-india.git. Здесь код автоматически копируется в тестовую ветку/test.Автоматическая сборка: В ветке
testрепозитория инстанса происходит автоматическая сборка проекта и его выкладка на тестовый ресурс.Деплой на продакшен: После успешного прохождения тестов, изменения на main-ветку репозитория инстанса делаются либо руками разработчиков из нашей команды, либо заказчиком через merge request с ветки
/test. После чего запускается скрипт по сборке и выкладке.
# Дополнительная информация
- Возможно размещение репозиториев инстансов в приватных GitLab'ах у заказчиков.
- Все ссылки на API настраиваются в ENV (ресурсах гитлаба).
# Схема
