Создание объектов релизной деятельности
Объект релизной деятельности (ОРД) — набор дистрибутивов, выпускаемых командой разработки. Соответствует Group ID + Artifact ID в Nexus. Например, DPM состоит из отдельных сервисов, у каждого из которых свой репозиторий кода:
mail service
, audit service
, core
. Версии создаются для каждого сервиса, представляющего ОРД.Для запуска дистрибутивов по конвейеру:
- Создайте ОРД (установите связь между DPM и Nexus).
- Сконфигурируйте конвейер.
- Добавьте конвейер в профиль.
- Активируйте ОРД.
- Следите за состоянием конвейеров дистрибутивов и управляйте их очередью.
Для создания ОРД:
-
Откройте страницу фунциональной подсистемы, затем нажмите кнопку Создать ОРД.
-
На странице создания ОРД добавьте ссылку на дистрибутив. Оставшиеся поля будут заполнены автоматически.
Увеличить
-
Вручную отредактируйте поля связки с Nexus:
- Наименование - название ОРД;
- Nexus - выбор ХИП из списка зарегистрированных в DPM. Если подходящего ХИП нет, обратитесь а Администратору;
- Логин и пароль Nexus. Необязательное поле;
- Пароль Nexus. Необязательное поле. Заполните, если доступ к вашему репозиторию ограничен;
- Репозиторий - наименование репозитория ХИП;
- Nexus group ID. Обязательное поле;
- Nexus artifact ID - обязательное поле. Значение см. URL или в файле
maven-metadata.xml
.
Увеличить
-
Задайте параметры, с помощью которых DPM разберет список дистрибутивов (релиз-кандидатов). Можно выбрать конвенцию наименования из стандартных (поле Шаблон артефакта) и изменить ее под свою команду, редактируя поля:
- Регулярное выражение — шаблон поиска дистрибутивов;
- Шаблон версии — правило группировки дистрибутивов по версиям; для задания правила можно использовать группы регулярного выражения. Группировку внутри регулярного выражения можно использовать при работе со списком дистрибутивов (фильтрация, поиск) и при создании профилей; -** Шаблон релиз-кандидата (дистрибутива)** — также можно использовать скобочные группы. Правило, по которому дистрибутив будет отображаться в DPM;
- Exclude regexp — исключающее регулярное выражение; используйте для исключения дистрибутивов; если в репозитории будут дистрибутивы, которые не соответствуют регулярному выражению, такие дистрибутивы на будут исключены. Эти дистрибутивы сохранятся в версии
Unknown
c префиксомWrong RegExp for RC
. Для того, чтобы скрыть такие дистрибутивы, используйте переключатель; - Description (опционально) — описание объекта;
- Ключ — все ключи ОРД, ФП (функциональной подсистемы) или АС (проектной области или автоматизированной системы) уникальны. Это позволяет обращаться к переменным конкретного объекта по ключу этого объекта.
-
Нажмите кнопку, чтобы сохранить ОРД, или кнопку, чтобы перейти к настройке конвейера. Настройка CI будет пропущена.
Для активации ОРД необходим профиль. Это необходимо для обработки полученных дистрибутивов (релиз-кандидатов).
Для активации ОРД:
- Откройте страницу ОРД.
- В меню выберите пункт Активировать.
После первой активации в конвейер в соответствии с профилем отправляется только последний опубликованный дистрибутив. Остальные дистрибутивы сохранятся в DPM. Для этих дистрибутивов будет доступен ручной выбор конвейера.
Важно! Для быстрой синхронизации при первой активации можно использовать кнопку Синхронизировать.
Для деактивации ОРД:
- Откройте страницу ОРД.
- В меню нажмите кнопку Деактивировать.
После деактивации ОРД проверка обновлений в Nexus будет приостановлена. Для синхронизированных дистрибутивов можно запустить конвейер вручную. Все запущенные до деактивации конвейеры продолжат работу.
Если нужно остановить работку конвейеров, выполните одно из действий:
- остановите отдельный дистрибутив;
- в очереди на запуск выделите все требуемые дистрибутивы и отложить их выполнение/удалить из очереди;
- на основной странице ОРД выберите дистрибутивы и архивируйте их.
Вы можете редактировать поля ОРД, отвечающие за разбор дистрибутивов, отображение, фильтрацию, права доступа в Nexus. Изменение репозитория, с которым синхронизируется DPM, невозможно.
Для редактирования ОРД:
-
Откройте страницу ОРД.
-
В меню Действия выберите Редактировать ОРД.
Увеличить
-
Измените требуемые параметры.
-
Нажмите кнопку Сохранить.
Откроется окно списка изменений.

