Duration: 3 Days
Mode: Classroom/Online
Jenkins is a free and open-source countinous integarion tool and automation server.
The Jenkins project was originally named Hudson. Jenkins can help to setup a continuous integration, delivery and deployment pipeline in an easy and efficient way. With the help of multiple plugin support you can use Jenkins with a huge range of tools and platforms.
In this course, I will start from scratch, from the very basics and go up step-by-step. Do not worry if you have never used Jenkins. We will learn everything as per the course outline below.
About Trainer: Raghav, has over 11 years of experience in software testing, especially in automation testing, DevOps & CI. Worked as automation test architect and delivered several automation testing projects. He teaches automation testing and related concepts on online platforms like YouTube and Udemy. Raghav also takes personal and corporate onsite classroom training as per availability.
To find out more about Raghav – LinkedIn Udemy YouTube LifeCharger
Overview
This training course is aimed to train participants on Jenkins foundation to intermediate level. Participants will learn the concepts of Continuous Integration and Deployment using Jenkins. Training will cover hands-on exercises on job configuration, user management, plugin management, Git, server deployments and related topics. This training will start from basic, anyone interested to learn Jenkins from scratch can join and get trained to work with Jenkins on enterprise projects. This will be a hands-on training with focus on practical use and application of all the topics covered as part of this training.
Audience
Development and QA engineers
Technical project manager
Anyone interested to learn Jenkins
Pre-requisites
Basic knowledge on SDLC and STLC
What participants will learn?
- What is Jenkins
- How to setup and configure
- Job creation and management
- Plugin management
- User role creation and management
- Integration with Git
- Automated deployments
- Build and delivery pipelines
- Job Parameterization
- Command line executions
- Jenkins node management
Course outline
Introduction
Learning Objective: In this module, participants will learn what is Jenkins, continuous integration and where does Jenkins fits into SDLC (Software Development Life Cycle)
- What is Jenkins
- Why to use Jenkins
- How Jenkins fits into SDLC
- What is CI (Continuous Integration
Setup
Learning Objective: In this module, participants will learn how to setup Jenkins and use Jenkins on their systems
- Prerequisites
- How to setup Jenkins
- How to start Jenkins from war file
- Installing as service
- Account creation
- GUI & features
- Basic configurations
Hands-On: Install and setup of Jenkins on your systems
Job Creation
Learning Objective: In this module, participants will learn to create and configure jobs in Jenkins
- What are Jobs
- How to create jobs
- How to configure jobs
- How to monitor jobs
Hands-On: Create and run jobs in Jenkins
Plugins management
Learning Objective: In this module, participants will learn how to use and manage plugins
- What are plugins
- How to add, update and remove plugins
- Commonly used plugins
- Configure Jenkins to work with java, Git, Maven
- Use plugins in job configuration
Hands-On: Add and manage plugins. Use plugins in jobs
User Configurations
Learning Objective: In this module, participants will learn how to create and manage users in Jenkins
- How to create users in Jenkins
- How to manage users
- Assign user roles
- Assign user privileges and access
- Authentication & authorization
Hands-On: Create and manage user roles
Git version control system
Learning Objective: In this module, participants will learn how to work with Git and Jenkins
- Jenkins Integration with Git version control system
- Configure jobs to check for source code changes periodically
- Trigger jobs based on commits in Git repository
Hands-On: Setup integration with Jenkins and Git. Configure jobs with version control system
Automated deployments
Learning Objective: In this module, participants will learn how to deploy application on server using Tomcat & Jenkins
- What is automated deployment
- Install and configure Tomcat
- How to use Jenkins for automated deployments
- Practical demo with tomcat server
Hands-On: Deploy application on Tomcat using Jenkins
Master slave configuration
Learning Objective: In this module, participants will learn how to work with multiple nodes in Jenkins
- What is master slave configuration
- How to create and add nodes
- How to run jobs on slave nodes
Hands-On: Create and manage nodes
Jenkins pipeline
Learning Objective: In this module, participants will learn how to create pipelines
- What is pipeline
- Build pipeline setup
- Delivery pipeline setup
Hands-On: Create and run pipelines in Jenkins
Jobs parameterization
Learning Objective: In this module, participants will learn how to parameterize and chain jobs
- What is parameterization
- How to parameterize jobs in Jenkins
- How to pass parameters to downstream jobs
Hands-On: Create and run pipelines in Jenkins
Command Line
Learning Objective: In this module, participants will learn how to run jobs from command line and command line features
- How to use Jenkins command line
- How to run jobs from command line
- Command line options
Hands-On: Run jobs from command line with multiple options
Automation test integration
Learning Objective: In this module, participants will learn how to setup Jenkins to run automated tests
- How to run tests with Jenkins
- How to configure reports
- UI tests
- Performance tests
Hands-On: Create and run automated UI and Performance tests in Jenkins
Jenkins on Docker setup
Learning Objective: In this module, participants will learn how to setup Jenkins on docker
- How to setup docker
- How to pull Jenkins image
- Docker commands
- Setup and run Jenkins with Docker
Hands-On: Setup and run Jenkins with docker
Jenkins maintenance and backup
Learning Objective: In this module, participants will learn how to do Jenkins maintenance
- How to change home directory
- How to take backup
- How to move Jenkins to different server
- Best Practices
Hands-On: Change home directory, take backup, move jenkins
Useful resources
Q&A | Discussion | Feedback
Lab Requirements | |
Operating System | Windows 10 or higher OR Mac OS 10.11 or higher |
CPU | 2 GHz or faster 32-bit (x86) or 64-bit (x64) processor |
Memory | 4/8 GB RAM |
Hard Drive | 5 GB available hard disk space |
Others | Participants should permission to download and install software Participants should be able to update environment variables on system Good network bandwidth |
This training is conducted by Raghav.
To check availability and confirmation send below details to training.raghav@gmail.com
Name
Education
Experience
Skill set
OS preference
Why you want to take this training
For groups & corporates, please send the following information
Dates
Location
Number of Participants
Participants background (experience level, skill set etc)
Operating System preference
Is the lab setup for hands-on