Continuous Integration and Deployment with AWS Code Services

Advanced

120 students completed the lab in ~2h:24m

Total available time: 4h:0m

30+ students rated this lab!

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:

Follow these steps to learn by building helpful cloud resources

Log In to the Amazon Web Service Console

Your first step to start the Lab experience

Creating an AWS CodeCommit Repository

Create a repository for source control of the app

Committing Code to Your AWS CodeCommit Repository

Commit code into AWS CodeCommit over HTTPS using Git 

Building and Testing with AWS CodeBuild

Leverage AWS CodeBuild to automatically build, test, and package your project

Deploying with AWS CodeDeploy

Set up deployment groups to deploy your apps with AWS CodeDeploy

Automating Your Deployment with AWS CodePipeline

Piece together the stages of your continuous deployment pipeline with AWS CodePipeline

Following the Continuous Deployment Pipeline

Watch the pipeline in action as your app is automatically tested, built, and deployed on a code commit

Recovering Automatically from a Failed Deployment

See how AWS CodeDeploy seamlessy handles an automated rollback when a deployment goes awry

Using AWS CodeDeploy Blue/Green Deployments in Your Pipeline

Use an AWS CodeDeploy blue/green deployment group in your AWS CodePipeline