Вступ до CI/CD на AWS

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

Dunieski Otano

Amazon Web Services Solutions Architect

Безперервний цикл

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

Знайомство з викладачем

dunieski-otano-instructor-with-aws-certifications.png

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

Чому CI/CD важливий

  • Ручні розгортання повільні та схильні до помилок
  • Розробники пушать код і чекають, доки хтось його розгорне
  • CI/CD автоматизує шлях від коду до продакшну
  • Швидші релізи, менше помилок

 

ci_cd

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

Життєвий цикл CI/CD

  • Source: Код комітують у репозиторій
  • Build: Код компілюють, встановлюють залежності
  • Test: Автотести перевіряють збірку
  • Deploy: Додаток випускають; артефакти переходять між етапами

Lifecycle

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

Огляд сервісів AWS Code

  • CodeCommit: Контроль версій (Git-репозиторій)
  • CodeBuild: Компіляція, тести й пакування
  • CodeDeploy: Випуск на EC2, Lambda або ECS
  • CodePipeline: Оркеструє всі етапи разом

   

 

Code services image

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

CI проти continuous delivery та continuous deployment

  • Continuous Integration (CI): Злиття, збірка й тести на кожен push
  • Continuous Delivery: Авто-деплой у staging; ручне схвалення для prod (найчастіше)
  • Continuous Deployment: Кожна успішна збірка автоматично йде в прод

 

three-tier

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

Як CodePipeline все оркеструє

cp

  • CodePipeline з'єднує етапи послідовно
  • Кожен етап містить одну або кілька дій
  • Конвеєр спрацьовує автоматично при змінах у джерелі
  • Якщо будь-який етап падає, конвеєр зупиняється
Автоматизація розгортань в AWS

Приклад реального конвеєра

  • Source: Розробник пушить у CodeCommit
  • Build: CodeBuild запускає тести, пакує ZIP
  • Staging: CodeDeploy випускає у staging
  • Approval => Production: Лід команди схвалює й деплоїть у прод

 

Real pipeline example

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

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

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

Preparing Video For Download...