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.

Connect

we'd love to have your feedback on your experience so far