Увеличить
Поддерживается переименование релиз-кандидатов (дистрибутивов) версий, по которым сгруппированы дистрибутивы. Релиз-кандидаты можно добавить или архивировать. Если у архивируемых релиз-кандидатов есть выполняющийся конвейер, он остановится.
Для сохранения изменений нажмите кнопку Подтвердить.
После создания ОРД необходимо выбрать шаблон конвейера и задать параметры каждого этапа. Этап состоит из фаз. Например, этап может включать развертывание и тестирование. Страница конфигурирования конвейера открывается автоматически.
Для создания конвейера ОРД:
-
Откройте страницу ОРД.
-
В меню Действия выберите пункт Конвейеры ОРД.
Увеличить
-
На странице конвейеров нажмите кнопку Создать конвейер.
Увеличить
-
Заполните поля:
- Наименование конвейера;
- Описание (необязательное).
Для настройки порядка этапов конвейера:
-
На странице редактирования конвейера нажмите кнопку Схема конвейера (определить порядок этапов);
Увеличить
-
Добавьте столбцы, затем перетяните нужный этап на блок конвейера. Этапы, расположенные в едином блоке, выполняются параллельно. Этапы, расположенные в разных блоках, выполяются последовательно.
Увеличить
-
нажмите кнопку Сохранить схему конвейера.
Возможны следующие типы фаз:
- Jenkins — фаза для выполнения Jenkins job;
- Ручная фаза — фаза для ручного тестирования. В этой фазе можно оставлять комментарии, например, пункт о протоколе тестирования;
- Сервисная — фаза, содержащая подтип для публикации Quality gates в виде Nexus classifier.
Для настройки фаз:
-
Нажмите кнопку Настроить, затем выберите пункт Настроить фазы.
Увеличить
-
Сформируйте порядок фаз, в каждой из которых может быть вызвано одно задание:
- для параллельного выполнения фаз добавьте их на один уровень;
- для последовательного выполнения фаз добавьте их на разные уровни.

