Миграция на пайплайн версии 1.6.3#

SERVICE PIPELINE (CDJE_UFS_PIPELINE_SERVICE)#

Для миграции пайплайна на версию 1.6.3 необходимо:

  1. в джобе CDJE_UFS_PIPELINE_SERVICE обеспечить (если не выполено) выполнение пунктов 1-7 из раздела Настройка Service Pipeline

  2. Запустить процесс миграции скриптов PIPELINE версии release/D-01.045.084 (1.6.3). Нажать Собрать с параметрами и указать следующее:

SERVICE_VERSION: release_service/D-01.224.001-3835
ARTIFACT_TYPE: PIPELINE
ARTIFACT_VERSION:  release/D-01.045.084
PARAMS: MIGRATION

В результате выполнения этапа в репозиторий {код компонента}mailbridge_pipeline{стенд} в ветку master произойдет миграция скриптов pipeline, в репозиторий {код компонента}mailbridge_common{стенд} произойдет миграция конфигурационных файлов.

Настройка deploy pipeline#

Заполнение файла environment.json#

За подробными инструкциями по первичной настройке в этом разделе см. Настройка deploy pipeline

  • Изменить в репозитории ci02606786_mailbridge_common_{стенд} в файл environment.json (находится в корне репозитория) следующий блок, указан стенд {стенд}. В файле должен быть указанный в примере блок с названием нужного стенда. Любые изменения в этом файле требуют автореконфигурации Job (запуск без указания параметров).
    Ниже описание только тех параметров, которые нужно добавить (изменить) при выполнении миграции (в блок «__default» миграция будет выполнена автоматически):

  "{стенд}": {
    "skipPlatformVersionCheck": "true",
    "toolingAnsibleTemplateVersion": "ansible29",
    "iag": "false",
    "installer": {
      "common": {
        "groupId": "Nexus_PROD",
        "artifactId": "CI01027901_AS_EFS_Installer.Common",
        "version": "D-01.001.00-*",
        "classifier": "distrib",
        "packaging": "zip"
      },
      "migration": {
        "groupId": "Nexus_PROD",
        "artifactId": "CI01027846_AS_EFS_Installer.Migration",
        "version": "D-02.001.00-343",
        "classifier": "distrib",
        "packaging": "zip"
      }
      ...
    },
    ...
    "envNotification": "false",
    ...
    ...
  }

  • В common репозитории по пути installer/system/efs/config/parameters/ssl.conf необходимо поменять значение ssl.ose.keyStore.mq.CertAlias на значение по ключу ssl.ose.istio.keyStore.egress.CertAlias в этом же файле

Реконфигурация install pipeline#

Для реконфигурации CIJE_UFS_PIPELINE_INSTALLER джобы (если была создана и использована для деплоя ранее) необходимо выполнить п. 4-6 из раздела Создание Deploy Pipeline, иначе выполнить все пункты

Миграция параметров в MIGRATION_FP_CONF и запуск install#

Для успешной настройки параметров стенда в соответствии с требованиями pipeline v1.6.3 необходимо:

  1. Открыть репозиторий {код компонента}mailbridge_mail{стенд} в редакторе

  2. Создать бэкап для отката в случае возвращения на прежнюю версию (например в соседнюю ветку)

  3. Для каждого из .conf файлов по пути conf/config/parameters/ перенести значения параметров из common репозитория.
    Сделать необходимо только для параметров из common в файле installer/system/efs/config/parameters/openShift.conf.

Пример: mail_back.ose.deployment.spec.replicas=${config.mail.ose.mail_back.deployment.replicas}

config.mail.ose.mail_back.deployment.replicas взять из common репозитория и подставить значение

Результат: mail_back.ose.deployment.spec.replicas=2


Требование: необходимо, чтобы все JSON при переносе значений были плоскими (в одну строку обратного слэша)
Пример неправильный: config.mail.ose.mail_kafka_gateway.kafka.bootstrapServers=[\
  { "group": "group1", "restTimeoutMs": 60000, "restConnectionsPull": 100, "hostsPorts": ["vm-test-sy-kafka-138.vdc11.sy.dev.sbt:9093"], "topics": [{"topic": "topic1", "limiterEnabled": "true", "limitTps": 1, "groupId": "CI02606786_MailBridge"}] }\
]
Пример правильный: config.mail.ose.mail_kafka_gateway.kafka.bootstrapServers=[{"group":"group1","restTimeoutMs":60000,"restConnectionsPull":100,"hostsPorts":["vm-test-sy-kafka-138.vdc11.sy.dev.sbt:9093"],"topics":[{"topic":"topic1","limiterEnabled":"true","limitTps":1,"groupId":"CI02606786_MailBridge"}]}]
  1. Переменные global.* должны продолжать ссылаться на значения в common

Пример: mail_core.ose.deployment.spec.template.spec.containers.mail_core.env.isSynapseIstioEnabled=${global.multiClusters.isSynapseIstioEnabled}
Результат (без изменений): mail_core.ose.deployment.spec.template.spec.containers.mail_core.env.isSynapseIstioEnabled=${global.multiClusters.isSynapseIstioEnabled}
  1. Выполнить п.2 из раздела Запуск deploy Pipeline для миграции параметров из дистрибутива в репозиторий {код компонента}mailbridge_mail{стенд}

  2. Заполнить недостающие поля (могут появиться при выпуске нового дистрибутива) значениями после миграции, если значения подставленные по умолчанию из дистрибутива не удовлетворяют требованиям

  3. Запустить деплой дистрибутива в соответствии с п.6-8 в разделе Запуск deploy Pipeline