Практика GitLab CI/CD: собрать pipeline и разобраться, почему он сломался

Зелёный pipeline ещё не означает, что выпущено нужное приложение. Тест мог не запуститься, артефакт — оказаться от другой job, а ручной деплой — обогнать предыдущий. Ниже собраны разборы, из которых можно построить учебный pipeline: сначала надёжный запуск, затем передача результата между этапами, потом управляемый выпуск.

Окружение задания и повторяемый pipeline

Эти разборы помогают отделить проблему образа от конфигурации runner, проверить доступ к соседнему проекту и сделать повторный запуск предсказуемым.

Как работать с подборкой

Возьмите отдельный репозиторий с коротким тестом и простой сборкой. Начните с двух jobs и добавляйте возможности по одной. Для каждой правки заранее сформулируйте ожидаемый результат: сколько pipelines появится, какая job запустится и какой файл она получит. Проверяйте это по реальному запуску.

Ниже — статьи с объяснениями и примерами. Практические эксперименты выполняются в вашем учебном окружении; это не встроенный автоматический экзамен.

1. Добиться запуска именно нужных jobs

Сначала отделите проблемы синтаксиса и runner от правил создания pipeline. Когда базовый запуск работает, переходите к переиспользованию конфигурации и особенностям shell.

2. Передать результат следующему этапу

Сборка, отчёт тестов и кэш решают разные задачи. Сделайте так, чтобы следующий этап получал конкретный результат предыдущего запуска. Затем проверьте поведение после истечения срока хранения и при параллельных jobs.

3. Управлять ветвлением и доступами

В монорепозитории не каждая правка требует полного выпуска. Но пропуск job меняет зависимости, а защищённые переменные доступны не во всех запусках. Отработайте эти случаи до того, как pipeline получит доступ к серверу.

4. Не дать релизам мешать друг другу

Запустите два изменения подряд и посмотрите, что произойдёт со старым pipeline. Решите, какие этапы можно отменять, где допустим повтор и как сериализовать деплой в одно окружение.

Соберите результат в одну рабочую процедуру

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

Продолжить обучение

Системно собрать такую цепочку поможет программа курса GitLab CI/CD: автоматизация сборки и деплоя. На странице курса — программа, условия доступа и покупки. Сопоставьте их со своей ближайшей рабочей задачей.

Если пока не хватает базы или нужен соседний инструмент, выберите другой маршрут в путеводителе по практике DevOps.

Продолжить на практике

  • GitLab CI/CD: автоматизация сборки и деплоя ↗

    От первого .gitlab-ci.yml до pipeline, который тестирует код, собирает образ и выкладывает приложение. Runners, artifacts, cache, registry, окружения и безопасный откат — на одном практическом проекте.