AWS CodeDeploy
Hands-On
Demo

In this demo, we will:
- Create IAM roles for CodeDeploy and EC2 instances
- Launch and configure EC2 instances with CodeDeploy agent
- Create a CodeDeploy application and deployment group
- Prepare a sample web application with deployment configuration
- Create and upload application revision to S3
- Execute a deployment using CodeDeploy
- Test the deployed application and monitor deployment status
- Clean up resources
Agenda

Visual Representation

CodeDeployCreate CodeDeploy IAM Role

Add permissions

Name, review, and create
CodeDeployServiceRole
Step 1: Select trusted entities

Step 2: Add permissions

CodeDeployServiceRole

Create EC2 IAM Instance Profile Role


Add permissions
AmazonEC2RoleforAWSCodeDeploy
AmazonS3ReadOnlyAccessAdd permissions

Name, review, and create
EC2CodeDeployRole
Step 1: Select trusted entities

Create role

EC2CodeDeployRole

EC2 - Launch Instance

CodeDeploy-Demo-Instance-1Launch an instance

EnvironmentDemo

Instance type

codedeploy-key-pair
Key pair (login)

Network settings




Configure storage

Advanced details

#!/bin/bash
yum update -y
yum install -y ruby wget httpd
cd /home/ec2-user
wget https://aws-codedeploy-us-east-1.s3.us-east-1.amazonaws.com/latest/install
chmod +x ./install
./install auto
systemctl start codedeploy-agent
systemctl enable codedeploy-agent
systemctl start httpd
systemctl enable httpdUser data

Launch 2nd Instance
CodeDeploy-Demo-Instance-2EnvironmentDemo

Instance type

Key pair (login)

Network settings

Configure storage

Advanced details

#!/bin/bash
yum update -y
yum install -y ruby wget httpd
cd /home/ec2-user
wget https://aws-codedeploy-us-east-1.s3.us-east-1.amazonaws.com/latest/install
chmod +x ./install
./install auto
systemctl start codedeploy-agent
systemctl enable codedeploy-agent
systemctl start httpd
systemctl enable httpd
Instances (2)

CodeDeploy - Create application

MyWebAppCreate application

Create application

Create deployment group

MyWebApp-DeploymentGroupDeployment type

Choose this


Environment configuration
EnvironmentDemo
Deployment settings
Load balancer


Triggers


Rollbacks

Deployment group tags

Sample Application






chmod +X scripts/*.sh
Create S3 bucket
codedeploy-demo-bucket-012931

cd ..
zip -r mywebapp-v1.zip my-web-app/
Upload to S3

Upload succeeded

Create Deployment


S3 Location
s3://codedeploy-demo-bucket-012931/mywebapp-v1.zip
Deployment description

Additional deployment behaviour settings

Deployment group overrides

Roll back configuration overrides


Revision details
Test

http://3.82.146.251
http://44.202.11.142Deploy 2nd Version
#ffe0f0

zip -r mywebapp-v2.zip my-web-app/
Upload 2nd Version

codedeploy-demo-bucket-012931

Create 2nd deployment


s3://codedeploy-demo-bucket-012931/mywebapp-v2.zip



Revision details

http://3.82.146.251
http://44.202.11.142Clean Up

Delete application

Terminate EC2 Instances

Terminate (delete) instances

Empty S3 Bucket

permanently deleteEmpty bucket

Delete S3 Bucket

Delete bucket

Delete CodeDeployServiceRole Role

CodeDeployServiceRole
Delete EC2CodeDeployRole

EC2CodeDeployRole
Delete security groups

Delete security groups

Delete Key pair
🙏
Thanks
for
Watching
AWS CodeDeploy - Hands-On Demo
By Deepak Dubey
AWS CodeDeploy - Hands-On Demo
AWS CodeDeploy - Hands-On Demo
- 149