Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Почему Trunk Based Development — лучшая модель ...

Почему Trunk Based Development — лучшая модель ветвления

DevOps Moscow New Year Party, 19-12-2018
Андрей Александров (Express 42)

В State Of DevOps 2018 от DORA мы видим, что Нigh Performing компании используют Trunk Based Development. Разберемся, почему именно ее, какие ее преимущества и недостатки имеет эта модель.

DevOps Moscow

December 20, 2018
Tweet

More Decks by DevOps Moscow

Other Decks in Education

Transcript

  1. Пруфы :) • State of DevOps 2018. Применение TBD коррелирует

    с производительностью(High и Elite performers) • Accelerate • Доклад “Why Google Stores Billions of Lines of Code in a Single Repository”. 25,000 человек в монорепе
  2. Суть Trunk • Все ветки, кроме master, живут МАКСИМУМ 2

    ДНЯ • Feature Flags + Branch by abstraction • Continuous Code Review • master всегда готов к деплою, даже если в нем есть недописанные фичи
  3. Feature Flags • Флаги, которыми мы можем включать и выключать

    фичи • --withOneClickPurchase — включили покупку за один клик
  4. Что дает Feature Flags • Позволяет деплоить код, который еще

    не готов • Позволяет делать A/B тесты • Шарить код между недоработанными фичами
  5. Что дает Branch By Abstraction • Частые интеграции! • Постепенное

    изменение кода • Возможность оторваться от задачи
  6. Continuous Code Review • Изменили абстракцию, отправили PR в master

    • PR маленький, ревью и мерж за пару минут! • 10 минут приемлемо • Больше 1 часа считается плохим результатом
  7. Все это очень сложно! • Нужно хорошее покрытие тестами, желательно

    иметь CI • Feature Flags потребует изменений в инфраструктуре • Branch By Abstraction требует навыка построения абстракций и декомпозиции
  8. Почему лучшая • Частые короткие итерации • Можем деплоить даже

    неготовый код • Шаринг знаний • Ревью за несколько минут