Skip to content

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 – процент проблем, выявленных на этапах тестирования