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