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