Русский
Что такое PDM
PDM (Platform Development Manager) — это внутренняя система, в которой видно все окружения платформы: какие они есть, что на них выложено, работают ли они сейчас и что с ними делали в последнее время. Отсюда же запускаются сборки приложений и раскатка новых настроек.
Какую боль это решает
Платформа живёт не в одном экземпляре. Есть тестовые окружения, есть демонстрационные, есть боевые — и у каждого свой набор версий приложений и свои значения настроек. Без единого места это выглядит так:
- непонятно, какая версия приложения сейчас стоит на конкретном окружении;
- настройки окружений незаметно расходятся между собой, и «у меня работает» перестаёт что-либо значить;
- чтобы обновить одно и то же сразу на нескольких окружениях, приходится руками повторять одни и те же шаги;
- чтобы понять, кто и когда что выложил, надо идти в систему сборок и читать историю;
- когда окружение «лежит», об этом узнают от того, кто первым на него зашёл.
PDM убирает эту беготню: всё перечисленное собрано на одном экране.
Что даёт PDM
- Список всех окружений. Все кластеры и окружения с индикатором состояния у каждого. Окружение в PDM называется стендом.
- Настройки стенда в удобном виде. Параметры сгруппированы по приложениям, видно, где значение общее для всех стендов, а где задано именно здесь.
- Запуск сборок и выкладок. Собрать приложение из нужной ветки и поставить результат на стенд можно прямо из интерфейса.
- Релизы. Одно согласованное изменение настроек и версий раскатывается сразу на много стендов.
- Ход длинных операций. Любая долгая операция разложена на шаги, видно, где она сейчас и где упала.
- Состояние и доступность. Стенды регулярно опрашиваются, по каждому есть текущий статус, доступность за период и история изменений статуса.
- История. Сохраняются релизы, сборки и запущенные операции — можно вернуться и посмотреть, что происходило.
Витрина и пульт
Витрина. Сам PDM ничего не хранит «по-настоящему». Кластеры, стенды, текущие значения настроек, секреты — всё это живёт во внешних системах, а PDM регулярно вычитывает их и показывает у себя. То, что вы видите на экране, — это снимок внешних систем, обновляемый синхронизацией.
Пульт. Изменения PDM тоже не делает «у себя»: он запускает их во внешних системах — записывает настройки в хранилище конфигураций, запускает сборку, применяет конфигурацию на живом окружении. Результат вернётся в интерфейс со следующей синхронизацией.
Почему это важно
Из этого следуют два практических правила. Первое: если стенд удалили в кластере, он исчезнет и из PDM — данные подстраиваются под реальность, а не наоборот. Второе: между действием и его отражением в интерфейсе может пройти время, поэтому за ходом операции следят не по списку настроек, а по странице самой операции.
С какими системами связан PDM
| Внешняя система | Что PDM оттуда берёт | Что PDM туда отправляет |
|---|---|---|
| Kubernetes-кластеры | список кластеров, проектов и стендов, состояние запущенных приложений, секреты | применение новой конфигурации на живом окружении |
| GitLab | текущие значения настроек стендов и общие значения по умолчанию, ветки и версии приложений | запуск сборок, запись изменённых настроек |
Ссылки на пайплайны в GitLab PDM показывает прямо в шагах операции, так что при необходимости всегда можно провалиться в исходную систему и посмотреть подробности.
Данные обновляются сами
Страницу перезагружать не нужно: статусы стендов и ход выполняемых операций приходят в браузер сами по мере изменений.
Кому это нужно
- Тестировщику — увидеть, какая версия стоит на стенде, и попросить выложить нужную ветку.
- Разработчику — собрать приложение и поставить сборку на свой стенд, не заходя в GitLab.
- Аналитику и менеджеру — понять, что где выложено, в каком состоянии стенды и что вошло в последний релиз.
Что именно вам доступно, зависит от выданных прав: кнопки и разделы, на которые прав нет, просто не показываются. Права выдаёт администратор — подробнее в разделе Права доступа.
Что дальше
- Основные понятия — кластер, стенд, конфигурация, релиз и остальной словарь системы.
- Возможности — что система умеет, по блокам.
- Вход в систему — с чего начать работу.