Jenkins Job для создания конфигурационного дистрибутива#
Данный подраздел подготовки окружения относится только к разделу Установка с помощью Jenkins.
Создание Jenkins job kafka_config_create#
Содержимое дистрибутива ./EVTD-scripts-{version}-distrib.zip поместить в свой git-репозиторий.
Выбрать New Item для создания нового Jenkins Job:

2.1. Добавить название создаваемого Jenkins Job. Нельзя использовать в названии русские буквы, спецсимволы.
2.2. Выбрать Pipeline и нажать кнопку «ОК»:

2.3. Заполнить поля на появившейся странице в блоке Pipeline:
Изменить значение параметра «Definition» на Pipeline script from SCM;
Изменить значение параметра «SCM» на Git;
Заполнить параметр «Repository URL», в параметре указать путь до вашего git-репозитория, содержащего скрипты;
Заполнить параметр «Credentials», в параметре указать ваши сredentials с правами на чтение;
В параметре «Branches to build» выбрать ветку, в которой находятся скрипты;
В параметре «Script Path» указать путь до groovy-скрипта Pipeline/kafka_config_create.groovy;
Убедиться, что НЕ стоит галочка Lightweight checkout.
Пример заполнения параметров:

Сохранить получившийся Jenkins Pipeline.
На появившейся странице в меню боковой панели выбрать «Собрать сейчас» — запустится первоначальная сборка:

После запуска сборки необходимо обновить страницу.
Выбрать в меню боковой панели «Собрать с параметрами»:

Заполнить следующие параметры на появившейся странице:
jenkins_slave— имя агента Jenkins для сборки;ansible_version— указание Jenkins Tool с необходимой версией Ansible. Конкретное значение необходимо получить у администратора Jenkins.
Нажать кнопку «Собрать».
Обновить страницу и после окончания работы job снова нажать «Собрать с параметрами».
Появится страница нужного Jenkins job для создания конфигурационных дистрибутивов со всем списком настраиваемых параметров.
Настраиваемые параметры Jenkins job kafka_config_create#
majorVersion— мажорная версия создаваемого конфигурационного дистрибутива. Пример полный версии дистрибутива —${majorVersion}.001.00-00;nexusUrl— ссылка на пространство в Nexus, куда будет опубликован созданный конфигурационный дистрибутив после выполнения Jenkins job;nexusCred— Jenkins Username with Password credential ID для выкачивания дистрибутива. При задании параметраsecman_url— полный путь в HashiCorp Vault до имени пользователя и пароля. Например:{Jenkins *Vault App Role credential* ID для получения секретов из HashiCorp Vault}|path/to/nexus:{user},{password};secman_url— URL для подключения к HashiCorp Vault;ssl_verify— проверка, являются ли сертификаты HashiCorp Vault/Nexus доверенными. Значение по умолчаниюtrue;rebuildVersion— версия конфигурационного дистрибутива для пересборки, например D-10.123.00 (пусто, если выпускается новый релиз);jenkinsSlaveNode— выбор Jenkins Slave для сборки;emailTo— список адресов электронной почты для отправки результатов работы job (письмо исполнителю Jenkins job упадет автоматически);kafkaConfig— нужная конфигурация topics и ACL.
Пример конфигурации EVTD для установки (указывается в параметре kafkaConfig)
kafka_topics:
list:
- name: test1 # с дефолтными параметрами
- name: test2 # с указанием настроек
replicationFactor: 3
partitions: 5
configs: # изменение конфигурации на уровне topic
- cleanup.policy=compact
- max.message.bytes=10485760
kafka_acls:
- principal: CN=fqdn.foohost.summer,C=RU
producer: true # операции Write и Describe на topics и Create на кластер
topics: singleTopic
- principal: CN=fqdn.foohost.west,C=RU
consumer: true # операции Read и Describe на topics и Read на группу
topics: monitoringOutput,orphanOutput
groups: filters # имена групп для подключения (обязательно для consumer, можно указать '*')
Со всеми изменяемыми настройками компонента можно ознакомиться в разделе Пример заполненного файла vars.yml.