Я работаю в команде, где довольно много разработчиков и инженеров. Мы разрабатываем почти в 30 репозиториях, поэтому командный набор CI/CD пайплайнов имеет множество стадий и шагов, а также глубоко централизован.
В своем докладе я постараюсь рассказать историю о том, как он разрабатывался, как эволюционировал и как он выглядит сейчас. Я расскажу, почему мы выбираем централизацию, как и зачем мы используем докер внутри докера, как мы собираем контейнеры без докера, как он помогает нам всегда жить на самом свежем python. Покажу основной набор линтеров для всего на свете, как мы в сотню строчек кода сделали автоматическое версионирование без заморочек. Как чистить за собой реестры пакетов и контейнеров (это не так тривиально, как кажется — покажу почему), как защититься от сбоев пайплайна (ну или попытаться), как разделять среды и переменные (и почему это непросто) и опишу некоторые другие особенности нашего конвейера, раскрывая почти все его детали.
Доклад будет полезен тем, кто только стартует разработку своего конвейера или масштабируется от одного-двух проектов и хочет видеть практически полный список необходимых шагов в CI/CD пайплайне, а также тем, кто никогда ещё не делал конвейеры и не автоматизировал процесс разработки, но хочет или хотя бы интересуется.