Основы CI/CD: автоматизация доставки кода

От коммита до продакшна в автоматическом режиме

О курсе

CI/CD — основа современной разработки. Этот курс научит вас автоматизировать всё: от запуска тестов при каждом коммите до деплоя в продакшн нажатием кнопки. Вы освоите GitHub Actions как основной инструмент и поймёте принципы, применимые к любой CI/CD-платформе.

Целевая аудиторияРазработчики и DevOps-инженеры, знакомые с Git и Docker
Формат6 модулей, реальные пайплайны на GitHub Actions
ИтогПолный CI/CD-пайплайн для веб-приложения
01

Принципы CI/CD и DevOps

Разбираем фундаментальные понятия: что стоит за аббревиатурами CI и CD, как DevOps изменил культуру разработки и почему автоматизация доставки кода стала стандартом индустрии. Изучаем ключевые метрики эффективности.

Ключевые темы

  • Что такое CI, CD (Delivery vs Deployment)
  • Проблемы без автоматизации: интеграционный ад
  • DevOps: культура и практики
  • Жизненный цикл пайплайна
  • Обзор инструментов: GitHub Actions, GitLab CI, Jenkins, CircleCI
  • Ключевые метрики: lead time, deployment frequency, MTTR
02

GitHub Actions: основы

Знакомимся с GitHub Actions — мощной платформой для автоматизации прямо внутри репозитория. Изучаем ключевые концепции: workflow, job, step, разбираем YAML-синтаксис и настраиваем триггеры для запуска пайплайнов.

Ключевые темы

  • Концепции: workflow, job, step, action
  • YAML-синтаксис workflow
  • Триггеры: push, pull_request, schedule, workflow_dispatch
  • Runners: GitHub-hosted и self-hosted
  • Контекст и переменные окружения
  • Маркетплейс готовых actions
03

Тестирование и качество кода

Встраиваем автоматические проверки качества кода в пайплайн. Настраиваем запуск тестов, линтинг и анализ покрытия, а также оптимизируем скорость пайплайна с помощью кэширования зависимостей.

Ключевые темы

  • Уровни тестирования в пайплайне: unit, integration, e2e
  • Запуск тестов в GitHub Actions (pytest, jest)
  • Линтинг и форматирование кода
  • Анализ покрытия кода
  • Fail fast: остановка пайплайна при ошибке
  • Кэширование зависимостей для ускорения
04

Сборка и публикация образов

Автоматизируем сборку Docker-образов в CI. Разбираем стратегии тегирования, работу с реестрами контейнеров, сканирование на уязвимости и безопасное хранение секретов в GitHub Actions.

Ключевые темы

  • Сборка Docker-образа в CI
  • Тегирование образов: latest, git sha, semver
  • Docker Hub и GitHub Container Registry (GHCR)
  • Многоэтапные сборки для оптимизации
  • Сканирование образов на уязвимости: Trivy
  • Секреты в GitHub Actions
05

Деплой: стратегии и окружения

Изучаем различные стратегии деплоя и инструменты для их реализации. Настраиваем окружения в GitHub с защитой и ручными подтверждениями, разбираем деплой на сервер и в Kubernetes.

Ключевые темы

  • Окружения: dev, staging, production
  • Стратегии деплоя: recreate, rolling, blue-green, canary
  • Деплой на сервер через SSH
  • Деплой в Kubernetes через kubectl/Helm
  • Environments в GitHub Actions: approvals и защита ветки
  • Откат при ошибке
06

Мониторинг пайплайнов и зрелость процессов

Делаем пайплайны более наблюдаемыми: настраиваем уведомления, сохраняем артефакты тестов, оптимизируем через параллельные и матричные джобы. Оцениваем зрелость CI/CD-процессов через DORA-метрики.

Ключевые темы

  • Уведомления: Slack, Telegram при успехе/ошибке
  • Артефакты и отчёты: сохранение результатов тестов
  • Параллельные и матричные джобы
  • Reusable workflows: переиспользование пайплайнов
  • Оценка зрелости CI/CD-процессов
  • DORA-метрики на практике

Итоговый проект

Построить полный CI/CD-пайплайн для веб-приложения: автоматический запуск тестов и линтера, сборка и публикация Docker-образа, автоматический деплой на staging, деплой на production с ручным подтверждением и уведомления о результатах в мессенджер.

Задания на портале Вернуться на главную