Офлайн-сборщик¶
Для сборки интеграции нужны библиотеки Camel и сторонние библиотеки. В закрытом контуре нет доступа к публичным Maven-репозиториям, поэтому NEOMSA ESB поставляется с офлайн-сборщиком: образом, в который заранее загружены все библиотеки, нужные интеграциям.
Один и тот же образ используется для сборки интеграций и для dev-режима.
Подключение¶
- Загрузите образ сборщика из комплекта поставки в свой реестр, например
<реестр>/<группа>/neomsa-esb-offline-builder:<тег>. -
Укажите его в чарте:
-
Положите скрипт сборки из комплекта поставки в служебный проект
configurationпод именемbuild.sh, а фрагмент пода сборщика под именемbuilder.pod.jkube.yaml. - Загрузите в реестр базовый образ интеграций из комплекта поставки. Сборщик подставляет его в каждую сборку вместо
jib.from.imageиз проекта.
Каждая версия образа сборщика выпускается с новым тегом. При переходе на новый образ укажите его тег в NEOMSA_ESB_DEVMODE_IMAGE.
Как проходит сборка¶
- Платформа создаёт под сборщика
<проект>-builder. - Сборщик получает скрипт
build.shот платформы по адресуhttp://neomsa-esb.<namespace>и запускает его. - Скрипт клонирует ветку интеграций и формирует из проекта Maven-проект.
- Зависимости разрешаются только из локального репозитория образа.
- Сборщик публикует образ интеграции в реестр и применяет манифесты Kubernetes.
Доступ в интернет сборщику не нужен.
Состав библиотек¶
В образе сборщика есть:
- компоненты для консоли, health, метрик, трейсинга и логирования интеграций;
- коннекторы Kafka, JMS и AMQP, SQL и JDBC, HTTP и REST, FTP;
- драйверы СУБД и клиенты брокеров сообщений, на которые опираются эти коннекторы.
Полный перечень лежит в самом образе. Его можно использовать для проверки состава и при составлении SBOM:
/karavan/warmup/declared-dependencies.txt: объявленные зависимости;/karavan/warmup/preloaded-artifacts.txt: все артефакты в репозитории образа, включая транзитивные.
Версию сторонней библиотеки в проекте берите из camel-dependencies версии 4.22.2. Если указать другую версию, сборщик попытается её скачать, и сборка упадёт.
Если интеграции нужна библиотека, которой нет в образе, сборка падает с сообщением has not been downloaded from it before. Образ сборщика с дополнительными библиотеками можно запросить в технической поддержке NEOMSA ESB.