Увеличить
- Задайте название фазы. Это позволит отличить создаваемую фазу от других фаз. Пример названия: Deploy IFT.
- Выберите Режим запуска. Доступны автоматический и ручной режимы:
- в автоматическом режиме запуск фазы происходит сразу после публикации артефактов в Nexus или после перехода в эту фазу. Автоматический выбор режима запуска поддерживается в зависимости от условий;
- в ручном режиме перед запуском фазы создается задача, которая будет назначена на пользователей, отвечающих за этап. Запуск произойдет после подтверждения.
-
Выберите задание Job (обязательно для типа Jenkins) - полный URL задания Jenkins (job). URL будет проверен. Если Jenkins в списке нет, обратитесь к Администратору Сервиса;
-
Выберите учетную запись (логин) и токен АС, ФП или ОРД. Если для конкретного запуска не подходят настройки верхних уровней, введите логин и токен заново. Учетную запись, используемую для запуска на выбранном экземпляре Jenkins, можно выбрать на странице редактировать АС, ФП или ОРД.
-
Установите параметры запуска параметризированных заданий Jenkins (job). Параметры ручного запуска могут быть запрашиваемыми. Такие параметры пользователь задает при каждом запуске дистрибутива. Любой параметр можно сделать безопасным. Безопасный параметр не хранится в явном виде. Например, у команды запрашиваемый и безопасный параметры могут быть секретным ключом развертывания в производственной среде.
Увеличить
Для запрашиваемых параметров можно задать словарь. Для этого при настройке фазы введите первую опцию, а затем нажмите Enter. Далее при запуске можно выбрать один из вариантов или ввести свой.
- Настройте конвейер с помощью:
- Stage Jenkins (при необходимости) - этапы задания ковейера job, статусы прохождения которых требуется фиксировать, и которые влияют на прохождение фазы;
- режима валидации (обязательно):
- в ручном режиме переход на следующую фазу или этап происходит после подтверждения ответственного пользователя;
- в автоматическом (ручной для Failed) режиме переход к следующей фазе или этапу будет автоматическим при условии положительного статуса задания Jenkins (job). При этом автоматически подтверждается или отклоняется выполнение фазы согласно ответу от Jenkins.
- Нажмите кнопку Сохранить.
Для передачи данных между разными заданиями Jenkins (job) можно использовать глобальные переменные. Например, можно создать переменную NeedLT (требуется нагрузочное тестирование).
Выберите задание и проверьте в нем, какие модули изменились. Затем установите значение переменной NeedLT в
true
или false
. Передайте текущее значение переменной в задание, в рамках которого выполняется нагрузочное тестирование.Поддерживается создание в Nexus следующих шлюзов Quality Gate:
- QG.CI.1 Static Code Analysis;
- QG.CI.2 API First Check;
- QG.CI.3 SAST;
- QG.CDL.1 BVT;
- QG.CDL.2 Dev LT;
- QG.CDL.3 Smoke ST;
- QG.CDL.4 Smart Regress ST;
- QG.CDL.5 NF ST;
- QG.CDL.6 Smoke IFT;
- QG.CDL.7 Smart Regress IFT;
- QG.CDL.8 NF IFT;
- QG.CDL.9 DAST;
- QG.CDL.10 LT;
- QG.CDP.1 Smoke UAT;
- QG.CDP.2 Smart Regress UAT;
- QG.CDP.3 NF UAT.
В качестве промежуточного этапа реализована возможность добавления QG-флагов в Nexus, а также проверки ранее добавленных флагов.
Отказ от встраивания функции добавления флага
Для отказа от встраивания в свой конвейер Jenkins функции добавления флагов в Nexus:
-
Откройте страницу ОРД, в рамкой которого нужно настроить автоматическое проставление QG.
Увеличить
-
Откройте страницу конфигурации конвейеров.
-
Создайте новый конвейер или отредактируйте ранее созданный.
Важно! Редактирование активного конвейера запрещено. Для внесения изменений в такой конвейер скопируйте его, настройте, а затем активируйте.

Увеличить
Выбор конвейера
Для выбора конвейера:
-
Выберите нужный этап в конвейере, в рамках которого вы хотите настроить добавление флагов в Nexus.
Увеличить
-
Добавьте новую фазу с типом Quality Gate, далее укажите список шлюзов QG, которые вы хотите добавить, выбрав доступные в раскрывающемся списке.Пример:
Увеличить
В примере добавляются шлюзы QG API First Check и Static Code Analysis. Механизм добавления QG запускается автоматически. При успешном добавлении QG выполнение конвейера продолжится. Описанный конвейер добавляет QG только при успешном выполнении фаз Deploy и Test.
Добавление шлюза
Для добавления шлюза:
-
Убедитесь, что все этапы в вашем конвейере настроены корректно.
-
Сохраните конфигурацию этапа и конфигурацию конвейера.
Увеличить
-
Активируйте ранее созданный или измененный конвейер.
-
Убедитесь, что конвейер по умолчанию соответствует ранее созданному или отредактированному.
Новые релиз-кандидаты будут добавлять QG автоматически.

Увеличить
В примере изображен конвейер ОРД, где фаза PUT QG добавляет флаг API First Check. Используется конвейер, где исполнение этапа Release Team не будет завершено, пока не появится флаг API First Check.

