Установка серверной части в docker¶
Скрипты написаны на Python 3 и выполняют следующие автоматизированные операции:
- Установку и конфигурирование базы данных PostgreSQL
- Запуск sql-скриптов создания и обновления схем БД
- Установку и конфигурирование сервера приложений WildFly
- Развертывание приложения RMS на WildFly
Скрипты *.py вместе с необходимыми для выполнения файлами сгруппированы по папкам, запускаются из соответствующих папок.
Для первичной установки RMS скрипты выполняются в последовательности, указанной в названии папок (postgres_setup.py, migrate_db.py, wildfly_setup.py, deploy_rms.py)
Если требуется обновить RMS, из артефакта новой версии, запускаются скрипты migrate_db.py и deploy_rms.py
Примечание
Для установки Postgresql вне докера перейдите в раздел - Ручная установка и первичная настройка PostgreSQL в CentOS 7,
затем в раздел - Создание/обновление схем БД (2_migrate_db)
Установка и конфигурирование СУБД PostgreSQL (1_postgres_setup)¶
В файле config/postgres_setup.config указываются параметры установки БД (по умолчанию запуск в докер контейнере, имя докер контейнера robin-postgres, имя сети robin)
В папке images находится первоначально сконфигурированный докер образ PostgreSQL. В папке build - файлы для создания этого образа
Для запуска выполнить скрипт postgres_setup.py
В ходе установки будет установлен пароль суперпользователя "postgres" - postgres. Так же будут созданы пользователи "user_robin", "user_orch", "user_quartz" с паролем Qwerty123
Данные пароли при необходимо поменять и внести правки в конфигурационные файлы migrate_db.config, wildfly_setup.config
Создание/обновление схем БД (2_migrate_db)¶
Создание/обновление схем БД осуществляется инструментом миграции FlyWay
В файле config/migrate_db.config находятся параметры запуска команд FlyWay (запуск FlyWay в докере, параметры доступа к БД и т.д.)
В папке images находится официальный докер образ flyway:6.1.1
В папке sql - список всех миграций БД. (будут применены только новые, по отношению к текущей версии схемы БД)
Для запуска выполнить скрипт migrate_db.py
Установка и конфигурирование сервера приложений WildFly (3_wildfly_setup)¶
В файле config/wildfly_setup.config указываются параметры запуска WildFly (запуск WildFly в докере, параметры datasourse и переменные среды JAVA_OPTS)
Необходимо выделить достаточное количество ресурсов для сервера приложений. Для этого в переменных JAVA_OPTS нужно изменить следующие параметры:
- /
Xmx2G- максимальный размер оперативной памяти выделенной виртуальной машинеJVM- /
XX:MaxMetaspaceSize=512M- максимальный размер памяти выделенной под метаданные приложения
В файле config/logging.cli - пакет команд jboss-cli для настройки логирования. В них прописаны параметры ротации логов.
В папке certificate находятся файлы ключей и хранилища сертификатов.
В папке images - официальный докер образ wildfly:18.0.0.Final и образ утилиты keytool
В папке jboss - файлы модулей WildFly необходимых приложению RMS
В папке jdbc-driver - драйвер postgresql-42.2.8.jar
Для запуска выполнить скрипт wildfly_setup.py
В ходе установки будет запрошен и установлен пароль администратора (для доступа веб консоли WildFly. Консоль доступна на порту 9990)
Так же установщик попросит указать сертификаты, ввести пароли существующих и создаваемых хранилищ ключей.
В папке certificate/server/ уже лежат тестовые сертификаты. При необходимости заменить на актуальные.
- SSL сертификат агента:
client.crt - SSL сертификат сервера:
dev-orch.robin.it.ru.pfx(пароль исходника - 1) - обязательный сертификат верификации RMC:
orchestrator-client.p12(пароль - Qwerty123, alias - orchestrator-client). Alias и пароль должны быть прописаны вapplication.propertiesприложения RMS.
Настройку SSL можно отключить в конфигурационном файле config/wildfly_setup.config
Развертывание приложения RMS на сервер WildFly (4_deploy_rms)¶
В файле config/deploy_rms.config указываются параметры подключения к серверу WildFly
В папке properties - файлы свойств приложения RMS.
В папке target - war-файл приложения RMS
В папке wildfly_updates - файлы jboss-cli скрипты обновления конфигурации WildFly (соответствующие версиям RMS)
Для запуска выполнить скрипт deploy_rms.py