Денис Аникин, Райффайзенбанк. Современный CI/CD пайплайн для python микросервисов

  Рет қаралды 2,749

Видео с мероприятий {speach!

Видео с мероприятий {speach!

Жыл бұрын

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

Пікірлер: 9
@funkindy
@funkindy 7 ай бұрын
Классный и полезный доклад, спасибо! (От диванного критика давнего видео по FastAPI)
@xfenix3
@xfenix3 Ай бұрын
Кому интересно, на moscow python conf 2024 выйдет часть 2 этого доклада. Рассказывать будет мой коллега Миша. Мы провели работу над ошибками и написали версию 3 этого пайплайна. Стало ещё больше инструментов, ещё быстрее и было применено много хороших решений.
@aapotokin
@aapotokin Жыл бұрын
Денис, привет. Мы же вроде брали контейнер, собраный для прода и делали к нему слой с тестовыми зависимостями?.. И да, не стоит уничижать свой доклад. Реально классный полезный доклад )
@xfenixws
@xfenixws Жыл бұрын
Привет, Саша. Нет, мы так не делали. Можешь изучить в нашем репозитории, у тебя такой есть доступ (он открыт и был открыт всем внутри). Мы ставим тестовые зависимости и всегда ставили сразу при сборке. Вероятно, ты путаешь с линтингом, т.к. все тестовые зависимости ставятся очень простой инструкцией - poetry install.
@xfenixws
@xfenixws Жыл бұрын
Кстати говоря, upd: пишем версию 2 этого пайплайна. Возможно, будет еще один доклад (:
@xfenix3
@xfenix3 Жыл бұрын
Написали. Точно будет ))
@xfenix3
@xfenix3 9 ай бұрын
upd по ситуации: пилотируем 2 версию, учли ошибки предыдущего, кое-что делаем иначе. Пока пилотируем, не все идеально. И не решили кто будет выступать, но скорее всего можно ожидать, что на pycon 2024 кто-то из нас двоих с ним выступит!
@wabalrarrt9374
@wabalrarrt9374 11 ай бұрын
Какой вопрос лучший? Ты сразу выбрал или забыл вопросы?
@xfenix3
@xfenix3 9 ай бұрын
Я уже не помню :( вообще супер сложно на сцене выбирать вопросы. Ты сосредоточен на докладе, тебе бьет свет в лицо, поэтому ты не видишь людей в зале, и ещё нужно что-то связное говорить в ответ, понимать быстро что люди имеют ввиду. Поэтому выбирать вопрос всегда очень сложно. Мне приходится вспоминать и поэтому обычно я на конфах, как многие спикеры, в крайнем случае выбираю кого-то из последних, но я считаю это неприятный баг системы, поэтому стараюсь цепляться за особо острые/троллящие вопросы - они самые интересные обычно. Тут, сорри, уже забыл кого выбрал :(
Сергей Вариасов. Почему мы написали еще один фреймворк для Python
49:01
Como ela fez isso? 😲
00:12
Los Wagners
Рет қаралды 26 МЛН
Как сдать ОГЭ по информатике, если ничего не знаешь?
47:15
ИНФОРМАТИКА ОГЭ СОТКА
Рет қаралды 444
Build full CICD Pipelines for Docker Flask App in GitLab
12:26
Vincent Stevenson
Рет қаралды 4,4 М.