
Explore Jenkins from installation and configuration to advanced CI/CD workflows, including Git and Maven integration, code quality checks with SonarQube and PMD, and automated builds, tests, and deployments.
Follow practical guidelines to take this course effectively by typing code along, completing assignments, and using the discussion forum for support as you learn Jenkins and continuous integration and delivery.
Explore how Jenkins enables continuous integration and delivery through an extensible plugin ecosystem, automated build, test, and deployment pipelines across platforms, and a master-slave architecture.
Install Java as a prerequisite, download the Jenkins installer, set JAVA_HOME and PATH, and verify the Java version. Follow the same steps on Windows and Mac.
Install Jenkins from the official site on Windows using the MSI for long term support version, run the setup wizard, create the first admin user, unlock Jenkins, and install plugins.
Learn how to install Jenkins on Tomcat by deploying the Jenkins war, starting and stopping Tomcat, and accessing the same Jenkins instance via Tomcat and Jetty URLs.
Navigate the Jenkins dashboard to explore jobs, nodes, builds, and plugins, and learn core configurations in Manage Jenkins, including system, security, plugins, and monitor build queue and executor status.
Create and manage Jenkins users and roles to control access for developers, testers, and admins. Enforce granularity with matrix-based and project-based security, assigning read, build, and configure permissions as needed.
Use the role based authorization strategy plugin to create roles and assign permissions in Jenkins. Map users to roles, such as dev.* and test.*, to grant project and global access.
Create your first Jenkins job as a freestyle project, configuring general details, source code management, build triggers, and post build actions, including discard old builds and git integration.
Create a Jenkins job to compile and run a simple Java program, set up job chaining to trigger downstream jobs, and invoke a job remotely using a token.
Learn how Jenkins integrates with Git using the poll method, configure the git plugin, and trigger builds on new commits from a GitHub repository.
Expose Jenkins publicly with ngrok, create a GitHub webhook, and configure the GitHub hook trigger to trigger builds on pushes versus polling.
Install and configure Apache Maven, including downloading, unzipping, setting M2_HOME and MAVEN_HOME, updating PATH, verifying with mvn -version, and configuring the local repository via settings.xml.
Set up a simple Maven project in Eclipse, add JUnit tests via dependencies in pom.xml, and package a jar, enabling Jenkins integration with Maven.
Explore two ways to integrate Jenkins with Maven: a freestyle job invoking top-level Maven goals (clean test, package) using a pom.xml, and a Maven project via the Maven integration plugin.
Analyze your Java code with SonarQube via a Maven project to detect code smells and boost unit test coverage with JaCoCo.
Integrate Jenkins with SonarQube using Maven goals like clean test and sonar:sonar to run code analysis and view results, and learn plugin and scanner options for broader integrations.
Learn how to send email notifications from Jenkins using Gmail SMTP and test the configuration. Explore the email extension plugin for HTML content, attachments, default recipients, and multiple triggers.
Learn to integrate Jenkins with Selenium and TestNG in a Maven project, run tests via Maven goals, and publish TestNG results for clear reporting.
Learn to automate deployment with Jenkins by packaging a war with Maven and deploying to Tomcat using the deploy to container plugin, completing the ci/cd lifecycle.
Explore how Jenkins pipelines orchestrate code flow from Git to build, test, and deploy, using delivery and build pipeline plugins, and multi-branch pipelines with Git integration for continuous delivery.
Learn to set up a simple delivery pipeline in Jenkins by creating build, test, and deploy jobs, chaining them, and visualizing progress with the delivery pipeline plugin.
Master Jenkins build pipelines by installing the build pipeline plugin and configuring a build pipeline view. Manage ci/cd with multiple triggered builds, console output access, and new run capabilities.
Explore how to code scalable, durable Jenkins pipelines using declarative or scripted syntax, with stages, nodes, and parallel steps, all stored in a Jenkins file.
Set up a scripted Jenkins pipeline to run build, test, and deploy stages, fetch latest code from a repository, run tests, and package results, with a looping for customization.
Learn to build a declarative Jenkins pipeline with a Jenkins file stored in code, using git repo, featuring cleaning, testing, and packaging stages, and explore input prompts and email notifications.
We will start with understanding the concepts of DevOps, Continuous Integration, Continuous Delivery & Continuous Deployment.
We will understand how Jenkins fits perfectly as the CICD server. We will learn about its fundamentals & capabilities.
After learning how to install Jenkins, we will learn about the basics of a Jenkins job & its configuration options.
We will then move to see Jenkins in action in the CICD life-cycle.
Source code repository – We will look at how Jenkins can integrate with GIT & be a starting point for automated builds based on developer checkins.
Code Quality – We will look at how Jenkins can integrate with code quality tools like SonarQube to highlight any issues with the developer code .
We will then move on to automated Build, Test & Deployments – We will look at how Jenkins can trigger maven scripts to start a build, see how it can integrate with Selenium to automate functional testing & finally see how it can help with deploying the executable on web servers.
All this while getting appropriate notifications via emails on the progress on the pipeline.
We will then move on to learning about the Jenkins pipeline where will cover about build pipeline, delivery pipeline, scripted pipelines & the famous declarative pipeline. Create a multi-stage Jenkins job and visualize the complicated pipeline.