4.2 Технология непрерывной поставки ПО
Процессы CI/CD
- Сборка приложения
- Контроль качества
- Публикация протестированных артефактов сборки в хранилище
- Создание нового окружения / Удаление более не нужного окружения
- Обновление окружения до состояния, описанного в виде кода
- Выкатка новой версии приложения / Откат до прошлой версии
- Применение изменений к базам данных этого окружения
Принципы CICD
- Создать повторяемый и надежный процесс поставки ПО
- Автоматизировать все, что можно. Интерфейс с кнопками
- Хранить все в системе контроля версий
- Получать раннюю обратную связь
- Совершенствоваться через повторения
- Встроенный контроль качества
- Выполнено, значит зарелизилось
- Релизим именно то, что было протестировано
- Каждый отвечает за процесс поставки ПО
Метрики скорости
- Mean Lead Time – время на билд, тесты, деплой
- Daily Change Rate – успешных изменений в день
- Mean Time To Environment – время на подготовку нового окружения
- Mean Time To Detect – как долго баг может быть необнаруженным
Метрики качества
- Build Failure Rate – процент неуспешных сборок
- Deployment Failure Rate – процент неуспешных выкаток
- Infra-Related Failure Rate – процент неуспещных выкаток / сборок из -за проблем инфраструктуры
- Automated Detection Rate – процент проблем, выявленных на этапах тестирования