Правила работы с утилитами Merger->Unpacker#

Перед работой в новом контуре необходимо создать репозиторий конфигураций, в котором должны храниться файлы environment.yml, artifactRenameRules.csv, merger.yml;

Merger#

Утилита работает с файлом merger.yml В самом файле merger.yml необходимо:

  1. В docker.build_args для каждого deployment_unit ABYSS указать корректный путь до образа в параметре BASE_IMAGE.

Обратите внимание, для container_ui необходимо указывать образ Syngx.

  1. В docker.build_args для каждого deployment_unit ABYSS указать корректные адреса доверенных репозиториев TRUSTED_REPO.

Обратите внимание, для container_ui такой настройки нет.

Необходимо убедиться в наличии соответствующих образов в хранилище перед заменой

docker:
  hash_to_hash: true
  registry:
    url: https://domain
    creds: creds_name
  registry_path: */ci90****60/opm-solution-test  
  build_args:
    abyss_ui:
      BASE_IMAGE: domain/path_to_repo/ci90****59/slo/sberlinux-8-x86_64-ubi:8.10.2-380_20241105.0@sha256:shasumForTestAndDocumenTatiOn
      TRUSTED_REPO: http://repo.url.test/trusted_repo/sberlinux/8.10/sberlinux-8-for-x86_64-appstream-rpms/,http://repo.url.test/trusted_repo/sberlinux/8.10/sberlinux-8-for-x86_64-baseos-rpms/
  1. Произвести замену базовых образов на актуальные в секции docker.base_image_mapping.

Необходимо убедиться в наличии соответствующих образов в хранилище перед заменой

  base_image_mapping:
    # SberLinux OS ubi:8.10.2
    - from: .*/*/ci90****59/slo/sberlinux-8-x86_64-ubi.*
      to: domain/path_to_repo/ci90****59/slo/sberlinux-8-x86_64-ubi:8.10.2-380_20241105.0@sha256:shasumForTestAndDocumenTatiOn

    # Nginx tag snx-2.0.0-3709
    - from: .*/*/ci90****31_syngx/syngx/snx-2.0.0-3709-x86_64.zip/sbel.*
      to: domain/sbt/ci90****31_syngx/syngx/snx-2.0.0-3709-x86_64.zip/sbel@sha256:shasumForTestCoordinatorUiAndDocumenTatiOn
  1. Произвести замену registry/sha-сумм образов sidecar в секции docker.image_link_mapping:

    • Параметр .Values.global.docker.registry.imagesPath.common.url можно оставить незамененным, так как общий url для registry можно изменить в репозитории конфигураций функциональных приложений, после переноса конфигурации приложений.

    • \\{\\{ .Values.global.docker.registry.imagesPath.common.loga \\}\\} требуется заменить на registry_path до loga, например на /sbt/ci90****78_loga/loga

    • sha-сумму образа loga alog@sha256:shasum заменить на актуальную, например на fluent-bit@sha256:shasum2

    • Аналогичную замену произвести для образов Platform V Synapse Service Mesh и ott:

  # маппинг ссылок на образы (применяется, чтобы заменить ссылки на сайдкары)!
  image_link_mapping:
    # For HELM
    # Abyss 6.0.50
    "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.loga \\}\\}/alog@sha256:[0-9a-f]{64}" : "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.loga \\}\\}/alog@sha256:testshasum1"
    # istio-proxy SSM 3.9.10 
    "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.istio \\}\\}/proxyv2@sha256:[0-9a-f]{64}" : "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.istio \\}\\}/proxyv2@sha256:testshasum2" 
    # ott-sidecar 4.5.36.2
    "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.ott \\}\\}/ott-sidecar@sha256:[0-9a-f]{64}" : "\\{\\{ .Values.global.docker.registry.imagesPath.common.url \\}\\}\\{\\{ .Values.global.docker.registry.imagesPath.common.ott \\}\\}/ott-sidecar@sha256:testshasum3"
  • Результат работы Publisher используется для запуска Merger и выглядит следующим образом:

publisher

  • В Nexus также можно найти дистрибутив и с помощью меню «Apache Maven» посмотреть значения этих параметров:

nexus_apachemvn

  • Необходимо из полученного результата выбрать groupID, artifactId, version:

GROUP_ID: sbt_PROD.ci90****60_pvm
ARTIFACT_ID: opm
VERSION: 6.0.50-10

Эти параметры нужны для запуска джобы с Merger.

  • JENKINS_NODE - агент Jenkins, на котором будем запускать джобу

  • Также необходимо скопировать ssh-путь до репозитория конфигураций, а также имя ветки репозитория, где хранится файл актуальный merger.yml для запуска утилиты Merger.

  • Путь до репозитория добавить в параметр джобы CONFIG_REPO, а имя ветки добавить в параметр CONFIG_BRANCH.

  • Артефакты дистрибутива, полученные после результата работы Publisher, необходимо добавить в соответствующие поля для запуска джобы (GROUP_ID, ARTIFACT_ID, VERSION):

MergerParams

  • После заполнения нужных параметров можно запускать утилиту.

Unpacker#

Для работы с джобой требуется корректно настроить environment.yml и artifactRenameRules.csv репозитория конфигураций.

  • Указываем следующие параметры для работы:

    • CONFIG_REPO - ssh-путь до репозитория конфигураций с файлами environment.yml и artifactRenameRules.csv

    • CONFIG_BRANCH - ветка репозитория конфигураций

    • SOLUTION_REPO - путь до репозитория Nexus, из которого необходимо забрать дистрибутив

    • GROUP_ID - groupID дистрибутива по результату работы AbyssReMerger

    • ARTIFACT_ID - artifactID дистрибутива по результату работы AbyssReMerger

    • VERSION - версия дистрибутива по результату работы AbyssRemerger, например:

    6.0.50-10-repacked-266-final-455
    
    • JENKINS_NODE - агент Jenkins, на котором будем запускать джобу

params

Далее нажимаем кнопку «Собрать» и запускаем джобу.