Инициализация БД#
Настройка компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT)#
Перед запуском скриптов инициализации БД необходимо настроить компонент Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT).
Ниже представлен пример минимальной настройки программного компонента.
Примечание
Актуальный набор параметров см. в документации на соответствующую версию компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT). Версию программного компонента см. в разделе Платформенные зависимости.
Настроить правила распаковки родительского дистрибутива и его зависимостей для профиля
db-init, файлenvironment.json.{ "downloadProfiles": { "db-init": { "parentUnpackIncludes": [ "/package/conf/**" ], "parentUnpackExcludes": [ "/package/conf/distrib.yml" ], "dependenciesUnpackIncludes": [ "/package/**" ], "dependenciesUnpackExcludes": [] } } }Добавить плейбук
DB_INITв список возможных сценариев развертывания, файлenvironment.json."playbooks_fpi": { "DB_INIT": { "id": 1 // идентификатор playbook, порядковый номер относительно других playbook в репозитории }, }Добавить параметры в файл
ansible/common.conf.yml(значения указаны в качестве примера):DB_SCHEMA_SUFFIX: "_DEV" # суффикс БД - уникальный идентификатор ... DCGN_POSTGRES_DB_HOST: {IP_ADDRESS} # IP-адрес БД DCGN_POSTGRES_DB_PORT: 5432 # порт DCGN_POSTGRES_DB_NAME: postgres # имя БД DCGN_POSTGRES_DB_URL: jdbc:postgresql://{{ DCGN_POSTGRES_DB_HOST }}:{{ DCGN_POSTGRES_DB_PORT }}/{{ DCGN_POSTGRES_DB_NAME }} # базовая директория для хранения табличных пространств (опционально) DCGN_POSTGRES_DB_TS_LOCATION: /pgdata/ts # табличное пространство для основных данных (наименование и расположение на файловой системе) DCGN_POSTGRES_DB_TS_DATA: dcgn_ts_data DCGN_POSTGRES_DB_TS_DATA_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_DATA }}" # /pgdata/ts/dcgn_ts_data # табличное пространство для индексов (наименование и расположение на файловой системе) DCGN_POSTGRES_DB_TS_IDX: dcgn_ts_idx DCGN_POSTGRES_DB_TS_IDX_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_IDX }}" # /pgdata/ts/dcgn_ts_idx # табличное пространство для больших объектов (наименование и расположение на файловой системе) DCGN_POSTGRES_DB_TS_LOB: dcgn_ts_lob DCGN_POSTGRES_DB_TS_LOB_LOCATION: "{{ DCGN_POSTGRES_DB_TS_LOCATION }}/{{ DCGN_POSTGRES_DB_TS_LOB }}" # /pgdata/ts/dcgn_ts_lobДобавить учетную запись БД в
_passwords.confпод которой будут выполняться скрипты инициализации БД.DCGN_POSTGRES_DB_INIT_USERNAME=<имя пользователя> DCGN_POSTGRES_DB_INIT_PASSWORD=<пароль> # Пользователь БД будет создан с этими данными jdbc.DOCGEN.user=<имя пользователя> jdbc.DOCGEN.password=<пароль>Создать директории табличных пространств на файловой системе БД.
# директория, указанная в параметре DCGN_POSTGRES_DB_TS_DATA_LOCATION mkdir -p /pgdata/data/ts/dcgn_ts_data chown postgres:postgres /pgdata/data/ts/dcgn_ts_data # директория, указанная в параметре DCGN_POSTGRES_DB_TS_IDX_LOCATION mkdir -p /pgdata/data/ts/dcgn_ts_idx chown postgres:postgres /pgdata/data/ts/dcgn_ts_idx # директория, указанная в параметре DCGN_POSTGRES_DB_TS_LOB_LOCATION mkdir -p /pgdata/data/ts/dcgn_ts_lob chown postgres:postgres /pgdata/data/ts/dcgn_ts_lob
Запуск скриптов инициализации БД#
Перейти к job Jenkins, предназначенной для развертывания приложений.
В меню слева нажать на опцию «Build with parameters».
Установить параметры сборки:
SUBSYSTEM:DOCGEN;COMPONENTS:основная ФП DOCGEN;DISTRIB_VERSION:<выбрать версию дистрибутива>;OSE_CLUSTERS:<выбрать кластер K8s или OpenShift>;Репозиторий/ветка с настройками ФП:<основная ветка конфигурации в соответствии с настройками компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT)>;PARAMS (набор playbook):<выбрать DB_INIT>.
Запустить сборку, нажав кнопку «Build».
В результате сборки будут созданы следующие объекты БД:
пользователь с именем
jdbc.DOCGEN.userи паролемjdbc.DOCGEN.passwordи одноименная схема БД;табличные пространства, указанные в параметрах:
DCGN_POSTGRES_DB_TS_DATA,DCGN_POSTGRES_DB_TS_IDX,DCGN_POSTGRES_DB_TS_LOB.