DevOps
CI/CD
DevOps
GitLab
Как мы строим CI/CD и окружения
Практическое руководство по организации CI/CD пайплайнов и управлению окружениями разработки.
Команда Yabeard
15.01.2024
9 мин
Зачем нужен CI/CD
CI/CD — это не модный тренд, а необходимость для любого серьёзного проекта. Автоматизация сборки и деплоя экономит время, снижает риск ошибок и делает релизы предсказуемыми.
Наш подход к окружениям
Мы используем 3-4 окружения в зависимости от проекта:
Development
- Автодеплой при пуше в feature-ветку
- Для разработчиков и быстрых проверок
- Может быть нестабильным
Staging
- Автодеплой при мерже в develop
- Максимально близко к production
- Для QA и приёмки
Production
- Деплой после ручного подтверждения
- Мониторинг и алерты
- Blue-green или canary деплой
Структура пайплайна
- Lint & Type Check — проверка кода на ошибки
- Unit Tests — юнит-тесты
- Build — сборка приложения
- Integration Tests — интеграционные тесты
- Security Scan — проверка на уязвимости
- Deploy — деплой в окружение
- Smoke Tests — проверка после деплоя
Инструменты
- GitLab CI — наш основной выбор для self-hosted
- GitHub Actions — для open-source и облачных проектов
- Docker — контейнеризация для консистентности
- Kubernetes — для масштабируемых проектов
Вывод
CI/CD — это инвестиция, которая окупается уже через несколько релизов. Начните с простого пайплайна и развивайте его по мере роста проекта.