Руководство оператора#

В руководстве приведены инструкции для оператора компонента Сервис управления конвейером DevOps (DPM/PipeWork) (DPMS) (далее по тексту документа — "компонент") продукта Platform V DevOps Pipeline Management (DPM).

Доступ к приложению#

Для входа в приложение для работы с использованием графического пользовательского интерфейса следует:

  1. Открыть web-браузер и обратиться по адресу http://{dpm-ipAddress}/dpm/front/main/loginpage
    где {dpm-ipAddress} — адрес сервера DPM

  2. В открывшейся странице авторизоваться: ввести логин и пароль

Рекомендуемые web-браузеры и их версии перечислены в разделе "Системные требования" Руководства по установке.

Использование приложения оператором#

Использование приложения оператором заключается в просмотре структуры объектов проектов и содержащихся в них приложений, а также управление движением конвейеров, включая подтверждение запуска фаз, валидацию результатов выполнения фаз, перезапуск этапов, в т.ч. посредством выполнения поставленных задач.

Создание и настройка проектов, приложений, сервисов, конвейеров и др. относится к компетенции прикладного разработчика и излагаются в Руководстве прикладного разработчика, в разделах "Быстрый старт" и "Использование программного компонента".

Таким образом, к компетенции оператора относится просмотр состояния и управление поведением созданных и настроенных объектов, а создание и настройка приложений, сервисов, конвейеров и т.п. — к компетенции прикладного разработчика.

Для просмотра списков объектов оператору требуются разрешения Просмотр проекта и дочерних объектов и Просмотр приложения и дочерних сервисов, выдаваемые по умолчанию к любой роли в проекте или приложении соответственно.

Кроме того, для использования приложения согласно своей компетенции оператор должен иметь следующие разрешения:

Сценарий использования

Требуемое разрешение

Уровень

Запуск, полный останов, временное прерывание и возобновление конвейера

Управление конвейером релиз-кандидата

Проект, Приложение

Перезапуск этапов

Перезапуск этапов

Проект, Приложение

Перезапуск фаз

Перезапуск фаз

Проект, Приложение

Просмотр списков объектов и свойств выбранного объекта#

Просмотр списка проектов и свойств выбранного проекта#

Требуемое разрешение: Просмотр проекта и дочерних объектов.

Для просмотра списка проектов перейдите по ссылке "Все проекты".
Откроется окно "Все проекты", содержащее список всех проектов, для которых текущему пользователю предоставлено разрешение "Просмотр проекта и дочерних объектов".

Создание нового проекта доступно только глобальным администраторам.
Настройка проекта, ролей или групп пользователей в проекте доступны пользователям, имеющим в этом проекте разрешения "Общая настройка проекта", "Управление ролями" или "Управление группами" соответственно.

Подробнее о разрешениях и назначении их посредством ролей на уровнях проекта и приложения — см. Руководство по безопасности, раздел "Авторизация".

Просмотр списка приложений проекта и свойств выбранного приложения#

Требуемое разрешение: Просмотр приложения и дочерних сервисов или Просмотр проекта и дочерних объектов (унаследованное от проекта, содержащего просматриваемое приложение).

Для просмотра списка приложений какого-либо проекта в окне "Все проекты" перейдите по ссылке с названия этого проекта.
Откроется окно "Проект", содержащее список всех приложений выбранного проекта.

Создание нового приложения, настройка ролей, групп или удаление приложения доступны пользователям, имеющим в соответствующем проекте или приложении разрешения "Создание приложений", "Управление ролями", "Управление группами" или "Удаление приложений" соответственно.

Просмотр списка сервисов приложения и свойств выбранного сервиса#

Требуемое разрешение: Просмотр приложения и дочерних сервисов.

Для просмотра списка сервисов какого-либо приложения — в окне "Проект" перейдите по ссылке с названия этого приложения.
Откроется окно "Приложение", содержащее список всех сервисов выбранного приложения.

Создание нового сервиса доступно пользователям, имеющим в соответствующем проекте или приложении разрешение "Управление сервисами и синхронизацией с Nexus".

Управление конвейерами и работа с запущенными конвейерами#

Запуск, полный останов, временное прерывание и возобновление конвейера#

Требуемое разрешение: Управление конвейером релиз-кандидата.

Запуск конвейера#

У вас есть релиз-кандидат без назначенного конвейера (например, в вашем Сервисе был задан профиль без конвейера или это один из синхронизированных, но не запущенных кандидатов).
Для запуска конвейера:

  1. Перейдите на страницу релиз-кандидата;

  2. В списке конвейеров выберите нужный

  3. Подтвердите запуск

