Devops Project Based Learning

CICD Pipeline with Jenkins, Maven, Docker, Ansible, Sonarqube, Nagios and Kubernetes

This project will help learners to implement complete DevOps CICD Pipeline in a unique story telling way covering the business scenarios to help you understand in interesting and engaging way. This project contains total 12 projects which cover all the important tools used in the industry – Jenkins, Maven, Docker, Ansible, SonarQube, Nagios and Kubernetes.

The projects will start from scratch and will build the pipeline by integrating various tools in a structured manner. We will cover all these tools from basics as well so if you are not aware of these tools then also no need to worry, we will cover all the basic aspects.

20 Hours

Intermediate

20 Hours

Intermediate

Project Structure

The complete capstone project is divided into 12 projects. Each of these projects have multiple tasks. For each of the task, there are theory videos to understand the concepts and solution video along with code/script used.

01

Integrate GIT with Jenkins

In this project, we will install Jenkins on local machine and will integrate Git on Jenkins server. We will be creating parallel builds in Jenkins to run multiple jobs at the same time

See Tasks
02

Integrate Maven with Jenkins

In this project we will learn how to create AWS EC2 Linux machine and how to build Maven project using Jenkins

See Tasks
03

Integrate SonarQube with Jenkins Pipeline

In this project, we will learn how to Install SonarQube plugin in Jenkins, how to create POLLSCM Jenkins job and then how to integrate SonarQube with Jenkins

See Tasks
04

Deploy the Artifacts on Tomcat server using Jenkins Cl/CD Pipeline

In this project we will install Ansible on AWS EC2 LINUX Machine and will deploy web server on each servers/hosts

See Tasks

Work with Ansible

In this project we will install Ansible on AWS EC2 LINUX Machine and will deploy web server on each servers/hosts

See Tasks

Integrate Ansible with Jenkins Pipeline

In this project we will install Ansible on AWS EC2 LINUX Machine, deploy Ansible Playbook from Ansible server to Tomcat server, deploy with Jenkins and deploy war file on Tomcat server

See Tasks

Work with Docker

In this project we will learn how to work with Docker - Install Docker on linux Machine and will creating images from Dockerfile

See Tasks

Integrate Docker with Jenkins CI/CD Pipeline

In this project we will integrate Docker with Jenkins and Ansible . We will create Jenkins job and will push and pull Docker image using Ansible playbook

See Tasks

Work with Kubernetes

In this project we will setup Kubernetes cluster with kubeadm in Centos

See Tasks

Integrate Kubernetes with Jenkins CI/CD Pipeline

In this project we will do Kubernetes cluster setup with kubeadm in centos7 and will create deployment and services through manual/ansible playbook /Jenkins

See Tasks

Work with Nagios XI

In this project we will install and configure Nagios XI monitoring server on Ubuntu

See Tasks

Monitor Docker Containers with Nagios XI

In this project we will setup Nagios XI for monitoring Docker container  

See Tasks

About Project Based Learning & Project

Project-based learning enables you to learn Job-Ready
Tech Skills by Building Real Software Projects. These projects cover multiple concepts end-to-end to help you gain complete expertize not only from theory perspective but more from hands-on perspective.

This course will cover all the necessary hands-on tasks which you may come across in a DevOps role on a daily basis:

1.How to install Jenkins on local machine.How to integrate GIT with Jenkins.
2.How to create and run Jenkins job.
3.How to create parallel builds in Jenkins.
4.Create AWS EC2 LINUX Machine.
5.How to install Jenkins on AWS EC2 LINUX Machine.
6.How to integrate GITHUB with Jenkins.
7.How to implement webhooks in your Jenkins pipeline.
8.How to integrate MAVEN with Jenkins to automate the builds
9.How to integrate email plugin in Jenkins.
10.How to create Maven build Jenkins job.
11.How to Install SonarQube plugin in Jenkins.
12.How to create POLLSCM Jenkins job.
13.How to integrate code coverage tool with Jenkins.
14.How to integrate email service and send code coverage reports to users
15.How to create JenkinsFile.
16.How to create Multibranch Pipeline job in Jenkins.
17.How to deploy Tomcat service on AWS machine.
18.How to archive the application artefacts and deploy on Tomcat server.
19.How to install Ansible on AWS EC2 machine.
20.How to configure password less authentication.
21.How to create and run Ansible playbooks.
22.How to add servers/hosts in Ansible.
23.How to install Ansible plugin.
24.How to integrate Ansible on Jenkins server.
25.How to create Ansible Playbook for Jenkins pipeline.
26.How to run Ansible Playbook from Jenkins.
27.Integrate Poll SCM with Jenkins
28.How to install Docker on Linux machine.
29.How to create Dockerfile
30.How to create Docker image and run images inside container
31.Upload docker image to Docker Hub.
32.How to deploy application on Docker containers.
33.How to integrate Docker with Jenkins.
34.How to integrate Docker with Ansible.
35.How to deploy application on Docker containers using Jenkins CI/CD Pipeline.
36.How to install and configure Kubernetes.
37.How to work with Kubernetes pods.
38.How to create Kubernetes clusters.
39.How to deploy multiple Docker containers on Kubernetes
40.How to integrate Kubernetes with Ansible.
41.How to create Kubernetes deployment and services using Ansible.
42.How to automate Kubernetes deployments with Jenkins CI/CD pipeline
43.How to launch AWS EC2 machine.
44.Install and configure Nagios XI server on CENTOS/UBUNTU machine.
45.How to add servers/hosts in Nagios XI
46.How to create Interactive dashboards based on Nagios XI servers monitoring
47.How to add Docker containers in Nagios XI.
48.How to monitor Docker containers using Nagios XI monitoring tool.

