Обновление конфигураций с помощью SynapseInstaller#
Все указанные ниже Jenkins Jobs расположены в подразделе «Pipelines» раздела «Дополнительная документация» текущего документа.
Может возникнуть необходимость обновить конфигурации в проекте системы оркестрации, но соответствующие права у личной УЗ могут отсутствовать. Для таких кейсов можно использовать Jenkins Jobs BackupMaker и SynapseInstaller.
Существует два основных варианта обновления конфигураций с использованием SynapseInstaller:
Обновление конфигураций из бэкапа
Восстановление всего бэкапа
В данном режиме в проект будут загружены все YML конфигурации, которые содержатся в файле бэкапа.
Точечное восстановление бэкапа
В данном режиме в проект будет предложено загрузить в проект YML конфигурации, которые имеют различия между тем что вы пытаетесь установить из бэкапа и тем что сейчас находится в проекте.
Обновление конфигураций из репозитория стендозависимых параметров
Получение конфигураций для обновления#
Получить конфигураций, которые будут использованы для загрузки можно двумя способами:
Снять бэкап проекта с помощью Jenkins Job BackupMaker, в результате чего получаем ссылку на репозиторий с бэкапом;
Рисунок. Ссылка на репозиторий с бэкапомВыгрузить архив (имя архива в формате ConfigFilesRollBack_
имя_кластера_имя_дистрибутива.zip) с конфигурациями бэкапа из артефактов сборки SynapseInstaller.
Рисунок. Артефакты сборкиВзять необходимые YML конфигурации из архива и разместить их в репозитории стендозависимых параметров для соответствующего проекта. Отредактировать YML конфигурации в соответствие с потребностями. Опубликовать изменения в репозитории (произвести commit и push изменений).
Обновление конфигураций#
На экране "Собрать с параметрами" сборки Jenkins Job SynapseInstaller указать кластер и проект для установки.
Заполнить параметр projectsConfigGitUrlSources, указав в нем либо ссылку на репозиторий с бекапом, либо ссылку на репозиторий со стендозависимыми параметрами.
Заполнить параметр projectsConfigResourcesList, указав в нем путь до конфигураций или путь до бэкапа относительно директории проекта в репозитории (конфигурации для установки в бэкапе лежат в каталоге
post_process), которые необходимо загрузить.
Рисунок. Задание конфигураций для загрузки

Рисунок. Расположение бэкапа в репозитории
В данном случае в поле projectsConfigResourcesList должны быть пути до файлов вида BackUp_stands-vdc01_tribe-sy-synai-victim_2022-10-10-12:32-1665394379/post_process/{имя_файла} или BackUp_stands-vdc01_tribe-sy-synai-victim_2022-10-10-12:32-1665394379/post_process/* если необходимо использовать для установки бэкапа все конфигурационные файлы.

Рисунок. Задание пути до бэкапа
После заполнения projectsConfigResourcesList поле BackupParams расширится и будет предложено включить/выключить подпараметры согласно необходимости.

Рисунок. Заполнение параметров
Описание параметров:
needSplitListConfigFiles - флаг, отвечающий за разделение конфигурационных файлов бэкапа на отдельные файлы (можно использовать для удобного отображения списка изменений в репозитории при включенном сравнении конфигураций (needCompareConfigs =
true)). needCompareConfigs отвечает за формирование pull-request, в котором будут отображены различия между загружаемыми конфигурациями и проектными конфигурациями. После формирования pull-request, будет выведено специальное окно.
Рисунок. Окно подтверждения установки бэкапа

Рисунок. Результат сравнения
После просмотра pull-request, нужно подтвердить установку бэкапа (параметр needInstallBackup) и тогда Jenkins Job перейдет к восстановлению бэкапа.
needUploadRollback - Флаг, отвечающий за восстановление исходного состояния проекта при ошибке во время разворота бэкапа;
needStopPods - Флаг, отвечающий за обнуление количества pod в конфигурационных файлах типа Deployment бэкапа;
needPointBackup - Флаг, отвечающий за точечную установку бэкапа. В данном режиме в проект будет предложено загрузить в проект YML конфигурации, которые имеют различия между тем что вы пытаетесь установить из бэкапа и тем что сейчас находится в проекте. Для информативности будет сформирован pull-request в репозитории, который будет отображать разницу между конфигурациями. То есть после сравнения конфигурационных файлов будет предложено выбрать какие конфигурационные файлы из бэкапа установить, какие конфигурационные файлы с проекта удалить. (Для работы параметра необходимо, чтобы needCompareConfigs был включен и needSplitListConfigFiles выключен).
После формирование pull-request, будет выведено специальное окно. В данном окне будет предложено выбрать конфигурации для установки в проект, которые имеют различия:

Рисунок. Окно подтверждения установки бэкапа
Запустить Jenkins Job SynapseInstaller.