Что такое автоматизация развертывания?

Автоматизация развертывания позволяет в одно действие обновить все тестовые и производственные среды.

Автоматизировав задачи по развертыванию новой сборки в тестовых и производственных средах, мы создаем быстрый, повторяемый и надежный процесс.

Автоматизация развертывания — это вторая половина CI/CD-пайплайна. После публикации артефактов сборки в ходе постоянной интеграции следующим шагом становится их развертывание в тестовой среде для автоматического тестирования: интеграционных тестов, сквозного тестирования, тестов производительности и безопасности. Затем выполняется ручное исследовательское тестирование и сбор обратной связи.

На последнем этапе изменения выпускаются в производственную среду либо в автоматизированном режиме (непрерывное развертывание), либо с помощью запускаемого вручную скрипта (непрерывная доставка).

Рекомендуется использовать во всех окружениях одни и те же артефакты сборки, каждый раз извлекая их из репозитория артефактов, чтобы процесс развертывания везде был максимально похожим.

В этом случае вы протестируете процесс многократно для каждой сборки еще до выпуска в продакшн и будете уверены в ее качестве. Если ваша организация только знакомится с CI/CD и DevOps, договориться о едином процессе развертывания может быть сложно: командам нужно будет выстроить совместную работу для достижения общей цели.

Автоматизация процесса развертывания — необходимое условие для частого выпуска обновлений. Без нее вам придется вручную обновлять тестовые среды и развертывать новые сборки каждый раз, когда нужно запустить режим автоматического тестирования этих сборок. В результате вы будете позже получать обратную связь и доставка изменений пользователям займет больше времени.