Jenkins

About

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.

Delivery Method:

     Instructor
     Hands on Lab

Duration of Boot Camp:

                          2 day

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
  • Running Jenkins as a Stand-Alone Application
  • Running Jenkins on an Application Server
  • The Jenkins Home Folder
  • Installing Jenkins as a Windows Service
  • Initial Configuration
  • Configuration Wizard
  • Configuring Tools
  • Configuring Tools – Best Practices

JOB TYPES IN JENKINS

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

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
  • Jenkins Plugins – SCM
  • Jenkins Plugins – Build and Test
  • Jenkins Plugins – Analyzers
  • Jenkins for Teams
  • Installing Jenkins Plugins

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 – Backups
  • Best Practices – Reproducible Builds
  • Best Practices – Testing and Reports
  • Best Practices – Large Systems
  • Best Practices – Distributed Jenkins