Останов конвейера (с очисткой текущего прогресса)#

В истории релиз-кандидата все действия сохранятся, история не затирается.
Но после такого останова будет невозможно продолжить с того места, где конвейер был остановлен (для приостановки с возможностью продолжения используйте Действие Прервать).
Подробнее см. в разделе "История действий в конвейере релиз-кандидата".

Для останова конвейера и прекращения работы с текущим запуском (например, для последующего запуска заново, или чтобы уступить очередь более позднему релиз-кандидату):

  1. Перейдите на страницу релиз-кандидата;

  2. В меню Действия выберите Остановить

Прерывание конвейера (с возможностью возобновления)#

Для временной приостановки конвейера можно использовать прерывание конвейера (возобновление вызывается тут же):

  1. Перейдите на страницу релиз-кандидата;

  2. В меню Действия выберите Прервать

При возобновлении конвейера перезапустятся только незавершенные в момент приостановки этапы.

Возобновление конвейера#
  1. Перейдите на страницу релиз-кандидата;

  2. В меню Действия выберите Возобновить

Проверка условий запуска этапа в запущенном конвейере#

Требуемое разрешение: Просмотр приложения и дочерних сервисов.

Перед первым запуском этапа будут проверены условия на этап, если условия позволяют запустить этап — будут проверены QG. Этап будет запущен после прохождения QG проверок.
При перезапуске этапа условия на этап будут проигнорированы.

Процесс проверки в конвейере#

Ожидают проверки#

Пока этап находится в очереди на исполнение, проверка QG не осуществляется. На этом этапе можно уточнить условия прохождения проверки до и после прохождения этапа кликом по соответствующей области

По клику будут представлены детальные условия прохождения по каждому из QG включая возможные статусы, ожидаемый источник, опциональность.

Проверка проведена#

После проведения проверки по клику можно получить информацию по статусу каждой из проверок

Также в разделе по условию можно найти информацию, по какой причине QG считается пройденным или проваленным

Повторное прохождение проверки#

В случае, если не все проверки завершились успешно, их можно повторить кликом Проверить заново в окне с детальной информацией

В этом случае будут перепроверены все QG данного пред(пост)условия.

Перезапуск этапов#

Требуемое разрешение: Перезапуск этапов.

Какие этапы можно перезапустить#

Можно перезапустить этапы, на которых отображается иконка перезапуска или старта этапа (выделены на рисунке). Отображение иконки перезапуска зависит от статуса этапа.
Можно перезапустить этап (отображается иконка): "Этап пройден", "В прогрессе", "Ошибка этапа", "Ошибка постусловия", "Ошибка предусловия".
Нельзя перезапустить этап (нет иконки): "Ждет запуска".

Команда перезапуска этапа#

Перезапуск этапа осуществляется кликом по иконке, выделенной на рисунке выше. При этом пользователю будет предоставлен выбор опциональности перезапуска.

Перезапуск этапа как опционального#

Перезапуск этапа как опционального не влияет на прогресс конвейера, а также запускает следующий обязательный этап если перезапускаемый этап ранее был обязательным и находился в процессе выполнения.

Например:

  1. На РК запущен конвейер, который убежал вперед

  1. Решаем перезапустить этап ИФТ как опциональный.

Ожидаемый результат: перезапуск этапа DEV как опционального не приводит к перезапуску последующих этапов.

Перезапуск этапа как обычного#

Перезапуск этапа как обычного приводит также к перезапуску всех последующих обязательных этапов. Если в процессе выполнения конвейера очередь дошла до опциональных или пропускаемых этапов, они не будут перезапущены.

Например:
Имеется запущенный конвейер на РК, который убежал вперед на несколько этапов:

Перезапустим этап DEV как обычный этап.
В результате прогресс конвейера после этапа DEV сброшен, конвейер стартует заново с момента этапа DEV:

Подгрузка настроек из оригинального конвейера#

Перезапуск этапа возможен с обновлением настроек из оригинального конвейера.
Эта опция доступна для перезапуска этапа как обычного и как опционального. Если требуется обновить настройки этапа, нужно включить флажок Обновить настройки из оригинального конвейера (если есть).

Внимание: при перезапуске этапа как обычного с включенным флажком Обновить настройки из оригинального конвейера обновляются настройки только перезапускаемого этапа, последующие этапы стартуют со старыми настройками.
При необходимости изменить настройки других этапов из оригинального конвейера, нужно перезапустить конвейер или каждый этап в отдельности с включенным флажком Обновить настройки из оригинального конвейера.

