>_Junnylab Войти / начать практику

50 LAB · НАЧАЛЬНЫЙ / MIDDLE / СЛОЖНЫЙ

Практика CI/CD: чините сломанные pipelines GitHub Actions и GitLab CI

Учитесь читать pipeline как систему зависимостей: почему job не запустилась, artifact не дошёл, cache не используется или условие исключило нужный этап.

Pipeline может быть синтаксически валидным и всё равно работать неправильно. Причина часто находится в rules/if, needs, path filters, artifact scope, environment variables или несовпадении assumptions между jobs.

В Junnylab CI/CD-задачи построены вокруг диагностики уже существующей конфигурации. Это ближе к рабочей ситуации, когда нужно быстро понять, почему вчерашний pipeline после изменения перестал выпускать релиз.

НАВЫКИ

Что тренируется

  • GitHub Actions workflow
  • GitLab CI pipelines
  • jobs и dependencies
  • rules, if и filters
  • artifacts и cache
  • variables и secrets boundary
  • runner assumptions
  • build/test/deploy flow

СИМПТОМЫ

Примеры инцидентов

  • →job пропускается из-за неверного условия
  • →следующий этап не получает artifact
  • →cache key не совпадает с ожидаемым
  • →job зависит от неверного needs
  • →workflow запускается не на том событии
  • →переменная доступна не в том scope
  • →pipeline проходит, но deploy stage не выполняется
  • →GitLab/GitHub синтаксис смешан между системами

РЕАЛЬНЫЕ LAB

Примеры заданий из этого трека

В треке: 10 начальных LAB · 30 Middle · 10 сложных LAB. Ниже — по два реальных примера каждого уровня из публичного каталога.

LAB 01 · Начальный

GitLab stages расположены в неверном порядке

gitlab · stages

LAB 02 · Начальный

Job ссылается на отсутствующий stage

gitlab · stages

LAB 11 · Middle

Test всегда возвращает успех

gitlab · testing

LAB 12 · Middle

Package публикует неверный marker

gitlab · artifacts

LAB 41 · Сложный

Test errors игнорируются

github · failure policy

LAB 42 · Сложный

GitHub deploy не ждёт package job

github · job dependencies

КАК ПРОХОДИТ ПРАКТИКА

Не угадывайте ответ — исследуйте состояние системы

01

Получаете тикет

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

02

Открываете терминал

После входа создаётся отдельная учебная среда. Команды выполняются в настоящем shell.

03

Строите гипотезу

Проверяете конфигурацию, логи и фактическое состояние теми инструментами, которыми пользовались бы на работе.

04

Исправляете причину

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

05

Проверяете результат

Серверная функциональная проверка подтверждает, что проблема действительно устранена и LAB готова.

ДЛЯ КОГО

Практика вместо ещё одного набора теории

Подходит тем, кто работает с delivery pipelines и хочет научиться разбирать failure по логам и конфигурации, а не перезапускать job до случайного успеха.

FAQ

Вопросы о практике CI/CD

Нужен ли собственный GitHub Runner или GitLab Runner?

Нет. Учебная логика воспроизводится внутри LAB и не требует подключать ваш рабочий runner.

Есть ли и GitHub Actions, и GitLab CI?

Да. Трек специально охватывает обе распространённые системы CI/CD.

Публикуются ли реальные secrets?

Нет. Учебные страницы и публичный каталог не содержат секретных значений или приватного runtime-контекста.

Посмотрите реальные названия LAB до регистрации

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

Перейти в каталог Junnylab