Create and deploy application using CodeDeploy and Codepipeline – Lab 79

lab79_diagram

lab79_diagram

Lab 79

This labs walks through a process of creating a two-stage pipeline that uses sample application.

Services Covered

  • EC2 Amazon EC2
  • CodeDeploy CodeDeploy
  • CodePipeline CodePipeline

Lab description

This labs walks through a process of creating a two-stage pipeline that uses sample application. Process includes launching an EC2 Instance, installing a CodeDeploy Agent, creating CodeDeploy application and Deployment and then creating a CodePipeline pipeline to initiate the process.

  • Launch EC2 Instance
  • SSH to Instance, install CodeDeploy Agent
  • Create CodeDeploy application and Deployment
  • Create a CodePipeline pipeline and test application

Lab date

13-10-2021


Prerequisites

  • AWS account
  • putty for SSH connection

Lab steps

  1. Start with launching an EC2 Instance of type t2.micro with Amazon Linux. It will need a IAM Role that will allow CodeDeploy to perform a action on it and access to S3. Create a new Security Group and allow HTTP connections from anywhere. When the instance’s status changes to Running note down its the IPv4 Public IP Address.
  2. SSH into EC2 Instance. Instal AWS CLI and CodeDeploy Agent. Switch to root user:
    code
    sudo su

    Run updates:

    code
    yum -y update

    To install Codedeploy agent we need Ruby:

    code
    yum install ruby wget -y
    code
    wget https://aws-codedeploy-us-east-1.s3.us-east-1.amazonaws.com/latest/install

    Change the permission of the installer and install agent

    code
    chmod +x ./install
    code
    sudo ./install auto

    To check agents status run:

    code
    service codedeploy-agent status 
  3. Upload a sample app to a S3 bucket.
  4. Create a CodeDeploy application and Deployment group. Start with creating application and choose EC2/On-premises as platform. Create a deployment group and choose the service role from drop-down menu. In Environment configuration choose Amazon EC2 instances and since CodeDeploy Agent is already install choose Never in Agent configuration. And uncheck Load balancer.
  5. Create a pipeline and deploy application on the instance in CodePipeline. In pipeline settings choose New service role in Advanced settings in Artifact store choose Custom location and provide name of the bucket with sample application. In next step choose Amazon S3 as a source provider and uploaded zip file. Skip the build stage, and as Deploy provider choose AWS CodeDeploy, created app and Deployment. Click on Create, this will run the pipeline.
  6. Time for testing. Go back to EC2 Instance and visit the Public IPv4 DNS address.

  1. Time for clean-up. Delete the CodeDeploy application, terminate the EC2 Instance.

Lab files


Acknowledgements