Lab 10.1 - Deployment A WebApp With Jenkins To EC2 Part II

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

SQAE113 - DevOps Infrastructure Level 2

Lab #10.1

Lab 10.1 – Deployment a WebApp with Jenkins to EC2 Part II.

Name: _______________________ Student No.: _________________

Introduction: Welcome to this hands-on lab session on deploying a web application using Jenkins on
Amazon EC2! In today's dynamic and ever-evolving technological landscape, automating the
deployment process is crucial for achieving efficiency and reliability in software development. In this
lab, we will walk through the process of setting up a continuous integration and continuous deployment
(CI/CD) pipeline using Jenkins, a powerful automation tool. Our focus will be on deploying a web
application on Amazon EC2, a scalable and reliable cloud computing platform. Jenkins, an open-source
automation server, will play a pivotal role in automating the building, testing, and deployment phases of
our application. By the end of this lab, you will have gained practical experience in configuring Jenkins
pipelines, integrating it with version control systems, and orchestrating the deployment of a web
application on an EC2 instance.

Architecture

This is the basic structure of AWS EC2, where EC2 stands for Elastic Compute Cloud. EC2 allow users
to use virtual machines of different configurations as per their requirement. It allows various
configuration options, mapping of individual server, various pricing options, etc. We will discuss these
in detail in AWS Products section. Following is the diagrammatic representation of the architecture.

The following diagram illustrates this reference architecture.


You are required to complete the lab and record your answers. Rename the file using your first name
and the lab number, e.g., washington10.1.docx, and submit it through Canvas to receive marks for this
lab.

NOTE: TO BE ABLE TO COMPLETE THIS LAB YOU MUST COMPLETE LAB 9.1 FIRST.

Note AWS Access:

---------------------------------------- AWS ACCESS ---------------------------------

You should use AWS Academy to perform this lab. If you don't have access to AWS
talk with your instructor.

1. Go to the https://awsacademy.instructure.com/ website.


2. Select you Current Course.
3. Click Modules.
4. According to the instructor's instructions, choose an available lab or click directly on Sandbox.
5. Click Start Lab.
The lab will begin loading and you will be provided for a limited time to access the AWS
console. Please consider this, the time for each lab is limited so you will not be able to use
previous work.
6. When you Lab is ready click AWS.

------------------------------------------- AWS ACCESS ------------------------------------

Prerequisites

Familiarity with Networking is desirable, but not required.


Familiarity with Elastic Compute Cloud (EC2) is helpful.
Successfully Complete Lab 9.1

Objectives

Part 1: Create a Compute Instance and install Jenkins.


Part 2: Configure the Jenkins Master to avoid alerts.
Part 3: Add and launch one Jenkins Agent Nodes.
Part 4: Test a simple freestyle project.
Part 5: Spin up the infrastructure shown at the image using Terraform.
Part 6: Implement a first Jenkins Pipeline project using Kelowna Trails repository and deploy it
to Production env.
Part 7: Implement a second Jenkins Pipeline project using Kelowna Trails repository and deploy
it to Firebase Production env.
Instructions

Part 5: Spin up the infrastructure shown at the image using Terraform.


Following the instructor´s instructions and your previous knowledge spin up the desirable
infrastructure according to the image shown, using AWS Cloud shell and Terraform Automation
Tool.

Take a screenshot of your Dashboard EC2 with the compute instances and load balancer.

Here your screenshot

Part 6: Implement a first Jenkins Pipeline project using Kelowna Trails


repository and deploy it to Production env.
Following the instructor´s instructions and your previous knowledge, implement a new Jenkins
pipeline project in which you must deploy Kelowna Trails repository
https://github.com/eduval/Kelownatrails to the EC2 Production Env.

Take a screenshot of your ec2 productions env and the load balancer with the public IP.

Here your screenshot


Here your screenshot

Part 7: Implement a second Jenkins Pipeline project using Kelowna Trails


repository and deploy it to Firebase Production env.
Following the instructor´s instructions and your previous knowledge, implement a new Jenkins
pipeline project in which you must prepare you Firebase Environment to deploy Kelowna Trails
repository.

Take a screenshot of your Firebase Environment with the public URL.


Here your screenshot

You are required to complete the lab and record your answers. Rename the file using your first name
and the lab number, e.g., washington10.1.docx, and submit it through Canvas to receive marks for this
lab.

You might also like