CodeDeploy के मूल सिद्धांत और appspec.yml

AWS पर Deployments को ऑटोमेट करना

Dunieski Otano

Amazon Web Services Solutions Architect

CodeDeploy क्या करता है

flow

  • EC2, Lambda, या ECS पर कोड रिलीज़ करता है
  • S3, GitHub, या Bitbucket से बिल्ड आर्टिफैक्ट खींचता है
  • लाइफसाइकल इवेंट्स के जरिए आपका डिप्लॉयमेंट स्क्रिप्ट चलाता है
  • कुछ फेल होने पर अपने-आप रोलबैक करता है
AWS पर Deployments को ऑटोमेट करना

CodeDeploy के मुख्य घटक

flow

  • Application: डिप्लॉयमेंट्स को समूहित करने वाला नाम
  • Deployment group: किन टार्गेट्स को रिलीज़ मिलेगी
  • Deployment configuration: रोलआउट कैसे होगा (इंस्टेंस बैच या ट्रैफिक शिफ्ट)
  • Revision: डिप्लॉय होने वाला आर्टिफैक्ट बंडल
AWS पर Deployments को ऑटोमेट करना

appspec.yml से मिलिए

appspec

  • रिविजन के रूट पर YAML फाइल
  • ऊपर version: 0.0 और os: linux जरूरी
  • CodeDeploy को बताता है कौन-सी फाइलें कहाँ जाएँ
  • CodeDeploy को बताता है क्या चलाना है, और कब
AWS पर Deployments को ऑटोमेट करना

EC2 पर लाइफसाइकल इवेंट्स

  • आप लिखते हैं: ApplicationStop, BeforeInstall, AfterInstall
  • आप लिखते हैं: ApplicationStart, ValidateService
  • सिस्टम चलाता है: DownloadBundle, Install
  • हर हुक इंस्टेंस पर shell या PowerShell स्क्रिप्ट है

diagram

AWS पर Deployments को ऑटोमेट करना

Lambda पर लाइफसाइकल इवेंट्स

  • Lambda में सिर्फ दो हुक होते हैं: BeforeAllowTraffic, AfterAllowTraffic
  • हुक Lambda functions होते हैं, shell स्क्रिप्ट नहीं
  • CodeDeploy एलिएस को शिफ्ट करता है नई वर्ज़न पर
  • लॉग-इन करने को इंस्टेंस नहीं; कॉपी करने को फाइलें नहीं

comparison

AWS पर Deployments को ऑटोमेट करना

EC2 के लिए एक वास्तविक appspec.yml

  • ऊपर version: 0.0 और os: linux
  • files: app.zip की सामग्री /var/www/app में कॉपी करें
  • BeforeInstall, AfterInstall, ApplicationStart: लाइफसाइकल स्क्रिप्ट्स
  • ValidateService: स्मोक-टेस्ट सफलता की पुष्टि करता है

zip

AWS पर Deployments को ऑटोमेट करना

अभ्यास करते हैं!

AWS पर Deployments को ऑटोमेट करना

Preparing Video For Download...