Чему вы научитесь
- Объяснять устройство 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. Развёртывание приложения на рабочем сервере — отдельная тема.
Для кого этот курс
Начальные требования
Как проходит обучение
Программа курса
В курс входят
- 21 урок
- 42 теста
Наши преподаватели
Что вы получаете
- Готовый учебный Python-проект с тестами и Dockerfile
- Двенадцать контрольных конфигураций GitLab CI и итоговый pipeline
- Шаблон отчёта с проверками и словарь терминов
- Инструкции подготовки GitLab.com и собственного Linux runner, чек-лист окружения