Настройка конфигурационных файлов для сборки и развертывания дистрибутивов#
Развертывание дистрибутивов по заявкам может осуществляться 3 способами:
с помощью Jenkins;
с помощью RLM;
через прямое развертывание дистрибутива.
Для всех видов развертывания используется защищенное соединение с использованием ssl-сертификатов при подключении EDMS к другим компонентам. Для Jenkins должен быть исключен запуск задания на развертывание дистрибутивов напрямую из Jenkins. Запуск задания может быть произведен только из EDMS. Для Jenkins и RLM используются токены для авторизации при запуске задания на развертывание. Для прямого развертывания должны быть выданы административные права TLS-сертификату EDMS на соответствующем домене EVTD, где производится развертывание.
Сборка и установка дистрибутива с помощью Jenkins#
Настройка сборки и установки дистрибутива осуществляется в конфигурационном файле application.yml.
Задать настройки для процесса сборки дистрибутива по заявкам 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.
Создать задание Jenkins в единственном экземпляре для каждой инсталляции EDMS. Для создания задания Jenkins используется xml-файл
Pipeline/xml/emc_config_compile.xml, поставляемый в дистрибутиве EDMS. Данное задание Jenkins использует pipelinePipeline/emc_makedistr.groovy, поставляемый в дистрибутиве EDMS.
Сборка и установка дистрибутива с помощью RLM#
Если для развертывания дистрибутивов может использоваться RLM, предварительно его настройте:
Заведите сервис, через который производится интеграция с EDMS.
Настройте задачу Jenkins по разворачиванию дистрибутивов для вызова сервиса RLM.
Настройте сетевое взаимодействие между 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]": <зашифрованный пароль>
Установка дистрибутива способом прямого развертывания#
Настройте сетевое взаимодействие между серверами EDMS и EVTD, SEDR, EVTP.
Настройте доступы к EVTD, SEDR, EVTP:
Параметры подключения к EVTD описаны в разделе Работа с доменами, подраздел Настройки параметров домена.
Параметры подключения к SEDR описаны в разделе Работа с доменами, подраздел Репликаторы.
Параметры подключения к EVTP описаны в разделе Работа с доменами, подраздел Потоковый обработчик.
Добавьте сертификаты доступа к доверенным сертификатам.
Для подключения к 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>
Пропишите настройки прямого развертывания в конфигурационном файле
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]": <зашифрованный пароль>