Настройка фаз перед перезапуском этапа#

При перезапуске этапа можно настроить фазы, для этого в окне перезапуска этапа нажмите кнопку Настроить фазы до перезапуска. В открывшейся панели настройте фазы этапа. Завершив настройку фаз, закройте панель настройки фаз и в диалоге перезапуска нажмите кнопку:

  • при перезапуске как обычный этап — Перезапустить все равно

  • при перезапуске как опциональный этап — Перезапустить

Перезапуск фаз#

Требуемое разрешение: Перезапуск фаз.

Какие фазы можно перезапустить#

Опциональную фазу можно перезапустить всегда.
Обязательную фазу можно перезапустить только если не получена (или не проставлена автоматически) финальная валидация.

Команда перезапуска фазы#

Перезапуск фазы осуществляется кликом по иконке перезапуска, отображаемой в правом верхнем углу прямоугольника фазы.
Откроется панель "Перезапуск фазы", аналогичная панели создания фазы и соответственно обеспечивающая возможность изменения всех параметров фазы.
При необходимости измените параметры фазы и нажмите кнопку Перезпустить.

История действий в конвейере релиз-кандидата#

Требуемое разрешение: Просмотр приложения и дочерних сервисов.

В историю действий записываются дата и время по событиям:

  • источник запуска конвейера (запуск по профилю или вручную пользователем);

  • добавление этапа в очередь исполнения (запуск этапа);

  • создание задачи на запуск фазы (ожидание ручного подтверждения) или автоматический запуск;

  • подтверждение запуска фазы пользователем + параметры запуска;

  • результат выполнения фазы;

  • перезапуски и подтверждения валидации.

Для просмотра истории перейдите в меню ДополнительноИстория конвейера

Иконки в истории:

— статус выполнения фазы автоматически подтверждён;
— произведена ручная валидация;
— фаза провалена;
— фаза вручную переведена в успешный статус;
— фаза в процессе выполнения или ошибка запуска фазы.

Просмотр логов выполненной Jenkins job из DPM#

Требуемое разрешение: Просмотр приложения и дочерних сервисов.

Просмотр логов последнего запуска фазы#

  1. В панели отображения выполненной фазы нажмите иконку "три точки" в верхнем правом углу панели фазы.

  2. Нажмите кнопку Открыть Job Log.

Откроется новая вкладка браузера, содержащая текст протокола работы job Jenkins, запрошенный из Jenkins после завершения работы job (в компоненте эти протоколы сохраняются в отдельной схеме БД log_jenkins).
Соответственно, по содержанию это тот же протокол, который выводится в пользовательском интерфейсе Jenkins по команде "Console Output" ("Вывод консоли") для результата запуска job Jenkins-фазы, например:

Started by user XXXXXXX
Running as XXXXX
[EnvInject] - Loading node environment variables.
Building remotely on XXXXXXXXXXXX in workspace /XXX/XXX/jenkins_job/workspace/DPM/Tests/SimpleWithParams4
[SimpleWithParams4] $ /bin/sh -xe /tmp/XXXXXX.sh
+ '[' false = true ']'
+ sleep 1
+ echo FAILED
  FAILED
+ exit 1
  Build step 'Execute shell' marked build as failure
  Notifying upstream projects of job completion
  Finished: FAILURE

Кроме полного протокола работы job в БД компонента сохраняется информация о следующих событиях.
Эта информация отображается на панели "История релиз-кандидата" или в соответствующих указанных разделах пользовательского интерфейса компонента

События, связанные с запуском конвейера:

  • запуск конвейера;

  • перезапуск конвейера;

  • останов конвейера.

События, связанные с запуском этапов:

  • добавление этапа в очередь;

  • запуск этапа;

  • перезапуск этапа.

События, связанные с запуском фаз:

  • для Jenkins-фаз (включая валидацию результата выполнения job):

    • автоматический запуск фазы;

    • автоматический пропуск фазы;

    • ручной запуск фазы (создание задачи на запуск);

    • перезапуск фазы;

    • результат выполнения фазы (фаза пройдена или фаза не пройдена);

    • автоматическое подтверждение прохождения фазы;

    • автоматическое отклонение прохождения фазы;

    • ручное подтверждение прохождения фазы;

    • ручное отклонение прохождения фазы;

  • для сервисных фаз публикации QG:

    • изменение статуса задачи проверки Quality Gate.

