To attend this course you must have a good command line knowledge of Linux or Unix as we will be using the Linux operating system to perform the work. The course can be tailored to work on WIndows systems if you are using your own platform. The approach of this course is to take you through setting up a Jenkins controller and agent nodes right through to managing the server components and jobs for your pipelines.

ON COMPLETION

  • Understand how Jenkins fits in to the DevOps tool set
  • Jenkins terminology
  • Plan and install an enterprise Jenkins environment
  • Understand how to manage plugins and find their automated name
  • Review Jenkins security options and enable matrix security for jobs
  • Create Jenkins jobs
  • Manage Jenkins jobs and review console output and workspace
  • Understand where Jenkins stores files on the Operating System
  • Link Jenkins to version control systems such as Git
  • Target agent nodes for specific jobs
  • Integrate tools to enable CI/CD
  • Creating Jenkins CI/CD pipelines using Maven example
  • Integrating tools to perform Continuous Deployment
  • Plugins and what they do, and what to do if there is no plugin
  • Using Webhooks to better automate your projects
  • Improve Jenkins performance and good practices
  • Integration with collaboration tools, e.g. Slack, Email
  • Backup and reinstall Jenkins
  • Jenkins with Docker and Kubernetes

WHO SHOULD ATTEND?

You should attend if you are planning a new DevOps venture, or want to improve your Jenkins configuration within your business. We will take you right from the beginning of what Jenkins is and can do for your DevOps processes, installing and configuring an enterprise ready Jenkins set up, and through to securing and managing your jobs. We will also touch on the use of Jenkins in Docker and Kubernetes.

COURSE WORK

The aim of this course is to provide a hands on approach to working with Jenkins and providing as much time for you to get your hands dirty and fix any problems that may occur during the course. The sessions will consist of some theory to understand the concepts of Jenkins, but mostly you'll be following examples either instructor lead, or through lab exercises.

PRE-REQUISITS

A good understanding of Linux and/or Windows as you will need to write some commands at the command line both for setting up and for Jenkins jobs, although most of the commands will be provided. You should be compitent in using a web browser and the Internet as you may need to look up answers or find software to install.

DURATION: 3 DAYS

PRICE: Call for latest

1st Day: Start 9:00am - Finish
5:00pm
Subsequent Days: Start
9:00am - Finish 5:00pm

COURSE CONTENT

What is Jenkins?

Understand where Jenkins came from, what it is, busting the complicated myth, how it fits into your CI/CD & CD pipelines. We'll also discuss other scenarios of what Jenkins can do, that most people haven't thought about.

Installing and configuring Jenkins

Here you will get your hands on installing a Jenkins controller, identifying what plugins you will need to get started, and setting up the admin user. You will then log in and take a tour of the user interface.

Creating your first Jenkins job

Before we go deeper in to Jenkins we will create our first simple job and look at the features of a job, such as viewing the console and workspace, adding parameters and using variables.

Adding and managing plugins

Here you will investigate how to install, manage and maintain Jenkins plugins. You will set up plugins for Java, Maven, publishing artefacts, and more. We will then use these plugins during the rest of the course. As part of this section we will also look at Jenkins plugin documentation so that you can automate the installation of plugins.

Jenkins security

In this module you will discover how to add authentication to your Jenkins server. We will show you what is available, and then we will configure our server to use a job matrix.

Jenkins file system

In this section you will take a look behind the scene at your Jenkins controller and what the directory layout of Jenkins is, and essential files. You will also identify what you will need to back up, and what can be used to recreate your controller if you need to rebuild.

Building a Jenkins Agent

In this module you will create a Jenkins agent node that will be used to compile Java applications.

Building a Jenkins Job using Git

Here you will create a Jenkins job from a Git repository. This will be a Java Spring Boot project which will be compiled using Maven. You will then publish the final artefact through Jenkins. You will configure this job to use the agent node and not the controller.

Working with branches

In this module you will understand how Jenkins can build from different branches. You'll be able to define which branches to build and also target branches.

What is on the Agent node?

As with the controller we will look behind the scenes of the agent node to see what is stored on this node, and we'll see what is stored on the controller.

Jenkins CI/CD Pipelines

What is a Jenkins pipeline, and how does it differ from a Jenkins job? We will change our Java application into a Jenkins pipeline to perform a CI/CD process.

Jenkins CD Pipelines

In this module you will discover how Jenkins can be used to perform the deployment of your application. As you'll discover, just like any other job/pipeline it's all about interactions with the right software.

Jenkins Best Practices

In this section we will discuss some of the configuration settings and environment set up methods that can help improve your CI/CD & CD environment using Jenkins.

Backup and Reinstall Jenkins

Here we will back up the essential files and folders required to recreate your Jenkins system. We will then remove Jenkins from both controller and agent nodes and rebuild to the point where we can run our jobs and produce the latest artefact.

Jenkins in Docker and Kubernetes

In this final module we will look at how you could use Docker to run your Jenkins controller and agents, and discuss how systems such as Kubernetes can use Jenkins.