Проблема ручного деплоя
Большинство небольших проектов живут в режиме «деплоим когда страшно и руки дошли». Разработчик заходит по SSH, делает git pull, перезапускает сервисы. Иногда что-то ломается. Иногда в пятницу вечером.
Это не лень — это отсутствие правильной инфраструктуры. И это решается.
Минимальный стек для автоматизации
- GitHub Actions — бесплатно до 2000 минут в месяц, хватает для большинства проектов
- Docker — контейнеры гарантируют одинаковое окружение на тесте и проде
- Nginx + Certbot — проксирование и SSL без ручной настройки
- Яндекс.Облако / VDS — хостинг с данными в России
Как выглядит пайплайн
Разработчик открывает Pull Request. GitHub Actions запускает тесты — PR нельзя смержить, если тесты красные. После мержа в main собирается Docker-образ, летит на сервер, healthcheck проверяет, что сервис поднялся. Если нет — автоматический откат.
Весь цикл от пуша до прода: 3–5 минут.
Что это даёт на практике
Меньше страха. Если деплой автоматический и обратимый — команда деплоит чаще. Маленькие изменения безопаснее больших.
Меньше ошибок. Человек забывает шаги, скрипт — нет. «Забыли сделать migrate» уходит в прошлое.
Прозрачность. Каждый деплой залогирован: кто, когда, что изменилось.
Сколько это стоит
Настройка базового CI/CD пайплайна стоит от 50 000 рублей — разовая работа. Экономия времени разработчиков за первый квартал перекрывает эту сумму.