
Explore Jenkins as a popular open source automation tool for continuous integration and delivery, extendable through plugins written in Java to automate diverse tasks.
Install and configure Jenkins on a Linux machine using an Amazon Linux VM, ensure Java 8 is installed, and unlock Jenkins with the initial admin password.
Install and configure Apache Maven and Git on the Jenkins box, set Maven environment variables, update the path, verify with mvn -version, and confirm Git installation.
Implement continuous integration by automatically building, testing, and static analysis of code changes committed to repositories, packaging software when checks pass, and delivering fast feedback to improve quality.
Learn how continuous delivery in DevOps automates committing changes to CM, building, testing, packaging, and deploying to production, and how continuous integration supports faster releases and quicker bug fixes.
Create a Jenkins freestyle project that pulls code from Git, compiles with Maven, runs tests, and packages a WAR file, while configuring Maven location in Jenkins.
Learn how Groovy string interpolation works in Jenkins pipeline jobs, using double-quoted strings to evaluate variables inside ${name}, and understand why single quotes print the raw text.
Explore the first Jenkins pipeline example by selecting the pipeline option in the Jenkins interface and running a basic pipeline to view the console output.
Learn how to implement a Jenkins pipeline that integrates Git and Maven, using a Jenkins file from SCM to checkout code, compile, and package a Java application.
Configure smtp server details and authentication in Jenkins, test the configuration, and add a pipeline stage that uses the generated email script to send notifications.
Parameterize Jenkins pipeline and freestyle jobs with a choice parameter for branches master, feature one, and feature two. Use params for runtime interpolation to build the selected branch.
Explore Sonarqube, an open source platform that automates static code analysis with built-in rules. Integrate it with the DevOps CI workflow, apply project-specific quality gates, checks, and notifications.
Install and run SonarQube on a Linux machine by setting Java eight as default, downloading the binary, and starting the server. Access web interface on port 9000 with admin credentials.
Publish java source code to SonarQube for static analysis via Jenkins and SonarQube scanner plugin; configure the server, generate a token, run Maven, and view the quality gate.
Mark a Jenkins pipeline as failed when SonarQube quality gate fails by waiting for quality gate status, checking it via scripted groovy, and notifying via Slack.
Learn how continuous delivery automates code compilation, testing, packaging, and deployment to production, enabling faster releases, reduced waste, and quicker bug fixes through development and staging testing.
Deploy a war file to a Tomcat server via a Jenkins pipeline, using the SSH agent plugin and SCP to copy to the web apps directory, with deployment verification.
Explore declarative pipelines in Jenkins, contrast with scripted pipelines, and view a hands-on demo of pipeline blocks, agent any, stages, and steps.
Integrate declarative Jenkins pipelines with git checkout, using pipeline syntax from a source code management system and GitHub credentials, while understanding checkout behavior and avoiding duplicate checkouts.
Learn to build java-based maven applications with declarative pipelines by adding maven to PATH via an environment block, checkout code, and run mvn clean package to produce a war.
Implement a Jenkins declarative pipeline with source, build, package, and deploy stages to transfer a war file to a remote Tomcat server via SCP and restart Tomcat.
Learn to set custom build display names in Jenkins declarative pipelines by leveraging the currentBuild global variable to display app name followed by the build number.
Learn to validate Jenkinsfile syntax locally using the Visual Studio Code Jenkins Pipeline Linter extension and its connector, speeding up development and avoiding unnecessary Git commits.
Explore the Jenkins master-slave architecture, where the master manages slaves across Linux, Windows, Docker, and cloud environments with dotnet and Terraform platforms to scale and distribute jobs.
Add a Windows slave to the Jenkins master in a master–slave setup. Enable agent communication, join the master with a command, and manage ports, labels, and software installations via Chocolatey.
Configure a Linux slave for the Jenkins master by creating a new node, setting executors, and defining a remote workspace; launch via SSH with PEM credentials.
Explore Jenkins security by managing users, permissions, and authorization. Learn how default admin access can be restricted by switching security realms and integrating with Active Directory.
Learn to enforce access in Jenkins by moving from metrics based security to project based matrix authorization strategy, granting per-user and per-job read, build, and cancel rights while restricting visibility.
Learn to securely handle credentials in Jenkins pipelines with GitHub and token-based authentication. Use the credentials plugin and withCredentials to inject usernames and tokens without exposing passwords.
Explore a complete ci cd workflow with git, Jenkins, Ansible, and Docker, building a Maven war, pushing a Docker image, and deploying to a dev server.
Learn how to create and reuse code with Jenkins shared libraries, including folder structure (vars, src, resources), Git setup, and configuring global pipeline libraries for reuse across jobs.
Kubernetes orchestrates docker containers and automates application deployments with a single command. It schedules replicas across nodes, enables autoscaling, maintains the cluster, and automatically recovers containers when nodes fail.
Set up a Kubernetes cluster on AWS using Kops, including creating IAM role, S3 bucket for cluster state, and Route 53 hosted zone, then deploy a pod with kubectl.
Learn to build ci/cd pipelines on Kubernetes using a Jenkins declarative pipeline, building and pushing NodeJS Docker images with dynamic tags from the latest git commit.
Learn to push a docker image to Docker Hub within a Jenkins pipeline, using credentials binding and secret text to securely authenticate.
Learn to deploy dockerized applications to a Kubernetes cluster via a Jenkins pipeline, dynamically updating image tags in pods.yaml and services.yaml, and exposing them with an AWS load balancer.
This course provides a comprehensive, hands-on understanding of DevOps using Jenkins Pipeline jobs with Groovy DSL, covering real-world implementations of end-to-end CI/CD pipelines.
You will learn core Jenkins concepts in depth, including:
Jenkins Pipelines (Declarative & Scripted)
Master–Agent (Master–Slave) architecture
Deploy terraform using Jenkins
Jenkins security best practices
Tool integrations and plugin management
Ansible integration with Jenkins
The course walks you through building production-grade CI pipelines, where you:
Build Docker images using Jenkins pipelines
Dynamically tag Docker images
Push images to Docker Hub
Integrate SonarQube for static code analysis and enforce quality gates
Perform Docker image vulnerability scanning using Trivy
Fail pipelines automatically based on code quality or security issues
Newly Added: Production-Ready Kubernetes CI/CD with GitOps
The newly added section takes the course to the next level, focusing on modern, production-grade Kubernetes CI/CD using GitOps principles.
In this section, you will:
Design an end-to-end Kubernetes CI/CD architecture using Jenkins + Argo CD
Use yq to programmatically update Kubernetes manifest files from Jenkins
Commit and push Kubernetes manifest changes back to Git (GitOps workflow)
Set up an AWS EKS cluster
Install and configure Argo CD
Deploy applications to Kubernetes using Argo CD GitOps-based deployments
Notifications & Integrations
You will also learn how to configure pipeline notifications by integrating Jenkins with:
Slack
using industry-standard Jenkins plugins.