9 релизов в неделю: секрет успеха
TRANSCRIPT
Что будет в докладе:
● реальная история развития отдела;
● набор решений, которые нам в этом
помогли;
● devops.
Почему так часто?
● первое время их было 18, но это был
перебор.
● сильная связанность функционала
требует регресс;
● много маркетинговых задач;
● хотфиксы блокеров и критических задач;
● много мелких проектов.
Три года назад
● права на деплой есть у всех;
● несоответствие боя и тестовой среды;
● отладка на бою;
● выкладка без тестирования;
● обновление базы под заказ;
● смоук-тест шел 8 часов;
● “красные карточки” лучшему сотруднику.
2012 год
● Agile + Feature team + Jira Workflow;
● skype-чат + “Горячий чат”;
● тестовые среды + тестовые прогоны перед выкладкой;
● Bamboo + первые selenium-тесты;
● jmeter (functional mode);
● svn -> git;
● блокировка выкладки.
Новые трудности
● стали нагляднее нарушения рамок
проекта ;
● разное понимание Agile;
● разное понимание приоритетов;
● “очень плохо выкладываемся” vs “очень
хорошо выкладываемся”;
● “это проблема тестовой среды”;
● “а у нас все работало”.
2013 год
● регламент выкладки;
● журнал выкладок;
● выделение эксплуатации;
● если не успел, то хотфикс после
выкладки;
● разбор задач из техподдержки;
● четкая приоритезация;
● подключение юнит-тестов;
быстрые тесты + прогоны < 5 минут.
2014 год
● git-workflow + pull-request;
● запрет на коммит в девелоп/master ветку;
● Склянки 2.0 (виртуализация/capistrano + puppet);
● быстрые тесты + прогоны (5 минут) . часть два;
● jmeter -> админка;
● обучение автоматизации всей QA команды;
● упрощенный framework для автоматизации;
● тестирование задач админов/архитектурных задач,
которые были выполнены вне команды.
Новые проблемы
● долго разворачивать все проекты;
● люди забывают зачем нужны традиции;
● большое количество сред жрут ресурсы;
● умирающие агенты;
● разные ожидания от тестирования;
● разросшийся фреймворк.
Пространство для развития
● переход на полный CI;
● единые скрипты выкладки для dev > test >
prod;
● full coverage на всех уровнях;
● нагрузочная среда в облаках.
Выводы:
● слепо копировать технологии - зло;
● система должна быть понятна каждому
участнику процесса;
● не все готовы сразу меняться;
● факап - это отличный аргумент “за”;
● система со временем деградирует.