CodeBuild और buildspec.yml के साथ बिल्ड ऑटोमेट करें

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

Dunieski Otano

Amazon Web Services Solutions Architect

CodeBuild क्या करता है

  • CodeBuild एक पूरी तरह प्रबंधित बिल्ड सेवा है
  • सर्वर प्रोविजन या मैनेज करने की ज़रूरत नहीं
  • आपका बिल्ड एक अस्थायी कंटेनर में चलता है
  • ऑटो-स्केल होता है; केवल बिल्ड मिनट्स के लिए भुगतान करें
  • CodePipeline में Build स्टेज के रूप में इंटीग्रेट होता है

 

1-codebuild-managed-service-temporary-container-lifecycle.png

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

buildspec.yml फाइल

  • buildspec.yml: आपके सोर्स कोड की रूट पर YAML फाइल
  • बिल्ड के दौरान CodeBuild क्या करेगा, यह परिभाषित करती है
  • चार फेज क्रम से चलते हैं:
    • install: डिपेंडेंसी और टूल इंस्टॉल करें
    • pre_build: बिल्ड से पहले सेटअप टास्क चलाएँ
    • build: कोड कम्पाइल करें, टेस्ट चलाएँ
    • post_build: आर्टिफैक्ट पैकेज करें, क्लीनअप करें

buildspec

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

एक वास्तविक buildspec.yml उदाहरण

  • install: pip install -r requirements.txt
  • pre_build: [ -z "$DB_URL" ] && exit 1
  • build: pytest tests/
  • post_build: zip -r app.zip . फिर echo "Build completed"

Light-theme code editor showing a buildspec.yml with four phases, where build runs pytest tests and post_build packages the code into app.zip, output as the pipeline artifact

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

बिल्ड एनवायरनमेंट कॉन्फ़िगरेशन

 

4-codebuild-environment-config-compute-envvars-caching.png

  • Compute types: small, medium, large, 2xlarge
    • बिल्ड की जटिलता और स्पीड जरूरत के आधार पर चुनें
  • Environment variables: कॉन्फ़िगरेशन बिल्ड्स को पास करें
    • सीक्रेट्स को Parameter Store या Secrets Manager में रखें
  • Dependency caching: बिल्ड्स के बीच डाउनलोडेड पैकेज कैश करें
    • बड़े प्रोजेक्ट्स के लिए बिल्ड टाइम काफी घटता है
AWS पर Deployments को ऑटोमेट करना

आर्टिफैक्ट आउटपुट और पाइपलाइन इंटीग्रेशन

 

5-codebuild-artifact-output-s3-codepipeline-handoff.png

  • artifacts सेक्शन परिभाषित करता है कि CodeBuild क्या आउटपुट देगा
  • files: फाइलों या पैटर्न की सूची; base-directory: रूट पाथ
  • आउटपुट आर्टिफैक्ट S3 में स्टोर होता है, अगले स्टेज को ऑटो-पास होता है
  • गलत आर्टिफैक्ट पाथ से, बिल्ड सफल होने पर भी डिप्लॉय फेल हो सकता है
AWS पर Deployments को ऑटोमेट करना

पूरा build-test-deploy चेन

  • डेवलपर कोड CodeCommit पर पुश करता है
  • CodePipeline अपने आप ट्रिगर होता है
  • CodeBuild: install -> pre_build -> build -> post_build
  • बिल्ड आर्टिफैक्ट CodeDeploy को जाता है
  • एप्लिकेशन टार्गेट एनवायरनमेंट में डिप्लॉय होता है

6-full-cicd-chain-codecommit-codebuild-phases-codedeploy.png

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

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

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

Preparing Video For Download...