In traditional learning, more focus is on theory whereas in project-based learning more focus is on the hands-on. Project-based learning provides more close to real time experience.

You will be getting task-wise all the supportive theory videos so understanding theory is not going to be any issue.

It helps to build your portfolio along with giving you necessary hands-on exposure to how to work on a project in a real environment. You can add the projects in your portfolio. More often in an interview, the questions are asked from the projects which you have done, so if you have done the project completely, qualifying interview shall be comparatively easier.

Install Jenkins on your local machine

Create a freestyle job to clone the GitHub
repository and build the job

Create 5 parallel builds using a pipeline

Create AWS EC2 Linux Machine and
install Jenkins on it

Implement webhooks Integration
between Jenkins and GitHub For
Automatic Build execution.

Install and Integrate the Maven tool on
your AWS EC2 LINUX Machine

Install Maven plugins in your Jenkins
and set up Maven path on the
Jenkins console

A) Download these Plugins – Maven
integration, Maven invoker

Implement an email plugin in the
Jenkins pipeline to send notifications
post pipeline completion

A)Download Email extension plugin

Test build automation with the help of
build tools like Maven to understand
the build process

Install SonarQube on your AWS EC2
LINUX Machine and setup

A) Install SonarQube plugin

B) Integrate SonarQube with your
application source code

Create POLLSCM job to run the pipeline
based on changes on the GitHub repository

A) Create AWS EC2 LINUX Machine

B) Install and setup Tomcat server on
AWS EC2 LINUX Machine

Deploy war file in tomcat using Jenkins

Deploy Jenkins file into tomcat server
from Jenkins using archive artefacts

A) Create 2 AWS EC2 LINUX hosts/
machines

B)Install Ansible on both servers

C) Configure password-less authen-
tication for quick code deployment
automation

A) Create and validate Ansible Playbook

b) Deploy and validate web server on
each server/hosts

Install Ansible on AWS servers and add
servers/hosts in ansible

Integrate Ansible with Jenkins

Create an Ansible playbook to copy files
from the ansible server to the
tomcat server

Integrate the ansible-playbook with
Jenkins to deploy the war file on
the tomcat server

Integrate POLLSCM so that job will be
triggered once you will commit the
changes on the GitHub repository

A) Install Docker on Linux Machine

B) Create Docker image

C) Create Docker container using Docker image

A) Create Dockerfile

B) Create Docker image using Docker file

C) Deploy Application on Docker container

Push Docker images to Dockerhub

Integrate Docker server with Jenkins server

Integrate Docker server with Ansible server

Create a Jenkins job to copy the
application war file on an Ansible server

A)Push Docker image by Ansible play-
book to DockerHub

B) Pull Docker image by Ansible playbook
from DockerHub to create a container

Install and configure Kubernetes
clusters on AWS LINUX Machine

Configure and initialize Kubernetes

Install and configure Kubernetes clusters
on AWS LINUX Machine

Install Kubernetes using cubed in
all server

Create deployment pods and services
using yaml files

A) Integrate Kubernetes master
machine with ansible server

B) Add Kubernetes master private Ip
under ansible hosts file

A) Create Ansible playbook for
Kubernetes deployment and service

B) Create application-service.yaml file

Automate everything end to end using
Jenkins

A) Create 2 Ubuntu AWS EC2 Machine

B) Install Nagios XI on Nagios server

A) Add servers in Nagios XI to be monitored

B) Create Dashboards based on Nagios XI servers monitoring

A) Create 2 Ubuntu AWS EC2 Machine

B) Install Nagios XI on Nagios server

A) Download the NCPA package in
your Docker server

B) Download the check_docker
plugin in your Docker server

C) Create a Nagios user and then
add that user under the docker group

E) Access the application running
inside the container