Jenkins Masterclass: Jenkins CI/CD Complete Guide
What you'll learn
- Understand the concepts of DevOps Continuous Inspection, Continuous Integration, and Continuous Deployment, and the difference between them.
- Create a multi-stage Jenkins job and visualize the complicated Jenkins build pipeline with Jenkins build pipeline plugin.
- Manage Jenkins - Configure System
- Role Based Authorization Strategy in Jenkins
- Execute Concurrent, Parallel Build Jobs in Jenkins
- Deploy the package (war file) to Tomcat Server using Jenkins
- Jenkins Pipeline - Declarative Pipeline
- Job in Jenkins
- User Accounts In Jenkins
- Integrate GitHub Repository to Your Jenkins Project
- Parameterized Jobs in Jenkins
- Basic knowledge about software development processes
- Knowledge of Java will be helpful but not necessary to take this course
- Desire to learn something new.
- Knowledge of Git, Maven, Linux will be preferred but NOT required.
- A computer running Windows, OSX or Linux.
Jenkins is a powerful and flexible automation tool; It is used to automate almost anything.
Go faster and learn how to build strong automated processes like Pipelines, CI/CD workflow, and more!
In the DevOps world, Jenkins is one of the best cards on the table.
Start automating everything, and become a DevOps engineer!
This is the right course for you!
About Jenkins tool
Installation of Oracle VM VirtualBox Manager
Installation of Ubuntu Operating System.
Installation of Jenkins
Overview of Jenkins Dashboard
Create First Job in Jenkins
Job - Default User & Workspace Location
Status, Weather & Build Stability of a Job
Search Panel in Jenkins Dashboard
Manage Jenkins - Configure System
Manage Plugins - Install a simple theme plugin
User Accounts In Jenkins
Create User Accounts in Jenkins
Role-Based Authorization Strategy in Jenkins
Configure Authorization from Global Security
Delegate Permission Using Manage Roles -1
Delegate Permission Using Manage Roles -2
Integrate GitHub Repository to Your Jenkins Project
Clone the git project using terminal
Clone the git project using Jenkins Shell
Delete workspace before build starts
Build Triggers - Trigger builds remotely (e.g., from scripts)
Trigger builds remotely using an Authentication token
Build Triggers from terminal
Build after other projects are built
Trigger even if the build fails/unstable/aborted
Poll SCM - Source Code Management
Variables in Jenkins
Global Environment Varaibles
Build Environment in Jenkins
Parameterized Jobs in Jenkins
Multi-line String Parameter
Set Timeout in Jenkins
Add timestamps to the console output
Enable/Disable Jenkins Job
Execute Concurrent, Parallel Build Jobs in Jenkins
Retry count in Jenkins
Throttle builds in Jenkins
Change the Display Name of a Job in Jenkins
Block Build when Upstream/Downstream project is building
Create Jenkins Pipeline Using Build Pipeline
Overview of the CICD Process
Continuous Delivery vs Continuous deployment with a practical approach
Parallel Jobs in Jenkins Pipeline
Deploy Build Artifacts to Tomcat Server
Deploy Build Artifacts (.war) to Tomcat Server
Configure the Tomcat Server
Deploy Build Artifacts (.war) to Tomcat Server - GUI
Deploy the package (war file) to Tomcat Server using Jenkins
Overview of project
Clone the code from Git Repository
Integrate Maven with Jenkins
Build the Package using Maven Tool
Install & Configure Tomcat Server
Configure a Pipeline using Build Pipeline
Deploy the Package file (.war) to Tomcat Server
Jenkins Pipeline - Declarative Pipeline
Create the first Pipeline as code - Create the first Jenkinsfile
Multiple stages in pipeline script
Run commands using pipeline script
Variable/Environment in pipeline script
Define stage-level variables using pipeline script
Build parameters in the pipeline script
Boolean & choice parameters in pipeline script
Input from the user in the pipeline script
Post actions in the pipeline script
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
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
Who this course is for:
- Anyone who want to fully understand how Jenkins works and learn how Jenkins is being used in the field.
- DevOps, developers or IT admins who want to advance their career by improving their DevOps skills.
- Anyone who want to implement or improve their continuous integration/continuous deployment workflow at their company
Sometimes, reaching out and taking someone's hand is the beginning of a journey. We often need someone to helps us take the first few steps before we get a master's in that move.
This is the vision we have behind all of our courses 'Step by Step'
1. Start from scratch
2. Break down the topic
3. Simplify things
4. Go step by step
Teaching is our passion and we design every course so you can start from scratch, knowing nothing about a topic and become an expert after the course and can work on enterprise projects.
Do not worry if you do not have any existing knowledge of the subject. We will go very basic, step by step.
Let's Get Started...
All courses under our banner comes with life-time support and you can ask me questions whenever you face any issues or just want to discuss anything with me or need my suggestions.