Skip to content

Что такое PDM

PDM (Platform Development Manager) — это внутренняя система, в которой видно все окружения платформы: какие они есть, что на них выложено, работают ли они сейчас и что с ними делали в последнее время. Отсюда же запускаются сборки приложений и раскатка новых настроек.

Какую боль это решает

Платформа живёт не в одном экземпляре. Есть тестовые окружения, есть демонстрационные, есть боевые — и у каждого свой набор версий приложений и свои значения настроек. Без единого места это выглядит так:

  • непонятно, какая версия приложения сейчас стоит на конкретном окружении;
  • настройки окружений незаметно расходятся между собой, и «у меня работает» перестаёт что-либо значить;
  • чтобы обновить одно и то же сразу на нескольких окружениях, приходится руками повторять одни и те же шаги;
  • чтобы понять, кто и когда что выложил, надо идти в систему сборок и читать историю;
  • когда окружение «лежит», об этом узнают от того, кто первым на него зашёл.

PDM убирает эту беготню: всё перечисленное собрано на одном экране.

Что даёт PDM

  • Список всех окружений. Все кластеры и окружения с индикатором состояния у каждого. Окружение в PDM называется стендом.
  • Настройки стенда в удобном виде. Параметры сгруппированы по приложениям, видно, где значение общее для всех стендов, а где задано именно здесь.
  • Запуск сборок и выкладок. Собрать приложение из нужной ветки и поставить результат на стенд можно прямо из интерфейса.
  • Релизы. Одно согласованное изменение настроек и версий раскатывается сразу на много стендов.
  • Ход длинных операций. Любая долгая операция разложена на шаги, видно, где она сейчас и где упала.
  • Состояние и доступность. Стенды регулярно опрашиваются, по каждому есть текущий статус, доступность за период и история изменений статуса.
  • История. Сохраняются релизы, сборки и запущенные операции — можно вернуться и посмотреть, что происходило.

Витрина и пульт

Витрина. Сам PDM ничего не хранит «по-настоящему». Кластеры, стенды, текущие значения настроек, секреты — всё это живёт во внешних системах, а PDM регулярно вычитывает их и показывает у себя. То, что вы видите на экране, — это снимок внешних систем, обновляемый синхронизацией.

Пульт. Изменения PDM тоже не делает «у себя»: он запускает их во внешних системах — записывает настройки в хранилище конфигураций, запускает сборку, применяет конфигурацию на живом окружении. Результат вернётся в интерфейс со следующей синхронизацией.

Почему это важно

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

С какими системами связан PDM

Внешняя системаЧто PDM оттуда берётЧто PDM туда отправляет
Kubernetes-кластерысписок кластеров, проектов и стендов, состояние запущенных приложений, секретыприменение новой конфигурации на живом окружении
GitLabтекущие значения настроек стендов и общие значения по умолчанию, ветки и версии приложенийзапуск сборок, запись изменённых настроек

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

Данные обновляются сами

Страницу перезагружать не нужно: статусы стендов и ход выполняемых операций приходят в браузер сами по мере изменений.

Кому это нужно

  • Тестировщику — увидеть, какая версия стоит на стенде, и попросить выложить нужную ветку.
  • Разработчику — собрать приложение и поставить сборку на свой стенд, не заходя в GitLab.
  • Аналитику и менеджеру — понять, что где выложено, в каком состоянии стенды и что вошло в последний релиз.

Что именно вам доступно, зависит от выданных прав: кнопки и разделы, на которые прав нет, просто не показываются. Права выдаёт администратор — подробнее в разделе Права доступа.

Что дальше