# CI/CD и GitOps
Собираем пайплайн, по которому код доезжает до прода сам, а не руками разработчика по ночам.
## Сборка
- Пайплайн на том, чем уже пользуетесь.
- Сборка образов, кеширование слоёв, хранение артефактов в реестре.
- Проверки на каждом шаге: тесты, линтеры, сканирование образов на уязвимости.
## Выкатка
- Отдельные контуры: тестовый, предпродакшен, бой — с одинаковым описанием и разными параметрами.
- Стратегии: постепенная замена подов, выкатка на часть трафика, быстрый откат на предыдущую версию.
- Миграции базы как часть выкатки, а не отдельный ритуал по памяти.
## GitOps
Состояние среды описано в репозитории, изменения приезжают через merge request, а служба синхронизации приводит контур к описанному состоянию. Что развёрнуто — видно в истории коммитов, откат — возврат изменения.
## Секреты
Пароли и ключи хранятся в Vault, а не в переменных пайплайна и не в репозитории. Доступ выдаётся сервисам, а не людям, и отзывается вместе с учётной записью.
## Что получает заказчик
Выкатку, которую может запустить любой разработчик команды, и историю того, что и когда уехало в бой.
Как это выглядело на практике — в кейсе [«Ночная сборка шла четыре с половиной часа»](/cases/ci-performance). btop
No problems have been detected in the workspace.
No forwarded ports. Forward a port to access your locally running services over the internet.