GitLab CI: от коммита до готового Docker-образа

GitLab CI для новичков: jobs, stages, runners, переменные, artifacts, cache и rules. Создаём свой проект, запускаем тесты, собираем и публикуем Docker-образ.
Начальный уровень
14–18 часов; свой runner требует дополнительной настройки

Чему вы научитесь

  • Объяснять устройство GitLab CI: pipeline, jobs, stages и runners
  • Настраивать переменные и безопасно работать с учётными данными
  • Сохранять отчёты в artifacts и ускорять повторные проверки с помощью cache
  • Управлять зависимостями jobs и условиями запуска с помощью needs, rules и workflow
  • Собирать Docker-образ после успешных тестов и публиковать его в GitLab Container Registry
  • Проверять опубликованный образ по digest и диагностировать ошибки pipeline

О курсе

GitLab CI: от коммита до готового Docker-образа

Вы изменили файл — GitLab запускает проверки. Ошибка в тесте останавливает выпуск. Исправленный коммит превращается в Docker-образ, который публикуется в Container Registry и проверяется повторным скачиванием и запуском.

В этом курсе вы построите такой процесс и разберётесь, почему он работает. Объясняем термины до их использования: pipeline, job, stage, runner, executor, image, service, переменная, artifact, cache, rules, workflow, registry, tag и digest.

Для кого

Для новичков в CI/CD, начинающих разработчиков, тестировщиков и DevOps-инженеров. Достаточно уметь редактировать файлы; короткое введение в commit, push, ветки и merge requests включено. Готовое Python-приложение и тесты предоставляются: писать программу с нуля не нужно.

Что вы сделаете

  • Запустите первую job и научитесь читать лог.
  • Добавите тесты и проверите, что их ошибка блокирует публикацию.
  • Настроите переменные, JUnit-отчёты, artifacts и кеш зависимостей.
  • Свяжете jobs через needs и зададите условия через rules и workflow.
  • Подготовите свой проект и соберёте образ на выбранном доступном runner.
  • Опубликуете образ с тегом коммита и проверите его по digest в отдельной job.
  • Проведёте эксперименты с падением тестов, пустым кешем и событиями MR.

Как проходит обучение

7 модулей, 21 урок, 126 шагов: объяснения с разбором команд, 21 практика и 42 теста с обратной связью. Ориентир — 14–18 часов. Все основные исходники и конфигурации приведены в уроках; комплект лаборатории содержит последовательные контрольные версии.

Готовый стенд, аккаунт и проект не предоставляются. Основной маршрут — собственный проект на GitLab.com и GitLab-hosted Linux runner: можно работать через веб-редактор без локальных Python и Docker. До начала практики проверьте доступность runner, требования к проверке аккаунта, compute minutes и Container Registry. Бесплатный курс не гарантирует доступность или неограниченную бесплатность внешних вычислительных ресурсов.

Запасной маршрут — собственный project runner на выделенной Linux-машине с Docker, правами администратора и интернетом. В архив включена пошаговая инструкция; настройка потребует дополнительного времени. Ресурсы машины предоставляет учащийся, их аренда не входит в курс. Без доступного runner можно изучать теорию и локальные примеры, но полный цикл CI остаётся невыполненным. Покупка ресурсов для чтения курса и решения тестов не требуется.

Практику выполняете и проверяете по логам и наблюдаемым результатам в GitLab; Stepik автоматически проверяет только ответы на тесты. Автоматическая проверка репозитория и ручная проверка преподавателем не заявлены.

Итоговая политика: рабочие ветки и MR проходят тесты; успешный push основной ветки автоматически собирает и публикует образ. Курс заканчивается проверенным образом в registry. Развёртывание приложения на рабочем сервере — отдельная тема.

Для кого этот курс

Новички в GitLab CI, начинающие разработчики, тестировщики и DevOps-инженеры.

Начальные требования

Базовое представление о коммитах. Для практики: свой аккаунт и проект GitLab.com, доступный hosted Linux runner и compute minutes либо собственная Linux-машина с Docker и project runner. Готовый стенд не предоставляется. При hosted runner локальный Docker не нужен.

Как проходит обучение

21 текстовый урок, 42 теста с объяснениями, 21 практика и итоговый проект. Собственный проект GitLab.com: hosted Linux runner при доступности и квоте либо свой project runner по инструкции. Готовый стенд не предоставляется. Stepik проверяет тесты; практику проверяете по логам и результатам. Курс бесплатный, внешние ресурсы имеют свои условия. 14–18 часов без установки собственного runner.

Программа курса

В курс входят

  • 21 урок
  • 42 теста
загружаем...

Наши преподаватели

Что вы получаете

  • Готовый учебный Python-проект с тестами и Dockerfile
  • Двенадцать контрольных конфигураций GitLab CI и итоговый pipeline
  • Шаблон отчёта с проверками и словарь терминов
  • Инструкции подготовки GitLab.com и собственного Linux runner, чек-лист окружения

Сколько стоит обучение

Бесплатно

Расскажите о курсе друзьям

Бесплатно