Jenkins Tutorial For Beginners: Step by Step Guides

Jenkins tutorial for beginners

Jenkins is the widely adopted open source continuous integration tool. A lot has changed in Jenkins 2.x when compared to the older version. In this Jenkins tutorial for beginner series, I will try to cover all the essential topics for a beginner to get started with Jenkins.

Jenkins is not just a Continuous Integration tool anymore. It is a Continuous Integration and Continuous delivery tool. You can orchestrate any application deployments using Jenkins with a wide range of plugins and native Jenkins workflows.

Jenkins Tutorials For Beginners

In this collection of Jenkins tutorial posts, I will be covering various Jenkins tutorials, which will help beginners to get started with many of the Jenkins core functionalities.

I have categorized the list of Jenkins beginner tutorials into multiple sections. From Jenkins installation to advanced concepts like shared libraries are covered in this tutorial list.

It is a growing list of Jenkins step-by-step guides. I will add all the latest tutorials to this list.

Jenkins Basics

In this section, you will learn the very basics of Jenkins that every beginner should know.

  1. Jenkins Architecture Explained for Beginners: In this tutorial you will learn how Jenkins work, its core componets, how Jenkins data is organized and the protocols involved in Jenkins master – agent communitcation.

Jenkins Administration Tutorials

  1. Installing and configuring Jenkins [VM & Docker]
  2. Setting up a distributed Jenkins architecture (Master and agents): This tutorial will teach you show to configure Jenkins master and agents using both SSH and JNLP methods.
  3. Configure SSL on Jenkins Server
  4. Running Jenkins on port 80
  5. Backing up Jenkins Data and Configurations
  6. Setting up Custom UI for Jenkins
  7. Setting up Jenkins Master on Kubernetes Cluster

Scaling Jenkins Agents

  1. Configuring Docker Containers as Jenkins Build Agents
  2. Scaling Jenkins Agents with Kubernetes
  3. Configuring ECS as Build Slave For Jenkins

Jenkins Pipeline Tutorials

  1. Jenkins Pipeline as Code Tutorial for Beginners: Jenkins pipeline as code helps you organized and manage all the CI/CD jenkins pipeline as code.
  2. Getting Started With Jenkins Shared Libary: Shared library is a very is mporatnt concept in Jenkins. It helps you to create re-usable pipeline code. It is a must-learn concept.
  3. Creating Jenkins Shared Library: Step by step guide on practical implementation of Jenkins shared library
  4. Beginner Guide to Parameters in Declarative Pipeline

Jenkins CI/CD Tutorials

  1. Java Continuous Integration with Jenkins
  2. Jenkins PR based builds with Github Pull Request Builder Plugin
  3. Jenkins Multi-branch Pipeline Detailed Guide for Beginners
  4. Building Docker Images Using Kaniko & Jenkins on Kubernetes

Jenkins Core Features

Let’s have look at the overview of key Jenkins 2.x features that you should know.

  1. Pipeline as Code
  2. Shared Libraries
  3. Better UI and UX
  4. Improvements in security and plugins

Pipeline as Code

Jenkins introduced a DSL by which you can version your build, test, deploy pipelines as a code. Pipeline code is wrapped around a groovy script that is easy to write and manage. An example pipeline code is shown below.

node(‘linux’){
  git url: 'https://github.com/devopscube/simple-maven-pet-clinic-app.git'
  def mvnHome = tool 'M2'
  env.PATH = "${MNHOME}/bin:${env.PATH}"
  sh 'mvn -B clean verify'
}

Using pipeline as a code you can run parallel builds on a single job on different slaves. Also, you have good programmatic control over how and what each Jenkins job should do.

Jenkinsfile is the best way to implement Pipeline as code. There are two types of pipeline as code.

  1. Scripted Pipeline and
  2. Declarative Pipeline.

Our recommendation is to use only a declarative pipeline for all your Jenkins-based CI/CD workflows as you will have more control and customization over your pipelines.

Jenkins 2.0 has a better User interface. The pipeline design is also great in which the whole flow is visualized. Now you can configure the user, password, and plugins right from the moment you start the Jenkins instance through awesome UI.

Also, Jenkins Blueocean is a great plugin that gives a great view of pipeline jobs. You can even create a pipeline using the blue ocean visual pipeline editor. Blueocen looks like the following.

Jenkins blue ocean

Jenkins Shared Libraries

Jenkins shared library is a great way to reuse the pipeline code. You can create libraries of your CI/CD code which can be referenced in your pipeline script. The extended shared libraries will allow you to write custom groovy code for more flexibility.

Here is how shared libraries work.

  1. The common pipeline shared library code is hosted on a version control system like Jenkins
  2. In Jenkins global configuration, the shared library github repo needs to be configures. This enables access to library for all the Jenkins jobs.
  3. In individual jobs, you just have to add a import statement to import the shared libararies and use it in the pipeline code. In build time, the library files will be checked out.

GitOps With Jenkins X

Jenkins X is a project from Jenkins for CI/CD on Kubernetes. This project is entirely different from normal Jenkins.

Jenkins X has the following key features.

  1. GitOps based Tekton pipelines
  2. Environment Promotion via GitOps
  3. Pull Request Preview Environments
  4. Feedback and chat on Issues and Pull Requests

Conclusion

All the Jenkins tutorials mentioned in this article will help you take your Jenkins knowledge to the next level.

Jenkins has a huge community and you can find support in different forums if you face any issues.

If you think any tutorial is missing, do let me know in the comment section. We will add it to the list.

7 Shares:
3 comments
  1. Hi, it’s really a great resource to understand jenkins better.
    Could you please make a tutorial explaining crumbs concept please

  2. Recently was asked to build an auto-deployment system for our project using Jenkins
    and I didn’t know what Jenkins was.

    Now I see this tutorials.

    Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like