События, связанные с запуском job Jenkins:

  • статус сборки в Jenkins — на панели отображения фазы;

  • порядковый номер сборки в Jenkins — в диалоге "Информация о фазе".

Просмотр логов предыдущих запусков, если фаза перезапускалась#

  1. Откройте историю конвейера нажатием ДополнительноИстория Конвейера

  1. Найдите результат нужного запуска и нажмите Logs

Работа с задачами#

Требуемое разрешение: Просмотр приложения и дочерних сервисов.

Помимо автоматизации с помощью DPM возможна настройка ручных запусков, ручных проверок, ввода данных пользователем, подтверждений результатов выполнения автоматических или ручных запусков. Всё это называется задачами пользователя.
Задача может быть назначена на одного или нескольких пользователей, а также группу пользователей.
Логика назначения ответственных за задачу по снижению приоритета:

  1. Указанный в фазе пользователь или группа пользователей;

  2. Ответственные за этап приложения (если в фазе никто не указан);

  3. Владелец приложения (если никто не указан в фазе и настройках ответственных за этап).

Просмотр всех задач, назначенных на пользователя#

В этом разделе собраны все задачи, назначенные на пользователя из всех актуальных сервисов, приложений, проектов и конвейеров, список доступен в нижней панели меню.

Задачи могут быть двух типов: на подтверждение запуска и на валидацию результатов выполнения задания Jenkins

Нажатием кнопки К задаче будет осуществлён переход к запуску/валидации.

Просмотр задач, назначенных на пользователя в конвейере#

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

  1. Если от пользователя требуется разрешение на запуск: Подтвердить запуск

  2. Если от пользователя требуется подтверждение результатов: Валидировать

  3. Действие требуется от другого пользователя (нет прав на запуск/подтверждение задачи): Открыть задачу

Подтверждение задачи#

Узнать кто может подтвердить задачу можно:

Вариант 1:
Список ответственных отображается при клике на надпись под кнопкой подтверждения/запуска

Вариант 2:
Во всплывающей панели запуска фазы после нажатия кнопку Открыть задачу

Часто встречающиеся проблемы и пути их устранения#

Типовые проблемы не выявлены. Возможные проблемы перечислены ниже в данном разделе.

Действия в случае отсутствия у пользователя необходимых прав (разрешений)#

Отсутствие у пользователя разрешения на выполнение какой-либо операции проявляются в виде:

  • сообщений об отсутствии у пользователя необходимых прав;

  • отсутствия элементов пользовательского интерфейса, служащих для выполнения операции, для которой у пользователя отсутствуют права.

В таких случаях следует обратиться к непосредственному руководителю для согласования получения прав доступа, с указанием:

  • уровня (глобально / проект / приложение) на котором требуется получение прав;

  • объекта, для доступа к которому требуются права;

  • операции, для выполнения которой требуется получить права.

Технически, права доступа предоставляются посредством добавления пользователя в роль, предоставляющую соответствующие разрешения, см. раздел "Роли" Руководства по безопасности.

Общая последовательность диагностики в случае сбоев#

В случаях сбоев диагностику ситуации следует начинать с проверок:

  1. Подключения клиента (компьютера пользователя) к сети;

  2. Доступности сервера DPM;

  3. В случае неудачной аутентификации — корректности логина/пароля при входе в DPM;

  4. В случае ошибок обращения к Jenkins — корректности логина/пароля Jenkins, указываемых в профиле пользователя DPM для соответствующего экземпляра Jenkins.

Действия в случае невозможности входа в систему#

В случае невозможности входа в систему следует (с учетом внутренних регламентов Заказчика) обращаться:

  • в случае технических проблем (недоступен сервис Keycloak/LDAP и т.п.) — в техническую поддержку;

  • при получении сообщения о блокировке учетной записи — к непосредственному руководителю.

Действия в случае ошибок в работе компонента или внешних систем#

В случае обнаружения ошибок в работе компонента или внешних систем следует (с учетом внутренних регламентов Заказчика) обращаться в техническую поддержку.

Параметры настройки#

В данном разделе настоящего Руководства приводятся только параметры, предназначенные для настройки оператором в процессе использования компонента.

