Предполагаем, что ты уже пишешь код, знаком с Git и юнит‑тестами.
- Docker:
- собрать образ для своего текущего проекта
- оптимизировать Dockerfile (кэш, многостадийность)
- научиться работать с docker compose для локальной разработки
- CI:
- настроить пайплайн, который:
- запускает тесты
- собирает образ и пушит его в registry
- добавить кэш (зависимостей/билда)
- настроить матрицу (например, несколько версий языка)
- настроить пайплайн, который:
- Выбрать облако/инфру (даже локальный кластер) и:
- описать инфраструктуру в OpenTofu/Terraform (VM, сеть, БД)
- вынести повторы в модули
- подключить remote state
- Добавить окружения:
- dev / stage (или аналог)
- отдельные переменные/values/настройки под каждое
- В CI:
- разделить стадии: build → test → deploy
- научиться делать preview‑окружения на ветках/PR
- Развернуть свой сервис в Kubernetes:
- Deployment, Service, Ingress
- секреты для конфигов и доступов
- Описать деплой через Helm или Kustomize:
- отдельные values/оверлеи под окружения
- GitOps:
- настроить Argo CD/Flux (минимальный сценарий)
- добиться, чтобы изменения в Git сами обновляли окружение
- Оформить итоговый проект:
- README с архитектурой и скриншотами
- пример CI/CD и манифестов
- короткий раздел «что бы я улучшил, если бы было больше времени»
Цель - не «стать идеальным DevOps», а показать, что ты понимаешь весь путь от коммита до релиза.