Contineous Integration, Continuous Delivery
Непрерывная интеграция
- Мердж как можно чаще (в идеале раз в день)
- Мастер всегда должен быть зеленым (проходят тесты и т.д.)
Итоги:
- Релиз в любой момент
- Малое время жизни багов
- Не тратить время на merge
9 простых шагов
- ВСЕ в системе контроля версий
- Автоматизация сборки (Docker - легковесный контейнер с ос для изоляции среды выполнения)
- Автоматизация установки
- Самотестируемые билды (разные виды тестов, анализ кода (всякие метрики sonarqube))
- Сборка после каждого коммита
- Малое время сборки и тестирования (компромисс - nightly builds)
- production-like среда
- Доступные отчеты (логинг ошибок - muscula например)
- Доступность каждой сборки
CD
Jenkins
Travis