Настройка конфигурационных файлов для сборки и развертывания дистрибутивов#

Развертывание дистрибутивов по заявкам может осуществляться 3 способами:

  • с помощью Jenkins;

  • с помощью RLM;

  • через прямое развертывание дистрибутива.

Для всех видов развертывания используется защищенное соединение с использованием ssl-сертификатов при подключении EDMS к другим компонентам. Для Jenkins должен быть исключен запуск задания на развертывание дистрибутивов напрямую из Jenkins. Запуск задания может быть произведен только из EDMS. Для Jenkins и RLM используются токены для авторизации при запуске задания на развертывание. Для прямого развертывания должны быть выданы административные права TLS-сертификату EDMS на соответствующем домене EVTD, где производится развертывание.

Сборка и установка дистрибутива с помощью Jenkins#

Настройка сборки и установки дистрибутива осуществляется в конфигурационном файле application.yml.

  1. Задать настройки для процесса сборки дистрибутива по заявкам EDMS:

Для сборки дистрибутива необходимо заполнить настройки в конфигурационном файле application.yml и выдать права ТУЗ на запуск задачи Jenkins:

deploy:
  timeout:
    cron: <Время выполнения задачи cron>
    delta: <Время ожидания>
  jenkins-deploy:
    enabled: true
    callback-url: <Ссылка для ответа>
    make-distributive:
      url: <url задачи Jenkins по сборке дистрибутива>
      login: <логин технологической записи EDMS для доступа к Jenkins с целью запуска задачи по сборке дистрибутива> 
      token: <зашифрованный токен для доступа ТУЗ EDMS к Jenkins>

С полным описанием настроек application.yml можно ознакомиться в документе: Пример файла application.yml.

  1. Создать задание Jenkins в единственном экземпляре для каждой инсталляции EDMS. Для создания задания Jenkins используется xml-файл Pipeline/xml/emc_config_compile.xml, поставляемый в дистрибутиве EDMS. Данное задание Jenkins использует pipeline Pipeline/emc_makedistr.groovy, поставляемый в дистрибутиве EDMS.

Сборка и установка дистрибутива с помощью RLM#

Если для развертывания дистрибутивов может использоваться RLM, предварительно его настройте:

  1. Заведите сервис, через который производится интеграция с EDMS.

  2. Настройте задачу Jenkins по разворачиванию дистрибутивов для вызова сервиса RLM.

  3. Настройте сетевое взаимодействие между Jenkins RLM и EDMS.

deploy:
  timeout:
    cron: <Время выполнения задачи cron>
    delta: <Время ожидания>
  rlm-deploy:
    enabled: true
    service: <код сервиса в RLM>
    callback-url: <Ссылка для ответа>
    properties:
      "[ssl.keystore.location]": <абсолютный путь до keystore>
      "[ssl.keystore.password]": <зашифрованный пароль>
      "[ssl.truststore.location]": <абсолютный путь до truststore>
      "[ssl.truststore.password]": <зашифрованный пароль>

Установка дистрибутива способом прямого развертывания#

  1. Настройте сетевое взаимодействие между серверами EDMS и EVTD, SEDR, EVTP.

  2. Настройте доступы к EVTD, SEDR, EVTP:

  • Параметры подключения к EVTD описаны в разделе Работа с доменами, подраздел Настройки параметров домена.

  • Параметры подключения к SEDR описаны в разделе Работа с доменами, подраздел Репликаторы.

  • Параметры подключения к EVTP описаны в разделе Работа с доменами, подраздел Потоковый обработчик.

  1. Добавьте сертификаты доступа к доверенным сертификатам.

  • Для подключения к EVTD: Необходимо выдать для <сертификата EDMS> соответствующие права. Для этого на сервере EVTD выполнить:

./bin/kafka-acls.sh --bootstrap-server `hostname -f`:9093 --allow-principal User:'<DN сертификата>' --operation CREATE --cluster --add --command-config config/producer.properties;
./bin/kafka-acls.sh --bootstrap-server `hostname -f`:9093 --allow-principal User:'<DN сертификата>' --operation ALTER --cluster --topic=* --add --command-config config/producer.properties;
./bin/kafka-acls.sh --bootstrap-server `hostname -f`:9093 --allow-principal User:'<DN сертификата>' --operation DESCRIBE --cluster --group=* --topic=* --add --command-config config/producer.properties;
./bin/kafka-acls.sh --bootstrap-server `hostname -f`:9093 --allow-principal User:'<DN сертификата>' --operation DESCRIBECONFIGS  --topic=* --add --command-config config/producer.properties;
./bin/kafka-acls.sh --bootstrap-server `hostname -f`:9093 --allow-principal User:'<DN сертификата>' --operation ALTERCONFIGS  --topic=* --add --command-config config/producer.properties
  • Для подключения к SEDR: Необходимо добавить <сертификат EDMS> в настройки используемого воркера (connect-distributed-*.properties)

# additional dn list, which are allowed all operations
allowed.dn = <DN сертификата>
  • Для подключения к EVTP: Необходимо добавить <сертификат EDMS> в настройки Flink (flink-conf.yaml)

# при использовании fingerprint
security.ssl.rest.cert.fingerprint: <текущий fingerprint>,<fingerprint из сертификата EDMS>
# при использовании allowed.dn
security.ssl.rest.allowed.dn: <текущий DN Flink>,<DN сертификата EDMS>
  1. Пропишите настройки прямого развертывания в конфигурационном файле application.yml:

deploy:
  timeout:
    cron: <Время выполнения задачи cron>
    delta: <Время ожидания>
  direct-deploy:
    timeout: 5000
    properties:
      "[ssl.keystore.location]": <абсолютный путь до keystore>
      "[ssl.keystore.password]": <зашифрованный пароль>
      "[ssl.truststore.location]": <абсолютный путь до truststore>
      "[ssl.truststore.password]": <зашифрованный пароль>