Правила работы с утилитами Merger->Unpacker#
Перед работой в новом контуре необходимо создать репозиторий конфигураций, в котором должны храниться файлы environment.yml, artifactRenameRules.csv, merger.yml;
Merger#
Утилита работает с файлом merger.yml В самом файле merger.yml необходимо:
В docker.build_args для каждого deployment_unit ABYSS указать корректный путь до образа в параметре BASE_IMAGE.
Обратите внимание, для
container_uiнеобходимо указывать образ Syngx.
В 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/
Произвести замену базовых образов на актуальные в секции 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
Произвести замену 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/logasha-сумму образа 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 и выглядит следующим образом:

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

Необходимо из полученного результата выбрать 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):

После заполнения нужных параметров можно запускать утилиту.
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-455JENKINS_NODE - агент Jenkins, на котором будем запускать джобу

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