Процесс доставки разрабатываемого функционала всегда строится на компромиссах между тем, чтобы доставлять быстро, и тем, чтобы не потерять качество. Причем, чем больше времени тратится на деплой, тем меньше времени остается на качество. Проблема становится все более актуальной с каждым этапом роста объемов производства. Существует многообразие различных методологий и технологий, призванных стандартизировать процессы деплоя и релизов, и в своем докладе я хочу рассказать о том, какой процесс мы настроили для себя, и как это помогло нам тратить больше времени на качество.
Тезисы:
- Налаживание процессов поставки ПО в заказной веб-разработке - с чего начинать организовывать "хаос";
- Временной profit - экономия времени при правильном деплое (в короткой и длинной перспективе), сравнение вариантов ручного и автоматизированного деплоя на примере наших проектов;
- Инструменты, которые мы использовали на разных этапах своего роста: GIT, gitolite, gitlab, TeamCity etc.
- Простые, но такие важные hooks - как просто заставить эти технологии приносить вам реальную пользу и экономить время разработчиков;
- Автоматический деплой, continuous delivery, билды и автотесты - когда реально нужно, а когда можно пренебречь - на примере разных типов наших проектов;
- Раньше "компилировалось", теперь "тестируется" - неадекватно долгий процесс доставки - как избавиться от blocker-автотестов.