Slide 1

Slide 1 text

Почему
 Trunk Based Development лучшая модель ветвления? Александров Андрей

Slide 2

Slide 2 text

Пруфы :) • State of DevOps 2018. Применение TBD коррелирует с производительностью(High и Elite performers) • Accelerate • Доклад “Why Google Stores Billions of Lines of Code in a Single Repository”. 25,000 человек в монорепе

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Суть Trunk • Все ветки, кроме master, живут МАКСИМУМ 2 ДНЯ • Feature Flags + Branch by abstraction • Continuous Code Review • master всегда готов к деплою, даже если в нем есть недописанные фичи

Slide 5

Slide 5 text

Feature Flags • Флаги, которыми мы можем включать и выключать фичи • --withOneClickPurchase — включили покупку за один клик

Slide 6

Slide 6 text

Что дает Feature Flags • Позволяет деплоить код, который еще не готов • Позволяет делать A/B тесты • Шарить код между недоработанными фичами

Slide 7

Slide 7 text

Branch By Abstraction вместо feature branch

Slide 8

Slide 8 text

Что дает Branch By Abstraction • Частые интеграции! • Постепенное изменение кода • Возможность оторваться от задачи

Slide 9

Slide 9 text

Continuous Code Review • Изменили абстракцию, отправили PR в master • PR маленький, ревью и мерж за пару минут! • 10 минут приемлемо • Больше 1 часа считается плохим результатом

Slide 10

Slide 10 text

Что дает Continuous Review • Шаринг знаний • Снижение тех долга • Ускорение поставки

Slide 11

Slide 11 text

Все это очень сложно! • Нужно хорошее покрытие тестами, желательно иметь CI • Feature Flags потребует изменений в инфраструктуре • Branch By Abstraction требует навыка построения абстракций и декомпозиции

Slide 12

Slide 12 text

Почему лучшая • Частые короткие итерации • Можем деплоить даже неготовый код • Шаринг знаний • Ревью за несколько минут

Slide 13

Slide 13 text

Конец :) Express42
 http://express42.com DevOps Deflope
 https://devopsdeflope.ru DevOps Deflope News
 @devops_deflope Мой канал в Telegram
 @aladmit_world