Continuous Integration and Deployment with AWS Code Services

Lab Steps

Logging in to the Amazon Web Services Console
Creating an AWS CodeCommit Repository
Committing Code to Your AWS CodeCommit Repository
Building and Testing with AWS CodeBuild
Deploying with AWS CodeDeploy
Automating Your Deployment with AWS CodePipeline
Following the Continuous Deployment Pipeline
Recovering Automatically from a Failed Deployment
Using AWS CodeDeploy Blue/Green Deployments in Your Pipeline

The hands-on lab is part of these learning paths

DevOps Engineer – Professional Certification Preparation for AWS
course-steps 35 certification 5 lab-steps 18 quiz-steps 2 description 3
Solutions Architect – Professional Certification Preparation for AWS
course-steps 48 certification 6 lab-steps 19 quiz-steps 4 description 2
SysOps Administrator – Associate Certification Preparation for AWS
course-steps 34 certification 5 lab-steps 30 quiz-steps 4 description 5
Certified Developer – Associate Certification Preparation for AWS
course-steps 29 certification 5 lab-steps 22 description 2
AWS Developer Services for CI/CD
course-steps 9 certification 1 lab-steps 3
Serverless Computing on AWS for Developers
course-steps 12 certification 1 lab-steps 8
more_horiz See 3 more

Ready for the real environment experience?

Time Limit4h
star star star star star-half


Lab Overview

AWS Code Services provide you with all the tools you need to deliver software following DevOps practices. The services under the AWS Code Services umbrella that you will work with in this lab are:

  • CodeCommit - A secure and scalable source control service supporting Git workflows
  • CodePipeline - A service for fast and reliable continuous integration (CI) and continuous delivery (CD)
  • CodeBuild - A scalable service to compile, test, and package source code
  • CodeDeploy - A service to automate code deployments anywhere

You will setup and work with each service as you deploy an application. You will also get experience handling rollbacks in a blue/green deployment environment when a release goes awry.

Lab Objectives

Upon completion of this Lab you will be able to:

  • Create and use AWS CodeCommit repositories for source control
  • Build and test your code with AWS CodeBuild
  • Automate your CI/CD process with AWS CodePipeline
  • Use AWS CodeDeploy to automate your deployments to EC2
  • Release and roll back using a blue/green deployment strategy

Lab Prerequisites

You should be familiar with the following:

  • Using EC2 instances
  • Understanding Elastic Load Balancers (Classic)
  • Working on the command line in Linux
  • Issuing Git commands and version control workflows will be helpful but not required

Lab Environment

Before completing the lab instructions the environment will look as follows:

After completing the lab instructions the environment should look similar to:


January 13th, 2020 - Updated source code package dependencies to support upgrading to Node.js 12

May 24th, 2019 - Updated Lab to use the new CodeBuild standard Ubuntu build image, and updated screenshots to match the latest Console experience

January 10th, 2019 - Added a validation Lab Step to check the work you perform in the Lab

October 17th, 2018 - Updated images and instructions for compatibility with the new AWS UI

About the Author

Learning paths14

Logan has been involved in software development and research since 2007 and has been in the cloud since 2012. He is an AWS Certified DevOps Engineer - Professional, AWS Certified Solutions Architect - Professional, Microsoft Certified Azure Solutions Architect Expert, MCSE: Cloud Platform and Infrastructure, Google Cloud Certified Associate Cloud Engineer, Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD), Linux Foundation Certified System Administrator (LFCS), and Certified OpenStack Administrator (COA). He earned his Ph.D. studying design automation and enjoys all things tech.