CodeDeploy temelleri ve appspec.yml

AWS üzerinde Dağıtımları Otomatikleştirme

Dunieski Otano

Amazon Web Services Solutions Architect

CodeDeploy ne yapar

akış

  • Kodu EC2, Lambda veya ECS'ye yayınlar
  • Derleme yapıtını S3, GitHub veya Bitbucket'tan çeker
  • Dağıtım betiğini yaşam döngüsü olaylarıyla çalıştırır
  • Bir şeyler bozulursa otomatik geri alır
AWS üzerinde Dağıtımları Otomatikleştirme

CodeDeploy çekirdek bileşenleri

akış

  • Application: dağıtımları gruplandıran ad
  • Deployment group: yayını alacak hedefler
  • Deployment configuration: yayılımın ilerleyişi (örnek partileri veya trafik kaydırma)
  • Revision: dağıtılan yapıt paketi
AWS üzerinde Dağıtımları Otomatikleştirme

appspec.yml ile tanış

appspec

  • Revision'ın kökünde bir YAML dosyası
  • Üstte version: 0.0 ve os: linux zorunlu
  • CodeDeploy'a hangi dosyalar nereye gidecek söyler
  • CodeDeploy'a neyin ne zaman çalışacağını söyler
AWS üzerinde Dağıtımları Otomatikleştirme

EC2'de yaşam döngüsü olayları

  • Sen yazarsın: ApplicationStop, BeforeInstall, AfterInstall
  • Sen yazarsın: ApplicationStart, ValidateService
  • Sistem çalıştırır: DownloadBundle, Install
  • Her kanca, örnekte bir shell veya PowerShell betiğidir

diyagram

AWS üzerinde Dağıtımları Otomatikleştirme

Lambda'da yaşam döngüsü olayları

  • Lambda'da sadece iki kanca var: BeforeAllowTraffic, AfterAllowTraffic
  • Kancalar Lambda işlevleridir, shell betikleri değil
  • CodeDeploy takma adı yeni sürüme kaydırır
  • Oturum açılacak örnek yok; kopyalanacak dosya yok

karşılaştırma

AWS üzerinde Dağıtımları Otomatikleştirme

EC2 için gerçek bir appspec.yml

  • Üstte version: 0.0 ve os: linux
  • files: app.zip içeriğini /var/www/app dizinine kopyala
  • BeforeInstall, AfterInstall, ApplicationStart: yaşam döngüsü betikleri
  • ValidateService: smoke-test başarıyı doğrular

zip

AWS üzerinde Dağıtımları Otomatikleştirme

Hadi pratik yapalım!

AWS üzerinde Dağıtımları Otomatikleştirme

Preparing Video For Download...