Увеличить
Для получения детальной информации о флагах, представленных в Nexus, нажмите кнопку Многоточие.
Если в вашем конвейере ранее уже были добавлены флаги в Nexus, а также было настроено добавление этих же флагов в Nexus при помощи DPM, будут добавлены только флаги, отсутствующие в Nexus. На странице релиз-кандидата будет отображен статус успешного выполнения шагов. Многократное добавление одного и того же флага в Nexus не рекомендуется.
При работе QG JOB добавляются все QG, которые были настроены в рамках фазы. Успех добавления в Nexus проверяется. При ошибке проверки QG в Nexus фаза считается неуспешной.
DPM не поддерживает работу с пользовательскими QG, но дает возможность обрабатывать предустановленный список.
Работа с профилями конвейеров
Профиль конвейера используется для маршрутизации дистрибутивов по конвейерам. Например, дистрибутивы, в наименовании которых есть постфикс
-hotfix
, должны поставляться по конвейеру для хотфиксов. Остальные дистрибутивы будут поставляться по конвейерам Minor или Major.Важно! Перед началом работы с профилями конвейеров убедитесь, что ОРД и конвейер ОРД созданы.
Создание профилей
Для создания профиля конвейера ОРД:
-
Откройте страницу конвейеров ОРД;
Увеличить
-
Нажмите кнопку Профили.
-
В открывшемся меню нажмите кнопку Создать профиль.
-
Заполните поля, сопоставляя набор дистрибутивов с конвейером:
- Имя профиля. Если в поле Релиз-кандидаты профиля присутствует только значение Другие, то такой профиль является профилем по умолчанию;
- если кроме этого профиля существуют другие профили, выберите версию профиля. Используется группировка, которая была определена при создании ОРД, или регулярное выражение.

Увеличить
-
Для дистрибутивов версии или регулярного выражения выберите конвейер, затем укажите, что запуск конвейеров не должен происходить. Для таких дистрибутивов конвейер можно задать вручную.
Увеличить
-
Нажмите кнопку Сохранить.
Профиль создан.
Порядок профилей
Профили позволяют использовать регулярные выражения и группировки. Для предотвращения конфликта выбора конвейера дистрибутива, когда один конвейер находится в нескольких профилях, используется приоритизация профилей. Порядок проверки дистрибутива на принадлежность профилю проходит сверху вниз. Приоритет профиля можно изменить кнопками со стрелками управления порядком профиля, доступными в окне профилей.

Увеличить
Важно! Приоритет профиля Другие изменять нельзя. Этот общий профиль нужен для сбора дистрибутивов, не попавших ни в один профиль с категорией. Профиль Другие имеет самый низкий приоритет.
Создание ОРД состоит из двух этапов:
- Выбор репозитория и правил, по которым артефакты в нем будут считаться релиз-кандидатами ОРД.
- Настройка конвейера с заданием параметров запуска задач Jenkins (версии 2.319 и выше).
Для выбора репозитория и правил на странице функциональной подсистемы:
-
Нажмите кнопку Создать ОРД.
-
Заполните поля (см.таблицу ниже).
Увеличить
-
Нажмите кнопку Сохранить.
Описание полей вкладки Создание ОРД приведено в таблице ниже.
Наименование | Обязательное | Описание |
---|---|---|
Наименование | Да | Название ОРД |
Ключ | Да | Для обращения к контексту ОРД в параметрах запуска задач |
Поля для выбора проекта в Nexus | ||
URL дистрибутива | Да | Адрес дистрибутива |
Nexus | Да | Выбор ХИП из списка зарегистрированных экземпляров |
Repository | Да | Название репозитория ХИП |
Group ID | Да | Group ID артефактов в ХИП |
Artifact ID | Да | Artifact ID артефактов в ХИП |
Поля для установки параметров поиска дистрибутива | ||
Шаблон артефакта | - | Шаблон наименования артефактов |
Регулярное выражение | Да | Регулярное выражение, по которому артефакты в указанном проекте будут регистрироваться в АС |
Шаблон артефакта | Да | Выражение для формирования релизов, по которым группируются релиз-кандидаты |
Группа релизов | Нет | Подгруппа релизов |
Шаблон версии | Да | Выражение, на основе которого в АС будут отображаться полученные релиз-кандидаты |
Description | Нет | Описание ОРД |
Для настройки конвейера:
-
Нажмите кнопку Предпросмотр. На экране отобразится структура регистрируемого ОРД — списка релизов с входящими в него релиз-кандидатами.
Увеличить
-
Нажмите кнопку Сохранить.