Перейти к содержанию

Офлайн-сборщик

Для сборки интеграции нужны библиотеки Camel и сторонние библиотеки. В закрытом контуре нет доступа к публичным Maven-репозиториям, поэтому NEOMSA ESB поставляется с офлайн-сборщиком: образом, в который заранее загружены все библиотеки, нужные интеграциям.

Один и тот же образ используется для сборки интеграций и для dev-режима.

Подключение

  1. Загрузите образ сборщика из комплекта поставки в свой реестр, например <реестр>/<группа>/neomsa-esb-offline-builder:<тег>.
  2. Укажите его в чарте:

    containers:
      env:
        - name: NEOMSA_ESB_DEVMODE_IMAGE
          value: "<реестр>/<группа>/neomsa-esb-offline-builder:<тег>"
    
  3. Положите скрипт сборки из комплекта поставки в служебный проект configuration под именем build.sh, а фрагмент пода сборщика под именем builder.pod.jkube.yaml.

  4. Загрузите в реестр базовый образ интеграций из комплекта поставки. Сборщик подставляет его в каждую сборку вместо jib.from.image из проекта.

Каждая версия образа сборщика выпускается с новым тегом. При переходе на новый образ укажите его тег в NEOMSA_ESB_DEVMODE_IMAGE.

Как проходит сборка

  1. Платформа создаёт под сборщика <проект>-builder.
  2. Сборщик получает скрипт build.sh от платформы по адресу http://neomsa-esb.<namespace> и запускает его.
  3. Скрипт клонирует ветку интеграций и формирует из проекта Maven-проект.
  4. Зависимости разрешаются только из локального репозитория образа.
  5. Сборщик публикует образ интеграции в реестр и применяет манифесты 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.