About The Program

Jenkins helps to automate the non-human part of the whole software development process, with now common things like continuous integration, but by further empowering teams to implement the technical part of a Continuous Delivery. It is a server-based system running in a servlet container such as Apache Tomcat. It supports SCM tools including AccuRev, CVS, Subversion, Git, Mercurial, Perforce, Clearcase and RTC, and can execute Apache Ant, Apache Maven and sbt based projects as well as arbitrary shell scripts and Windows batch commands.

Course Objective

  • Gain a comprehensive understanding of Jenkins and its key features.
  •  Learn to create and configure Jenkins jobs and pipelines for efficient software development processes.
  • Master the integration of Jenkins with version control systems, build tools, and deployment platforms.
  • Acquire the skills to implement continuous integration and continuous delivery (CI/CD) pipelines using Jenkins.
  • Develop the ability to troubleshoot and optimize Jenkins setups for improved performance and reliability.

Program Outcome

Upon completion of a Jenkins course, participants can expect the following outcomes:

  • Proficiency in setting up and configuring Jenkins for automated software builds, tests, and deployments.
  •  Ability to create and manage Jenkins pipelines using Scripted or Declarative syntax.
  • Understanding of integrating Jenkins with version control systems, build tools, and deployment platforms.
  • Competence in implementing CI/CD practices using Jenkins to achieve faster and more reliable software delivery.
  •  Proficient troubleshooting skills to identify and resolve common issues in Jenkins setups.

Course Content

Introduction To Continuous Integration, Continuous Depoloyment And Jenkins-ci

  • What is Continuous Integration
  • Typical Setup for Continuous Integration
  • Continuous Deployment
  • DevOps and Continuous Deployment
  • Continuous Deployment Challenges
  • Jenkins Continuous Integration
  • Jenkins Features
  • Running Jenkins

Installing And Running Jenkins

  • Downloading and Installing Jenkins
  • The Jenkins Home Folder
  • Initial Configuration
  • Configuration Wizard
  • Configuring Tools
  • Configuring Tools – Best Practices

Job Types & CLI & API

  • Introduction
  • Different types of Jenkins Items
  • Configuring Source Code Management(SCM)
  • Working with Git
  • Storing Credentials
  • Build Triggers
  • Schedule Build Jobs
  • Polling the SCM
  • Maven Build Steps
  • Continuous Deployment
  • CLI & API

Securing Jenkins

  • Jenkins Security – Overview
  • Jenkins Security
  • Authentication
  • Authorization
  • Confidentiality
  • Activating Security
  • Configure Authentication
  • Using Jenkins’s Internal User Database
  • Creating Users
  • Authorization
  • Matrix-Based Security
  • Note – Create the Administrative User
  • Project-based Matrix Authorization
  • Project-Based Authentication

Jenkins Plugin

  • Introduction
  • Installing Jenkins Plugins
  • Jenkins Plugins – SCM
  • Jenkins Plugins – Build and Test
  • Jenkins Plugins – Analyzers
  • Git Webhook
  • Parallel Build
  • Parameterized Projects
  • Build Pipeline View
  • Custom Email Notification
  • Jenkins for Teams

Distributed Builds With Jenkins

  • Distributed Builds – Overview
  • Distributed Builds – How?
  • Slave Machines
  • Configure Jenkins Master
  • Configure Projects

Continuous Deployment And The Jenkins Pipeline

  • Continuous Deployment
  • DevOps and Continuous Deployment
  • Continuous Deployment Challenges
  • Continuous Deployment with Jenkins
  • The Pipeline Plugin
  • Defining a Pipeline
  • A Pipeline Example
  • Parallel Execution
  • Creating a Pipeline
  • Invoking the Pipeline
  • Interacting with the Pipeline

Best Practices For Jenkins

  • Best Practices – Secure Jenkins
  • Best Practices – Reproducible Builds
  • Best Practices – Testing and Reports
  • Best Practices – Large Systems
  • Best Practices – Distributed Jenkins
All Rights Reserved © 2018 DevOps TechLab