Конференция прошла. Ждем вас на RootConf Moscow 2018 в октябре! Подать доклад

Devops в коробочной разработкеУправление конфигурацией

Доклад принят в программу конференции
Максим Лапшин
Erlyvideo

Автор проекта Erlyvideo.ru, до этого — веб-разработчик.

Тезисы

Сегодня на слуху термин devops, и в его обсуждении, как правило, упоминаются сервисы и команды их разработки.

А что же с коробочными продуктами? Они с их релизами раз в полгода в стороне?

Мы не в стороне. Несмотря на релизы раз в месяц, у нас в Эрливидео внедрены полезные практики:
1) жесткое правило на отгружаемость мастер-ветки;
2) сборка в пакет каждого коммита;
3) регулярный прогон тестов;
4) методика ежедневной установки мастера клиентам.

С момента выпуска каждого релиза мы получаем вопросы от пользователей: баги, непонятности, недоработки, новые внешние условия, пожелания.

Хочется выстраивать процесс при котором клиентам достаются багфиксы, а новый релиз не превращается в кошмарную лотерею по подсчету новых багов в непроверенном коде.

Для этого все изменения сливаются в мастер и клиентам, которые пришли с проблемой, достаются как багфиксы, так и новые возможности. Кто-то отказывается от такого, кто-то понимает и выкатывает себе на тестовые сервера, получая не только исправления, а еще и новые возможности, которые есть время проверить, внедрить и повлиять на их развитие.

Чтобы это было возможно и не смертельно, мы гоняем огромное количество высокоуровневых интеграционных тестов на каждый коммит, собираем пакет и ставим на свои тестовые сервера.

В итоге получается возможным деплоить новые фичи клиентам в процессе их разработки совместно с исправлением багов. Это требует особого подхода к разработке, при котором, вместо больших многомесячных циклов разработки, задачи разбиваются на мелкие пункты по неделе или даже меньше.

Такой подход позволяет сократить количество сюрпризов для наших клиентов и багов для нас.

Непрерывное развертывание и деплой
,
Непрерывная интеграция

Другие доклады секции Управление конфигурацией