DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker

Posted By: ELK1nG

DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker
Published 04/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English + srt | Duration: 78 lectures (6h 13m) | Size: 2.6 GB

Become DevOps Master learning Jenkins pipeline & integrations with powerful tools like Docker, Ansible, AWS, GIT & more!

What you'll learn
DevOps Lifecycle : CICD
Maven Lifecycle: Default, Clean & Site
Maven Tool
SonarQube tool in Continuous Integration
PostgreSQL Database for SonarQube
Integrate Nexus with Maven
Integrate Nexus with Gradle
CICD Process - Manual Approach Using Maven, SonarQube, Docker, AWS ECR
CICD Process Using Jenkins
Continuous Deployment using Ansible Playbook

Requirements
PC or Laptop with internet Connection
Must have one AWS Free Tier Account
Basic knowledge on Docker & Ansible is required
Motivation to Learn DevOps CICD required

Description
The entire course DevOps course is based on AWS Environment.

Jenkins is an open-source automation tool written in Java with plugins built for Continuous Integration purposes.

It can be used to automate almost anything.

Go faster and learn how to build strong automated processes like Pipelines, CI/CD Workflow, and more!

In this course module, you will learn in addition to Jenkins, crossing technologies that go hand in hand with this service, such as Docker, AWS, Ansible, Git, Maven, Gradle, Pipelines, and many more!

Introduction

What is DevOps & benefits?

DevOps LifeCycle

Continuous Development

Continuous Integration

Continuous Testing

Continuous Feedback

Continuous Deployment

Continuous Monitoring

Maven Tool

Overview of Maven Tool

Maven Lifecycle: Default, Clean & Site

Repositories used in Maven

Lab - Build the Springboot package in AWS Environment

Lab: Location of Artifacts & built package dependencies

Lab: Exploring pom.xml file

Lab: Execute & access the package application

Lab: Exploring dependencies of a built package

Lab: Build Lifecycle

Lab: Build a Web Application project using maven

Lab: Build a Web Application project using maven

SonarQube tool in Continuous Integration

About SonarQube tool & its features

Installation of SonarQube

Check SonarQube logs & configuration

SonarQube Service & port

Access SonarQube via URL

Configure Maven (CI Server)

Checkout & build the project using Maven

Integrate Maven with SonarQube to check the code quality

Add Sonar-maven-plugin

Lab - Bad code detected by SonarQube

Lab - Rectified the code & re-check by SonarQube

PostgreSQL Database for SonarQube

About PostgreSQL Database

Setup PostgreSQL Database with SonarQube

Create Database, User, and Grant Privileges

Sonarqube Configuration file sonar properties

Troubleshooting PostgreSQL Database for SonarQube

Integrate Nexus with Maven

Install & configure Nexus Server

Configure Sonatype Nexus Repository Manager

Configure CI Server to check out the project & Build the package

Configure springboot maven nexus deploy

Nexus Requirements in the pom.xml

Define Nexus login credentials

Deploy the Artifacts to Nexus Repository

Integrate Gradle with Nexus

Installation of Nexus server

Configuration of Gradle Server as CI

Build the springboot tomcat project using gradle tool

Add plugin in build.gradle

Add Nexus repositories details in build.gradle

Use if-else condition in build.gradle

Add credentials in gradle properties

Publish the project artifacts into Nexus Server

Download the Artifacts using Continuous Deployment

CICD Process - Manual Approach Using Maven, SonarQube, Docker, AWS ECR

Overview of CICD Process

Configure Build Server and Install various tools like Java, Git, Maven, Docker

Checkout & Build the Project using Maven Tool

Install SonarQube on Ubuntu Instance

Add Sonar-maven-plugin

Start SonarQube Service

Check the Code Quality

Overview of Dockerfile to Create a Docker Image

Create a Repository in AWS ECR

Create a Role to Provide Access One AWS Service (CI Server) to another (AWS ECR)

Build the Docker Image using Dockerfile

Push the Docker Image to AWS ECR Repository

Create a CD Server - Continuous Deployment

Pull & Execute the Docker Image from ECR to CD Server

Recap the Entire CICD Process

CICD Process Using Jenkins

Overview of CICD Process using Jenkins

Install a Jenkins Server (CI Server)

Add maven in Jenkins Server from Global Tool Configuration

Create a Jenkins pipeline for Checkout & build the project

Install SonarQube Server using Docker container

Generate the token from SonarQube Server

Add Sonar Login Credentials on Jenkins Server

Install SonarQube Scanner plugins on Jenkins

Add SonarQube on Jenkins Server

Pipeline for SonarQube Scanner for Jenkins

Pipeline for success or aborted due to quality gate failure

Configure a webhook in your SonarQube Server

Add stage in pipeline to create a Docker Image using DockerFile

Create an IAM User to have access to AWS ECR and add it to Jenkins Server

Add stage in pipeline to Push the Docker Image to AWS ECR

Configure SES to send an email notification

Integrate SES with Jenkins using pipeline

Receive an Email Notification after the success or failure of Jenkins Pipeline

Continuous Deployment using Ansible Playbook

Configure a CD Server using Ubuntu Server

Ansible Setup on Jenkins Server

Install packages on CD Server

Create a Playbook to establish a connection from CD Server to AWS ECR

Playbook to pull the image from ECR to CD Server

Playbook to run the Container using the Docker Image

Access the Springboot Application running on CD Server

Last Lecture

Who this course is for
Software engineers, developers, and programmers new to DevOps
Anyone who is looking at Jenkins for implementing Continuous Integration & Continuous Delivery in their projects or organization.