DEV Community

Cover image for πŸš€ AWS CodeDeploy - Guide
Latchu@DevOps
Latchu@DevOps

Posted on • Edited on

πŸš€ AWS CodeDeploy - Guide

What is CodeDeploy?

AWS CodeDeploy is a fully managed service that automates code deployments to:

  • Amazon EC2
  • On-premises servers
  • AWS Lambda
  • Amazon ECS

Code-Deploy

πŸ”Ή It’s part of the AWS Developer Tools suite

πŸ”Ή It’s scalable β€” deploy to one EC2 instance or thousands

πŸ”Ή Helps reduce errors and speed up deployments


✨ Benefits of Using CodeDeploy

βœ… Faster deployments with less manual effort

βœ… Automated & standardized deployment process

βœ… Supports rolling updates to reduce downtime

βœ… Enables blue/green deployments to avoid user impact

βœ… For Lambda & ECS, you can shift traffic using:

  • Canary
  • Linear
  • All-at-once

βœ… Supports automatic rollback on failure


βš™οΈ How to Use CodeDeploy

There are two ways to use CodeDeploy:

  1. πŸ“Œ Manual Deployments using AWS CLI

  2. πŸ” Automated Deployments by integrating with AWS CodePipeline

Code-Deploy1


πŸ”Ή AWS CodePipeline

The main orchestrator. It automates the whole CI/CD process.

πŸ”Ή AWS CodeCommit (Source)

Stores your source code (Git-based repo).
βœ… Output: Source Artifact

πŸ”Ή AWS CodeBuild (Build)

Compiles, runs unit tests, and builds the artifact.
βœ… Output: Build Artifact

πŸ”Ή AWS CodeDeploy (Deploy)

Deploys the build artifact to your EC2 instances.


πŸ“˜ Core CodeDeploy Concepts

Concept Description
Application Represents your project in CodeDeploy
Compute Platform Where it runs (EC2, Lambda, ECS)
Deployment Group EC2 instances or Lambda/ECS targets
Deployment Configuration Rules for how deployments succeed/fail
Revision Your app version (includes source + scripts + appspec)
Deployment The actual execution process

πŸ“ What is AppSpec File?

An AppSpec file defines how CodeDeploy should deploy your app.

  • Format: YAML or JSON
  • Must be placed in the root of your source code
  • Content differs based on platform

πŸ”Ή For EC2 Deployments:

File must be named: appspec.yml or appspec.json

Defines:

  • Which folders to copy
  • Which scripts to run (e.g., install, start app)

πŸ”Ή For ECS and Lambda deployments:.

Use appspec.yaml (for YAML) or appspec.json (for JSON).

Make sure the file is placed in the root directory of your source code.


βœ… Final Thoughts

AWS CodeDeploy is a powerful and scalable deployment tool that becomes even more useful when combined with CodePipeline, CodeBuild, and CodeCommit.

You don’t need to SSH into EC2 and manually copy files anymore β€” let AWS handle it all for you πŸ’₯


πŸ’¬ Have you used CodeDeploy before? Share your experience or ask questions in the comments!

Top comments (0)