course DevOps Artisan – Jenkins Fundamentals starts with an overview of the Jenkins architecture and will continue with the installation of Jenkins. Students will become familiar with the Jenkins user interface, some of the most commonly used plugins, and different types of jobs. The course will also cover email integration, GitHub integration, and Maven integration.
All these features will be explained and demonstrated with detailed examples in the hands-on lab.
This course addresses:
- anyone who wants to learn Jenkins and anyone who is interested in developing the skills necessary to perform an entry-level role in Jenkins.
- Beginner and intermediate developers
- QA Engineers
- Build and Release Engineers
- Technical Project Managers
- DevOps engineers
At the end of this course, students will have a solid knowledge of Jenkins Fundamentals features. They will have knowledge of how to automate software development processes with continuous integrations and know how to facilitate technical aspects for continuous delivery.
No additional knowledge is required to participate in this course.
Module 1: Continuous Integration, Delivery and Deployment
- DevOps Culture
- DevOps Tools overview
- Continuous Integration
- Continuous Delivery
- continuous deployment
- Delivery vs. Deployment
Module 2: Introduction to Jenkins
- What is Jenkins?
- Why Jenkins?
- Key aspects of Jenkins
Module 3: Jenkins architecture
- Jenkins architecture
- Jenkins Terminology
Module 4: Installing Jenkins
- Prerequisites
- Installation steps
Hands-on Lab: Installing Jenkins on the assigned machines.
Module 5: Overview of the Jenkins UI
- Main menu explained
- New item menu
- People menu
- Build history menu
- Manage Jenkins menu
- My Views menu
- Job Status and job store
Demo: Walkthrough of the different menus and UI elements of Jenkins. Learn what different icons mean and where you should go when searching for various information.
Module 6: Jenkins server configuration
- Manage Plugins
- Configure Credentials
- Configure System
- System Information
- Global Tool Configuration
Demo: Installing new plugins and checking what plugins are already installed on the server. Learn where you can find the various configuration options for those plugins.
Module 7: Creating your first Job
- Jenkins job Terminology
- Your first Jenkins job walkthrough
- Post-build actions
- Build other projects
Hands-on Lab: Creating Jobs in Jenkins. Use Jenkins to create a set of simple tasks that the server should be able to execute. Learn how different jobs can trigger the execution of other jobs and what kind of information does Jenkins expose for each task that has been executed.
Module 8: Environmental variables
- What is an environmental variable?
- Environment variable types
- Access the value of a variable
- Local vs. overall
Module 9: Parameterized jobs
- What are Parameterized jobs?
- Create simple parameters
- POST Method
- Trigger other builds with parameters
Hands-on Lab: Parameterized Jobs. Learn how to use parameters for your Jenkins jobs and also make use of the available environment variables. Customize the type of the parameters and create dynamic ones by making use of available plugins and scripting. Pass parameters to other Jenkins jobs programmatically.
Module 10: Email integration for notification
- Email Service Configuration
- Email Notifier
- Email extension Plugin
Demo: Integrate Jenkins with Gmail services. Short introduction to the types of configurations needed to configure an email server with your Jenkins server. These steps can be used to integrate any emailing service. Customize the contents of the email and the targeted recipients.
Module 11: GitHub integration as Version Control tool (+Lab)
- Version Control System
- GitHub
- VCS Workflow
- Key benefits of VCS
- Jenkins with GitHub
- Pre-requirements for GitHub Integration
Hands-on Lab: Given a git repository that has webhooks registered (GitHub will be used because these are preconfigured), learn how Jenkins can clone the contents of that repository in a workspace and use the files located there to complete one of its tasks. Jenkins can also execute certain actions, such as auto building a job on a git push, based on the webhooks that are configured on the repository.
Module 12: Generating jobs using scripts (+Lab)
- What is a seed job?
- Create and configure seed jobs
- GitHub and seed jobs
Hands-on Lab: Make use of DSL scripts (part of a Jenkins plugin) to programmatically generate Jenkins jobs. Run the scripts from a remote location by using a service such as Git. Understand how this functionality can allow you to create and administer a very large number of jobs at the same time through the power of scripts.
Module 13: Parallel Builds using pipelines
- What is a Pipeline Job?
- How to write a Pipeline Script
Hands-on Lab: Creating pipelines in Jenkins. Isolate build steps of a more complex task that you want to execute. Use the built in Pipeline Syntax tool to generate a pipeline script. Dispatch and execute only parts of your pipeline on other nodes or in parallel to further optimize the time spent executing the job. Learn how the logs exposed by Jenkins in pipelines can improve the way you debug the failure of a task.
Module 15: Using Maven as a build tool
- What is Maven?
- How Maven works
- Prerequisites for Maven Integration
- Creating a Maven Project
- Creating a pipeline that includes Maven
Module 16: Define building and testing steps
Demo: Creating a simple pipeline that takes a Maven project and creates and tests a build.
Module 17: Create a complete pipeline that tests a build and stores if for deployment
Hands-on Lab: Creating a pipeline that creates and archives a build of an application. Maven will be used as a build tool and the project is located on a remote Git repository. Combine all the accumulated knowledge into one complex task.
Module 18: Adding slave nodes
- What is a Slave node and why use it?
- How to create a Slave node
Hands-on Lab: Expand the Jenkins architecture by adding new nodes. Create a connection between the Jenkins master server and the newly created node. Learn how different machines communicate with each other and what are the prerequisites when thinking of creating a new machine.
This course prepares students to take the certification exam to achieve the Associate role DevOps Release Engineer.
DevOps Artisan – Jenkins Fundamentals


