0Pricing
AWS for Backend Developers (EC2, S3, RDS, Lambda) · درس

CodeDeploy لـ EC2 وLambda

أتمت نشر الشفرة على مثيلات EC2 ودوال Lambda، مع ضمان الحد الأدنى من التوقف وإمكانية التراجع.

CodeDeploy لـ EC2 وLambda درس مجاني في AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS for Backend Developers (EC2, S3, RDS, Lambda)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Automating Deployments with CodeDeploy

Deploying applications can be tricky. Manual steps are error-prone and can cause downtime. AWS CodeDeploy automates this process for you!

  • It helps deploy applications to EC2 instances, AWS Lambda, and on-premises servers.
  • It minimizes downtime during deployments.
  • It provides options for easy rollbacks if something goes wrong.

CodeDeploy's Key Parts

CodeDeploy organizes your deployments using a few core components:

  • Application: A unique name to identify the application you want to deploy.
  • Deployment Group: A set of individual instances or a specific Lambda function to deploy to.
  • Revision: The source code, web pages, executables, and scripts you want to deploy, packaged into a file (e.g., zip, tar).

Deployment Strategies: In-place vs. Blue/Green

CodeDeploy supports different strategies to update your application:

  • In-place Deployment: Stops the application on each instance, deploys the new version, and restarts it. This might cause brief downtime.
  • Blue/Green Deployment: A new set of instances (Green) is provisioned with the new version. Traffic is then shifted from the old instances (Blue) to the Green ones. This minimizes downtime and risk.

Deploying to EC2 Instances

For EC2 deployments, CodeDeploy needs an agent installed on your instances. This agent handles the deployment tasks.

You define how the deployment happens using an appspec.yml file. This file tells CodeDeploy what files to copy, where to put them, and what scripts to run.

EC2 appspec.yml Structure

Here's a simple example of an appspec.yml for an EC2 deployment. It tells CodeDeploy to copy files and run a script.

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/html
hooks:
  AfterInstall:
    - location: scripts/start_server.sh
      timeout: 300
      runas: root

EC2 Deployment Lifecycle Hooks

Hooks are scripts that CodeDeploy runs at specific points during a deployment to an EC2 instance. They allow you to customize the deployment process:

  • BeforeInstall: Tasks before files are copied.
  • AfterInstall: Tasks after files are copied, like dependency installation.
  • ApplicationStart: Start your application service.
  • ValidateService: Check if the deployed application is working correctly.

Deploying Lambda Functions

CodeDeploy also simplifies deployments for AWS Lambda functions. It allows you to safely shift traffic between different versions of your function.

This is especially useful for canary deployments or gradual rollouts, ensuring your new function works as expected before taking all traffic.

Lambda appspec.yml Structure

For Lambda, the appspec.yml focuses on defining the function and how traffic should be shifted. Here's a basic example:

version: 0.0
resources:
  - TargetService:
      Type: AWS::Lambda::Function
      Properties:
        Name: "my-lambda-function"
        Alias: "live"
        CurrentVersion: "my-lambda-function-old-version"
        TargetVersion: "my-lambda-function-new-version"
hooks:
  - BeforeAllowTraffic: "LambdaValidationFunction"

Handling Failures and Rollbacks

CodeDeploy automatically monitors deployments. If a deployment fails (e.g., a hook script exits with an error), it can automatically roll back to the previous stable version.

  • You can also manually initiate a rollback.
  • It integrates with CloudWatch to monitor deployment health and trigger alarms.

CodeDeploy Concepts Check

Which CodeDeploy deployment strategy involves provisioning a completely new set of instances for the new application version, then shifting traffic?

CodeDeploy Recap

Great job! You've learned about AWS CodeDeploy, a powerful service for automating application deployments.

  • It manages deployments to EC2, Lambda, and on-premises servers.
  • You can choose between in-place or blue/green strategies.
  • The appspec.yml file defines deployment steps and hooks.
  • It supports automatic rollbacks and integrates with monitoring.

CodeDeploy helps ensure your applications are updated reliably and with minimal disruption.

الأسئلة الشائعة

هل درس «CodeDeploy لـ EC2 وLambda» مجاني؟

نعم — نص درس «CodeDeploy لـ EC2 وLambda» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS for Backend Developers (EC2, S3, RDS, Lambda)، انتقل إلى CoddyKit PRO. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.

ماذا ستتعلم في «CodeDeploy لـ EC2 وLambda»؟

أتمت نشر الشفرة على مثيلات EC2 ودوال Lambda، مع ضمان الحد الأدنى من التوقف وإمكانية التراجع. تتمرن على AWS for Backend Developers (EC2, S3, RDS, Lambda) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS for Backend Developers (EC2, S3, RDS, Lambda)؟

لا تُشترط خبرة سابقة. AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «CodeDeploy لـ EC2 وLambda»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS for Backend Developers (EC2, S3, RDS, Lambda) هذا؟

نعم. كل درس في AWS for Backend Developers (EC2, S3, RDS, Lambda) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات CodeCommit وCodeBuild
  2. CodeDeploy لـ EC2 وLambda
  3. نموذج التطبيقات عديمة الخوادم (SAM)
  4. البنية التحتية كتعليمة برمجية باستخدام CloudFormation
← العودة إلى AWS for Backend Developers (EC2, S3, RDS, Lambda)