Основные настройки компонента выполняются:

  • при установке (создание этапов, флагов и первого проекта, настройка фиче-флагов и внешних приложений и т.п.) — см. Руководство по установке, раздел "Установка", подразделы "Порядок установки DPM" и "Порядок установки DPM";

  • настройки параметров безопасности — см. одноименный раздел Руководства по безопасности;

  • прикладным разработчиком (общие настройки компонента, включая настройку проектов и прав пользователей) — см. Руководство прикладного разработчика, раздел "Подключение и конфигурирование".

Настройки в профиле пользователя#

Общая настройка получения уведомлений#

Email-уведомления о поставленных задачах включены по умолчанию, но могут быть отключены пользователем в своем профиле.
Для настройки получения уведомлений о постановке задач — войдите в профиль пользователя и на вкладке "Личный кабинет" установите желаемое значение переключателя "Рассылка от DPM".

Настройка доступа в Jenkins#

Ввести логины и пароли, используемые для обращения к соответствующим экземплярам Jenkins, пользователь, авторизованный в DPM, может в своем профиле:

  1. В правом вернем углу окна пользовательского интерфейса DPM навести курсор мыши на иконку с инициалами пользователя и в раскрывшемся списке выбрать "Профиль";

  2. В раскрывшемся окне "Мой профиль" перейти на вкладку "Доступы";

  3. В панели слева выбрать требуемый экземпляр Jenkins;

  4. В панели "Учетная запись", открывшейся для выбранного Jenkins, ввести логин и пароль и нажать кнопку Сохранить.

Создание личного токена#

Личный токен служит для аутентификации пользователя при обращении к DPM из Jenkins посредством Public API, см. также раздел "Аутентификация при подключении интегрированных систем посредством Public API" Руководства по безопасности.

Подробно получение и использование личного токена изложено в Руководстве прикладного разработчика, раздел Использование программного компонента", подраздел "Личный токен (Создать токен DPM для авторизации из Jenkins)".

Подписка на уведомления о событиях РК#

Для получения уведомлений о событиях при движении релиз-кандидата (РК) по конвейеру пользователь может подписаться на получение email уведомления о выбранных событиях.

Подписка на уведомления по всем РК сервиса#

Для подписки на события по всем РК конкретного сервиса — перейдите в окно этого сервиса и нажмите кнопку "Настройки сервиса" и выберите пункт всплывающего меню "Подписаться на сервис".
Откроется панель управления подпиской на события сервиса, в которой флажками следует отметить желаемые настройки:

  • Включить рассылку по всем задачам релиз-кандидатов

  • Подписаться на все или выбранные События сервиса:

    • Применение профиля к релиз-кандидату

    • Завершение выполнения конвейера

    • Остановка конвейера пользователем

    • Запуск конвейера пользователем

    • Получение релиз-кандидата

  • Подписаться на все или выбранные События релиз-кандидатов сервиса:

    • Изменение конфигурации фаз

    • Обновление комментариев к фазам РК

    • Изменение статусов фаз

    • Изменение статуса Quality Gate

    • Отложен запуск фазы

    • Перезапуск фазы без согласования

    • Перезапуск фазы

    • Изменение статуса этапа

    • Релиз-кандидат стал в очередь на этап

По окончании настройки нажмите кнопку "Применить".

Подписка на уведомления по конкретному РК#

Для подписки на события по конкретному РК — перейдите в окно этого РК, нажмите кнопку "Дополнительно" и выберите пункт всплывающего меню "Подписки".
Откроется панель управления подпиской на события по РК, в которой флажками следует отметить желаемые настройки:

  • Подписаться на Все или выбранные события этого РК:

    • Изменение конфигурации фаз

    • Обновление комментариев к фазам РК

    • Изменение статусов фаз

    • Изменение статуса Quality Gate

    • Отложен запуск фазы

    • Перезапуск фазы без согласования

    • Перезапуск фазы

    • Изменение статуса этапа

    • Релиз-кандидат стал в очередь на этап

По окончании настройки нажмите кнопку "Применить".

Правила эксплуатации#

Правила и требования в отношении безопасности изложены в Руководстве по безопасности, включая:

  • правила эксплуатации — в подразделе "Правила эксплуатации";

  • требования в отношении парольной политики — в подразделе "Рекомендации в части аутентификации";

  • описание правил и механизма разграничения доступа (использование ролей и групп) — в разделе "Авторизация".

Возможность загрузки/выгрузки данных в/из компонента через интерфейс администрирования отсутствует.
Пользовательский интерфейс общей настройки компонента не содержит средств загрузки/выгрузки данных.

Для обеспечения безопасной эксплуатации компонента, на ПК оператора рекомендуется использовать средства анитивирусного контроля.