Advanced Jenkins
Enable developers around the world to reliably build, test, and deploy their software
Duration
3 Days
Level
Advanced Level
Design and Tailor this course
As per your team needs
Edit Content
During this instructor-led, hands-on course, you will learn to:
- What Jenkins is and how you can configure various jobs within Jenkins?
- Connect Jenkins with other platforms such as SonarQube
- Create Triggers, Nodes, Builds, Notifications, and many more
- Use various Plugins for Monitoring, KPIs, & Performance Management
- Apply various testing methods within Jenkins
- Explore REST API, Backup & Restore in Jenkins
- Best Practises for using the Jenkins
Edit Content
This course is for professionals with the below skillset:
- Software developers
- Release engineer
- Deployment engineer
- DevOps Engineer
Edit Content
- What is CI?
- How does CI help improve software quality?
- Build Automation Basics
- Common types of builds
- Common CI Environments
- Expected outcomes when moving to CI
- History
- Features
- Overview of Jenkins Architecture
- Understanding the Jenkins build infrastructure
- Installing Jenkins on Windows
- Installing Jenkins on MAC
- Installing Jenkins on a Docker Container
- Installing Jenkins on Ubuntu
- Installing Jenkins on RHEL
- Uninstalling Jenkins
- Getting the initial password
- Installing Suggested plugins
- Creating the first user
- Manage Jenkins
- Configure System
- Understanding Quiet Period
- Project naming restrictions
- Setting up Jenkins Location and Admin Email
- Email Configuration
- Email Setup
- Global Tool Configuration
- Setup JAVA_HOME, Setup MAVEN_HOME
Types of Jobs
- Creating Freestyle Project
- Use Custom Workspace
- SVM settings
- Configuring SCM
- Setting up a git-based (github/bitbucket) project
- Build Triggers
- Build Periodically
- Cron Syntax Tricks
- Build Environment Parameters
- Email Notifications
- Building other Projects
- Archiving artifacts
- Obtaining artifacts
- Fingerprinting artifacts
- Understanding Upstream/Downstream Projects
- Updating an existing job
- Cloning an existing job
- Importing/Exporting jobs
- Creating Maven Project
- Monitor an External Job
- Multi-Configuration Job
- Adding Plugins via Plugin Manager
- Plugin Versions
- Uninstalling Plugins
- Notable plugins and their functionalities
- Recommended Plugins and their functionalities
- Blue Ocean
- Declarative vs Scripted Pipeline
- Pipeline Syntax Generator
- Understanding Jenkinsfile
- Creating scripted pipeline job
- Creating declarative pipeline job
- Simple to complex examples
- Creating and storing artifacts
- Setting up Post-Build Actions
- Setting up Test Reporting
- What is code coverage
- Why is code coverage important?
- Measuring code coverage
- Configuring Cobertura (for Java)
- Code Quality and CI
- Checkstyle (for Java)
- PMD (for Java)
- FindBugs (for Java)
- Jenkins Warning Next Generation Plugin
- Setting up SonarQube
- Integrating with SonarQube
- Email Notification
- Slack Notification
- Other type of notifications
- Parameterized Settings
- Parameterized Builds and Triggers
- Master/Slave Distributed Builds
- Joins
- Parallel Build
- Trigger Builds based on REST API
- Creating Node
- Configuring Node
- Launch Methods
- Node Properties
- Setting up Node Tools
- Using node in your jobs/pipelines
- Creating Shared Library
- Setting up in Jenkins
- Using Shared Library
- Global security setting
- JNLP Port Management
- Remember Me
- Forgeries
- Authentication
- Security Realms
- Configuring LDAP
- Active Directory
- Jenkin’s own user database
- Unix User/group database
- Authorization
- Configuring job-level permissions in Jenkins
- Matrix Based Security
- Role-Based Strategy
- Project-Based Matrix Authorization Strategy
- People vs Manage Users
- Plugins
- Audit Trail Plugin
- Job Configuration History Plugin
- Right Sizing Jenkins Masters
- Vertical growth
- Horizontal growth
- Hardware Requirements
- Memory Requirements
- Plugins which helps to monitor
- Monitoring with JavaMelody
- Build Monitor View Plugin
- Monitor Jenkins DataDog
- KPI & Performance Management
- Disk Usage Plugin vs CloudBees Disk Usage Simple
- Build History Metrics Plugin
- Metrics Plugin
- Global Build Status Plugin
- Project Statistics Plugin
- CouchDB Statistic Plugin
- InfluxDB Plugin
- Multiple Jenkins Instances
- Running multiple Instances of Jenkins in the same machine
- Triggering Jenkins jobs from one Jenkins to another
- Unit Testing
- Selenium/Web Driver Testing
- Performance Testing
- Backing up Jenkins
- Restoring Jenkins
- Triggering builds via the REST API
- Retrieving build status via the REST API
- Directory Level
- Using Plugin
- Using Jenkins CLI
Edit Content
Participants should have basic knowledge of Linux and Software development life cycle.
A basic knowledge of source code structure would be helpful.