Инициализация БД#

Настройка компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT)#

Перед запуском скриптов инициализации БД необходимо настроить компонент Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT).

Ниже представлен пример минимальной настройки программного компонента.

Примечание

Актуальный набор параметров см. в документации на соответствующую версию компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT). Версию программного компонента см. в разделе Платформенные зависимости.

  1. Настроить правила распаковки родительского дистрибутива и его зависимостей для профиля db-init, файл environment.json.

    {
       "downloadProfiles": {
         "db-init": {
           "parentUnpackIncludes": [
             "/package/conf/**"
           ],
           "parentUnpackExcludes": [
             "/package/conf/distrib.yml"
           ],
           "dependenciesUnpackIncludes": [
             "/package/**"
           ],
           "dependenciesUnpackExcludes": []
         }
       }
    }
    
  2. Добавить плейбук DB_INIT в список возможных сценариев развертывания, файл environment.json.

    "playbooks_fpi": {
      "DB_INIT": {
        "id": 1 // идентификатор playbook, порядковый номер относительно других playbook в репозитории
      },
    }
    
  3. Добавить параметры в файл 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
    
  4. Добавить учетную запись БД в _passwords.conf под которой будут выполняться скрипты инициализации БД.

    DCGN_POSTGRES_DB_INIT_USERNAME=<имя пользователя>
    DCGN_POSTGRES_DB_INIT_PASSWORD=<пароль>
    
    # Пользователь БД будет создан с этими данными
    jdbc.DOCGEN.user=<имя пользователя>
    jdbc.DOCGEN.password=<пароль>
    
  5. Создать директории табличных пространств на файловой системе БД.

    # директория, указанная в параметре 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
    

Запуск скриптов инициализации БД#

  1. Перейти к job Jenkins, предназначенной для развертывания приложений.

  2. В меню слева нажать на опцию «Build with parameters».

  3. Установить параметры сборки:

    • SUBSYSTEM: DOCGEN;

    • COMPONENTS: основная ФП DOCGEN;

    • DISTRIB_VERSION: <выбрать версию дистрибутива>;

    • OSE_CLUSTERS: <выбрать кластер K8s или OpenShift>;

    • Репозиторий/ветка с настройками ФП: <основная ветка конфигурации в соответствии с настройками компонента Deploy Tools (CDJE) продукта Platform V DevOps Tools (DOT)>;

    • PARAMS (набор playbook): <выбрать DB_INIT>.

  4. Запустить сборку, нажав кнопку «Build».

    В результате сборки будут созданы следующие объекты БД:

    • пользователь с именем jdbc.DOCGEN.user и паролем jdbc.DOCGEN.password и одноименная схема БД;

    • табличные пространства, указанные в параметрах: DCGN_POSTGRES_DB_TS_DATA, DCGN_POSTGRES_DB_TS_IDX, DCGN_POSTGRES_DB_TS_LOB.