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

Become a DevOps Master by learning Jenkins pipeline and integrate it with powerful tools such as Docker, Ansible, AWS !!

4.50 (980 reviews)
Udemy
platform
English
language
IT Certification
category
DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker
7,986
students
9 hours
content
Jan 2024
last update
$94.99
regular price

What you will 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

Jenkins Master and Slave Server

How Jenkins Master and Slave Architecture work?

Project: Integration of Jenkins with Maven Tool

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

Project: CI/CD Process Using Jenkins

Project: Continuous Deployment using Ansible Playbook

Project: Jenkins Master and Slave Server Configuration

Why take this course?

The entire DevOps course is based on AWS Environment.

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!

Every section of this course has a different set of quizzes, and there is also many project lab assignment that will help you demonstrate what you have learned.

Project: Integration of Jenkins with Maven Tool

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

Project: CI/CD Process Using Jenkins

Project: Continuous Deployment using Ansible Playbook

Project: Jenkins Master and Slave Server Configuration


Introduction

  • What are DevOps & benefits?

  • DevOps LifeCycle :

    Continuous Development

    Continuous Integration

    Continuous Testing

    Continuous Feedback

    Continuous Deployment

    Continuous Monitoring

Linux for DevOps

  • Create an AWS Account

  • Create an EC2 Instance - Amazon Linux

  • Create a key pair - Public & Private Key

  • MobaXterm - Connect EC2 Instance

  • Putty - Connect EC2 Instance

  • Gitbash - Connect to EC2 Instance

  • Create an EC2 Instance - Ubuntu

  • Filter Instances

  • Access Instance using User Name & Password (Without using Private key)

  • More about private & public key

  • Passwordless authentication from Linux to Ubuntu Server

  • Lab - Access the Amazon Linux Instance other than the default user

  • Lab - Access the Ubuntu Linux Instance other than the default user

  • Lab - Passwordless Authentication between Amazon Linux & Ubuntu and Vice versa

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

Integration of Maven with Nexus Repositories

  • 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

Integration of Gradle with Nexus Repositories

  • 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

Integrate Jenkins with Git & Maven project

  • About Jenkins

  • Overview of Jenkins integration with GitHub & how to build a java based project

  • Installation of Jenkins, Java, Maven & Git on EC2 Instance

  • Configure Jenkins on EC2 Instance

  • Configure GitHub Credentials & Maven Location on Jenkins

  • Create & Build the Java-based project using Maven Tool

  • Add Maven Plugins in Jenkins

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

Jenkins Master and Slave Server

  • Overview of Jenkins master & slave server

  • How does Jenkins Master and Slave Architecture work?

  • Lab - Install Jenkins Master Server in AWS Environment

  • Lab - Configure Jenkins Master Server

  • Lab - Manager Nodes and Clouds

  • Lab - Setting up Slaves with Jenkins Master

  • Lab - Troubleshooting while adding a slave server

  • Lab - Create a job for the Slave Using Freestyle project

  • Lab - Create a job for Slave Using a pipeline project (Springboot Appl)

  • Lab - Create a job for Slave Using a pipeline project (Springboot Appl)

  • Configurations in slave machine

  • Lab - Establish connectivity between Master & Slave Using SSH keys

  • Lab - Launch agent on Slave Machine

  • Lab - Create a job for building a Springboot project on Slave Machine

  • Last Lecture

Reviews

Vamsi
October 22, 2023
If there was documentation/quick links for the repositorys/index pages used within the course would have been a great help. Leaving that aside instructor was good!
Ravindran
September 16, 2023
Best course to show both manual and automated approach. Entire course is practical. So lots of learning. I request the tutor to create a scripted pipeline course using this similar approach.
Mahmoud
August 17, 2023
really bad way of speaking , repeating too much and skipping useful info so you will find yourself lost
Fernando
June 18, 2023
The course is absolutely GREAT. If you are a Java developer wanting to add devops skills to you resume, its a MUST. BUUTT.... you will have to work for it, since there are some OUTDATED sections, concerning software versions and some procedures. This is very EASY TO OVERCOME by just checking the current version and documentation for each tool you install, such as nexus, jenkins, etc, using the proper java and postgres version for each one. I strongly suggest not using Amazon Linux 2023, but explicitly selecting Amazon Linux 2 in EC2, so you can better follow along with the teacher, but choose to install the later versions of the softwares, checking its documentation first. Do that, and follow the teachers instructions and you will be fine. You better be familiar with linux commands, but if you are not, it is an excelent opportunity to search in google or chatgpt for each linux command that the teacher uses and understand it. Again, THANK YOU for this course. Invaluable skills.
Kishor
May 15, 2023
It's really a good course on CICD, that not only explain Manual integration, but also explain how to establish CICD with Jenkinsfile.
Bhagyashree
April 28, 2023
One of the best course I have found . After completing this course I understood CICD clearly. Thank You!
Elizabeth
April 14, 2023
Some supplemental documentation with steps that can be followed as the instructor goes through it would be helpful
Latosha
April 14, 2023
Very good match for me because i like direct teaching and this instructor is very good, and thorough.
Arthur
April 4, 2023
Before the end of section 2, the instructor - shows the web UI of aws, never the CLI or the APIs themselves. I don't think he mentions they even exist either. That's a bad idea for many reasons (doesn't scale, and the web UI is subject to change much faster than the CLI tool or API will) - generates a private/public key pair for SSH on the web-ui. Even though it "might" be fine, if you don't audit that this is done entirely client-side, you might have just given your private key to a blackbox system you know nothing about. Plus there is the unspoken assumption that your browser context is not being manipulated by an XSS-style attack anyway. - uses the generally unrecommended PasswordAuthentication yes directive on his sshd_config file (you should use challengeResponseAuthentication yes if you wanted password authentication. History shows that ciphers sometimes can have vulns that leak a few bytes of cleartext. For instance it was the case for aes128-cbc, which stayed on the openssh codebase by default for a while. Using the challenge-response mode of password-based authentication reduces the risk that passwords can be leaked this way.) That's a lot of oversights, if not outright dangerous mistakes, to make in a few introductory videos for me to recommend the course. I don't know if the later stage stuff is worth it or not, but I know I will not recommend this course to anyone, lest I want to encourage bad habits.
Haris
March 22, 2023
very bad content no Proper explanation just wasted my money and time, can't even refund Dont buy this course you can learn from youtube same thing
Hareesh
March 9, 2023
1.Little faster and lack of explaining commands 2.There is no file attachments for the projects as a beginner little confuse to get the projects 3.There is no highlighter
Frederico
March 4, 2023
Very good content, the instructor tries his best to present various tools in a integrated environment. I learned a lot.
Mohammed
February 11, 2023
Excellent course especially for beginners who are new to devops. Theory was well explained and labs were good as well.
Vishnuvardan
February 7, 2023
This is a great course which enabled me to get the new job. His explanation is very simple and easy to learn. Thank you
K
December 15, 2022
i have never found any such tutorials like this course. i wish i would have found this course few years ago excellent demos and a lot of new learning's. Shikhar Sir, your art of teaching and demonstrating is beyond words, This course deserves 5 start i could have missed a lot if i didn't find this course. nobody will regret after learning from you Sir. YOU ARE THE BEST , looking many more such tutorials from you

Charts

Price

DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker - Price chart

Rating

DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker - Ratings chart

Enrollment distribution

DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker - Distribution chart
4642510
udemy ID
4/14/2022
course created date
4/17/2022
course indexed date
Bot
course submited by