Основи CodeDeploy та appspec.yml

Автоматизація розгортань в AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Що робить CodeDeploy

схема

  • Випускає код на EC2, Lambda або ECS
  • Тягне артефакт збірки з S3, GitHub або Bitbucket
  • Запускає ваш скрипт розгортання через події життєвого циклу
  • Автоматично відкачує, якщо щось збоїть
Автоматизація розгортань в AWS

Ключові компоненти CodeDeploy

схема

  • Application: назва, що групує розгортання
  • Deployment group: які цілі отримають реліз
  • Deployment configuration: як триває викат (пакети інстансів або зміщення трафіку)
  • Revision: пакет артефактів для розгортання
Автоматизація розгортань в AWS

Знайомство з appspec.yml

appspec

  • YAML‑файл у корені ревізії
  • На початку потрібні version: 0.0 та os: linux
  • Вказує CodeDeploy, які файли куди копіювати
  • Вказує CodeDeploy, що запускати і коли
Автоматизація розгортань в AWS

Події життєвого циклу на EC2

  • Ви пишете: ApplicationStop, BeforeInstall, AfterInstall
  • Ви пишете: ApplicationStart, ValidateService
  • Система виконує: DownloadBundle, Install
  • Кожен хук — це shell‑ або PowerShell‑скрипт на інстансі

діаграма

Автоматизація розгортань в AWS

Події життєвого циклу в Lambda

  • У Lambda лише два хуки: BeforeAllowTraffic, AfterAllowTraffic
  • Хуки — це функції Lambda, не shell‑скрипти
  • CodeDeploy зміщує псевдонім на нову версію
  • Нема інстансів для входу; нема файлів для копіювання

порівняння

Автоматизація розгортань в AWS

Реальний appspec.yml для EC2

  • version: 0.0 і os: linux у верхній частині
  • files: скопіювати вміст app.zip до /var/www/app
  • BeforeInstall, AfterInstall, ApplicationStart: скрипти життєвого циклу
  • ValidateService: smoke‑тест підтверджує успіх

zip

Автоматизація розгортань в AWS

Давайте потренуємось!

Автоматизація розгортань в AWS

Preparing Video For Download...