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

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