Побудова конвеєрів у CodePipeline

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

Dunieski Otano

Amazon Web Services Solutions Architect

Багатостадійні конвеєри

попередній перегляд відео: багатостадійний конвеєр з артефактами, затвердженням і EventBridge

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

Анатомія конвеєра CodePipeline

  • Конвеєр — це послідовність стадій
  • Кожна стадія містить групи дій з діями
  • Дії створюють і споживають артефакти (зберігаються в S3)
  • Наступна стадія споживає артефакти як вхідні дані

анатомія CodePipeline: стадії, дії, артефакти

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

Зв'язування джерела, збірки та розгортання

  • Стадія джерела: CodeCommit фіксує push, видає артефакт джерела
  • Стадія збірки: CodeBuild отримує джерело, видає артефакт збірки
  • Стадія розгортання: CodeDeploy отримує артефакт збірки, розгортає на ціль
  • Конвеєр запускається наскрізно на кожен push коду

3-стадійний конвеєр

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

Дії ручного затвердження

  • Ручне затвердження: людський шлюз між стадіями
  • Конвеєр паузиться, доки не затвердять або не відхилять
  • Типово: шлюз між staging і production
  • Статус показує «Waiting for approval»; підтримує сповіщення SNS

шлюз ручного затвердження: тімлід переглядає конвеєр

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

Переходи між стадіями та керування конвеєром

  • Увімкнути/вимкнути переходи між стадіями
    • Вимкніть, щоб призупинити конвеєр у певній точці
  • Повторити помилкові дії без перезапуску всього конвеєра
  • Випустити зміну вручну, щоб проштовхнути певну ревізію

 

керування переходами стадій у CodePipeline: повтор і випуск

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

Сповіщення про події конвеєра

анатомія CodePipeline: стадії, дії, артефакти

  • CodePipeline надсилає події до Amazon EventBridge
  • Події: запуск конвеєра, успіх стадії, помилка стадії
  • Створіть правила EventBridge для маршрутизації на цілі
    • Теми SNS для email/SMS-сповіщень
    • Функції Lambda для кастомної автоматизації
  • Деталі події містять назву конвеєра, стадії та причину збою
Автоматизація розгортань в AWS

Дизайн конвеєра для кількох середовищ

  • Один конвеєр розгортає на кілька середовищ
  • Збирайте один раз, далі просувайте: Dev -> Staging -> Approval -> Prod
  • Той самий артефакт проходить усі середовища
  • Те, що ви тестували, саме те й розгортаєте

багатосередовищний конвеєр: dev, staging, approval, prod

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

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

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

Preparing Video For Download...