Jenkins for Developers

DevOps

Prerequisites 

● A foundational understanding of IT infrastructure

● Knowledge of Unix/Linux operating system

● Basic knowledge about Software Development Life Cycle

● Laptop (4 GB RAM, 4 core) with good internet (10Mbs +)

 

Learning outcomes 

● Learn what is Jenkins and get started working with Jenkins


Duration: 4 Days (32 Hours)

Venue: Classroom Based/Virtual Instructor-Led Training

man in black crew neck t-shirt using black laptop computer

Course Outline


Jenkins Topics      

Day1 

 

Getting started with Jenkins

Jenkins Fundamentals

·      What is Jenkins

·      Why do you need Jenkins?

 

 

• Install Jenkins

·      Install Jenkins on a VM

·      Understanding the jenkins installation better

o  What are the directories created?

o  Where are they created?

• Basic concepts in Jenkins

·      Understanding the Jenkins Dashboard

o  Jobs

o  Agents

o  Quick Access

o  Admin

·      Jobs/Projects

o  What are Jobs

o  Types of Jobs

o  Quick discussion on Free Style Project

 Introduction to Jenkins Build Jobs

 Build a freestyle software project

 Source code configuration

 Build Triggers

 Scheduling Build Jobs

 Adding a build step: Post-build action

 Running your Build Jobs

 Working with Maven

 Running jobs in parallel

·      Best practices

·      Advantages and Challenges with running jobs in parallel

  • Chaining jobs
  • Upstream and downstream

.    Nodes

o  Overview of a typical jenkins setup in Organization

·      Simple job

o  Create a simple job

o  Execute the job

o  See the logs

o  Re-execute jobs

o  Impact of passing and failing jobs on dashboard.

·      Jenkins Architecture

o  Quick walkthrough of the various folders in .jenkins

·      Overview of how does it work?

 

Manage Nodes

Master Slave Architecture

·      Why do you need Master Slave Architecture?

·      Adding Node

o  Different ways to add nodes

o  Add Node to the Jenkins Master using ssh

o  How it works?

o  Master to agent connections

o  Agent to master connections

o  Choosing which agent pipelines and steps run on

• Configuring and Managing Nodes

o  Launching Agent

o  Node labels

• Distributing and Binding jobs to the Nodes

 

Day2

 

Plugins

• Introduction to Plugins

• Integrating Plugins with Jenkins

• Managing and Upgrading Plugins

• Commonly used Plugins

• Install and use a plugin.

           Various ways to install plugin

  •            When and why you would choose each options


Using Jenkins

• Managing credentials

·      Using credentials

o  Install Credentials Binding plugin

o  Configure credentials

o  Use it in a job

• Referencing Jobs

• Aborting Build

 

Day 3

 

Pipeline

• Introduction to Pipeline

o  Pipeline script

o  Pipeline script from SCM

 

• Jenkinsfile

• Running Pipeline

• Pipeline syntax

• Parameterizing a pipeline

• Pipeline Best Practices

• Scaling Pipeline

• Overview of Docker

• Setup a pipeline

o  Download the code from git

o  Build it using Maven

o  Create a Docker Image

o  Run a docker container from the image

o  Execute test cases based on the docker image.

 

 

Backup and Retore of Jenkins

 

Integration with common services

• Do the following using pipelines

  • Git
  • SonarQube
  • Maven
  • Junit
  • Ansible
  • Docker
  • Jacoco
  • Terraform

 

Day4

 

Overview of Kubernetes

 

·      CI/CD with Jenkins

Do the following using pipelines

·      Build a HelloWorld application on java/SpringBoot

·      Dockerize it

·      Setup a webhook to trigger a job in Jenkins which would

·      Download the code from github

·      build using maven

·      Run automated dummy tests

·      Static analysis using SonarQube

·      Push the image into DockerHub

·      Deploy it into Kubernetes orchestrated (AKS) environment.


CONTACT US