AWS CodeDeploy автоматизирует развертывание приложений в любом инстансе, включая инстансы Amazon EC2 и инстансы, работающие локально. CodeDeploy полностью автоматизирует развертывание приложений, устраняя необходимость в ручных операциях. CodeDeploy использует последовательные обновления и контроль работоспособности развертываемых приложений, что предотвращает их простои во время развертывания. CodeDeploy предоставляет централизованный контроль развертывания через Консоль управления AWS, интерфейс командной строки, SDK или API, что позволяет вам запускать, контролировать и отслеживать выполняемые вами развертывания. Вы можете наблюдать за выполнением развертывания вплоть до отдельных событий установки, происходящих в каждом из инстансов. CodeDeploy записывает и сохраняет журнал всех развертываний, поэтому всегда можно изучить хронологию и историю изменений при прошлых развертываниях.

Начните работать с AWS бесплатно

Создать бесплатный аккаунт

Получите доступ к уровню бесплатного пользования AWS на год, включая преимущества базовой поддержки AWS Basic Support: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое.
Сведения об уровне бесплатного пользования AWS »

AWS CodeDeploy не зависит от платформы и языка программирования и работает с любыми приложениями, поэтому вы можете использовать существующий установочный код. Используя API сервиса AWS CodeDeploy, вы можете легко интегрировать развертывание своего приложения с существующим процессом доставки ПО или набором инструментов для непрерывного развертывания.

CodeDeploy_Header

Используя AWS CodeDeploy, вы легко можете повторять развертывание приложения в различных группах инстансов. CodeDeploy использует модель установки на основе файлов и команд, что позволяет разворачивать любое приложение и при этом использовать существующий установочный код. Тот же установочный код, что используется для развертывания версии приложения для отладки в инстансе разработки, используется для развертывания на промежуточной стадии для тестирования, а затем для развертывания в рабочей среде для использования клиентами. Устранение ручных операций при развертывании увеличивает как скорость, так и надежность процесса доставки ПО.

AWS CodeDeploy интегрируется с Auto Scaling, что помогает поддерживать ваши приложения в актуальном состоянии в динамически изменяющейся инфраструктуре. Auto Scaling позволяет автоматически масштабировать ресурсы Amazon EC2 в сторону увеличения или уменьшения в соответствии с определяемыми вами условиями, например при резком возрастании трафика. Если в группе Auto Scaling запускается новый инстанс, то CodeDeploy получает оповещение и автоматически осуществляет развертывание приложения в новом инстансе, прежде чем этот инстанс добавляется в балансировщик нагрузки Elastic Load Balancer.

AWS CodeDeploy можно использовать для автоматического развертывания программного кода во всех инстансах, работающих в ваших средах разработки и тестирования, а также рабочей среде, включая инстансы ваших локальных ЦОД (при этом инстансы должны иметь возможность подключаться к публичным конечным точкам AWS). Это позволяет использовать один сервис для единообразного развертывания приложений по всей гибридной архитектуре.

Когда приложения обновляются до новых версий при помощи AWS CodeDeploy, перерыв в их работе не требуется. CodeDeploy может осуществлять последовательные обновления в группе инстансов, при этом в любой конкретный момент времени только часть инстансов переводится в автономный режим. CodeDeploy последовательно переходит от инстанса к инстансу, при этом приложения остаются доступными и продолжают обслуживать трафик. CodeDeploy может также выполнять сине-зеленые развертывания, при которых для установки последней версии выделяется новая группа инстансов. После того как на новые инстансы установлена последняя версия, CodeDeploy перенаправляет трафик с рабочих инстансов на новые.

Для того чтобы приложения обладали высокой степенью доступности во время развертывания, используется контроль работоспособности развертываемых приложений в сочетании с последовательными обновлениями. Незапланированные простои могут произойти при развертывании неработоспособных обновлений. В случае развертывания во множестве инстансов AWS CodeDeploy отслеживает успешность обновления в каждом из них. Вы можете указать минимальное количество инстансов, которые должны оставаться в рабочем состоянии, и CodeDeploy остановит развертывание, если количество неуспешных обновлений будет слишком большим.

Вы можете в любое время остановить процесс развертывания приложения с помощью Консоли управления AWS, интерфейса командной строки AWS или любого SDK AWS. Если вы захотите продолжить остановленное развертывание позднее, то можно просто повторить развертывание этой версии. Кроме того, можно немедленно осуществить откат, выполнив развертывание предыдущей версии.

Вы можете запускать, контролировать и отслеживать развертывание всех ваших приложений в целевые инстансы непосредственно в Консоли управления AWS или при помощи интерфейса командной строки AWS, SDK или API. Вы можете наблюдать за выполнением развертывания вплоть до отдельных событий установки, происходящих в каждом из инстансов. В случае ошибки развертывания вы можете определить, в каком именно инстансе и скрипте произошел сбой. При этом не требуется подключаться к этому конкретному инстансу. Дополнительно можно настроить push-уведомления и контролировать состояние развертываний с помощью SMS-сообщений или электронных писем с использованием Amazon Simple Notification Service.

Приложения могут быть развернуты в нескольких группах развертывания. Группа развертывания – это набор инстансов, например в промежуточной или рабочей среде. Вы можете протестировать версию в промежуточной среде и, если результаты положительные, развернуть ту же самую версию в рабочей среде. Для определения групп развертывания AWS CodeDeploy использует теги или имена групп Auto Scaling. Чтобы добавить инстанс в группу развертывания, нужно просто пометить его тегом, и в следующий раз, когда вы будете выполнять развертывание, AWS CodeDeploy автоматически развернет в нем последнюю редакцию вашего приложения.

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

AWS CodeDeploy использует модель установки на основе файлов и команд, что позволяет разворачивать любое приложение и при этом использовать существующий установочный код. CodeDeploy использует один конфигурационный файл AppSpec для привязки файлов вашего приложения к каталогам назначения на хосте и задает команды, которые требуется выполнить после каждого события жизненного цикла (этапа развертывания), например «инсталляция связанных программ» или «остановка сервера». В качестве команд может использоваться любой программный код, например скрипт оболочки, настраиваемая программа или даже утилита управления конфигурацией.

Использование API сервиса AWS CodeDeploy обеспечивает простоту интегрирования развертывания приложений с вашим существующим набором инструментов для доставки ПО. Некоторые партнеры AWS поставляют готовые решения интеграции сервиса CodeDeploy со своими сервисами непрерывной интеграции и непрерывного развертывания, что обеспечивает простоту автоматического развертывания последних сборок ваших приложений в ваших инстансах.