4.29 out of 5
1620 reviews on Udemy

Learn DevOps: CI/CD with Jenkins using Pipelines and Docker

Use Jenkins the DevOps way. Automate your Jenkins jobs by using Jenkins Pipelines, Docker, and the Jenkins Job DSL
Edward Viaene
10,406 students enrolled
English More
Use Jenkins to perform Continuous Integration within your Software Development Lifecycle
Install Jenkins using docker
Configure Jenkins “The DevOps way”, using Docker, Jobs DSL and Jenkins Pipelines
Use plugins to integrate Jenkins with popular development software
Configure the authentication and authorization options to tighten security on your Jenkins UI

Jenkins is the most popular tool to do Continuous Integration and Continuous Delivery of your software:

  • It’s free and open source
  • It has a strong community with thousands of plugins you can use
  • Jenkins is used in a lot of companies, from startups to enterprises

This course will teach you how to use Jenkins using the Jenkins DSL and Jenkins Pipelines (Jenkinsfile). It’s a new way of using Jenkins, rather than using freestyle projects. I call it using Jenkins, the DevOps way! I’ll explain you about infrastructure as code and automation to make sure you understand how Jenkins Pipelines fits within this new way of thinking. 

I’ll show you how to integrate Jenkins Pipelines with popular software tools, like:

  • Docker
  • GitHub / Bitbucket
  • JFrog Artifactory
  • SonarQube
  • Onelogin (Using SAML)

If you’re looking for a job in the DevOps space, Jenkins is a must have skill.

coupon to get $10 free credits on DigitalOcean is provided within this course. You can use this coupon to install Jenkins on a DigitalOcean droplet.



Introduction to the Jenkins Course

Practical information

Practical information for the Jenkins course

Procedure Document

Procedure document with practical information, installation manual, and links to other resources

Course Goals

This course is a bit different than other Jenkins courses around

  • It has all to do with DevOps
    • This course has a big focus on automation, ownership and reusability
    • The developers are given the capability to automate their own jenkins build scripts by using Jenkins Pipelines
    • Using docker, a closer dev-prod parity should allow you to build software the same way locally, as on the build servers

Introduction to Jenkins

What is Jenkins (Part I)

Lecture explaining what Jenkins is

What is Jenkins (Part II)

Part II of lecture explaining what Jenkins is

Jenkins Installation

The Jenkins installation explained. Jenkins can be installed using docker on a DigitalOcean Droplet.

Demo: Jenkins installation

A demo of how to install Jenkins on a DigitalOcean Droplet using Docker

Introduction to Docker

A lecture giving you an overview of what Docker is.

Building a NodeJS app

Why a NodeJS application?

I will be using a NodeJS example application for our first job in Jenkins. This lecture explains why I'm using NodeJS.

How to build and deploy a NodeJS app

How to build and deploy a NodeJS app with npm.

1.7 Demo - Building the first application

Building a NodeJS app in Jenkins with the NodeJS Plugin

Demo - building nodejs app with Docker

This lecture explains how to package the NodeJS app we just built, as a docker image, and push it to Docker Hub.

Infrastructure as code and automation

Introduction to Infrastructure as code and automation

This lecture gives an introduction to infrastructure as code and automation. It helps frame why you should be using the Jenkins Job DSL / Pipelines rather than freestyle projects.

Jenkins Job DSL

Introduction to Jenkins Job DSL

This lecture gives an introduction of the Jenkins Job DSL

Demo: Jenkins Job DSL with NodeJS application

A demo that shows how to use the Jenkins Job DSL with a NodeJS app

Demo: Jenkins Job DSL with docker build and publish

A demo of the Job DSL using docker build and publish functionality

Jenkins Pipelines

Jenkins Pipelines Introduction

An introduction to the Jenkins Pipelines (using the Jenkinsfile)

Jenkins Pipelines vs Jenkins Job DSL

What is the difference between Jenkins Pipelines and the Job DSL

Jenkins Pipelines Example

A Jenkins Pipeline example explained, using Java and Maven

Demo: Jenkins pipelines with NodeJS and Docker

A demo of the Jenkins Pipeline using NodeJS

Build, test, and run everything in Docker containers

How to run the whole pipeline build in Docker containers

Demo: Build, test, and run everything in Docker containers

A demo showing you how you can run your whole Jenkins Pipeline in docker containers

Jenkins Integrations

Email integration

This lecture shows you how to send email notifications in Jenkins

Demo - Email integrations using Jenkins Pipelines

A demo of how to integrate email alerts when a job fails in Jenkins

Slack integration

A lecture explaining the integration of Jenkins with Slack

Demo: Slack Integration

This demo shows you how to setup a slack notification that will send a message to a Slack channel when a build fails.

GitHub and BitBucket integration

This lecture explains how you can integrate GitHub and BitBucket with Jenkins

Demo: GitHub integration with a Gradle + Java Project

This demo explains how to build a Gradle + Java project with the GitHub integration

Demo: Bitbucket integration

This demo shows the same gradle project, but now on Bitbucket

JFrog Artifactory integration

Where to keep your Artifacts? A lecture on how to integrate Artifactory

Demo: JFrog Artifactory integration

A demo showing how to integrate JFrog Artifactory with Jenkins

Custom API Integration

Sometimes there are no plugins available for the integration you want, but there is still an option to write your own Custom API integration.

Demo: Custom API Integration

A demo on how the BitBucket API can be integrated within a Jenkins Pipeline.

Sonarqube integration

If you want to continuously check on code quality, SonarQube should be integrated within Jenkins.

Demo: Sonarqube installation with docker-compose

This demo shows you how to install Sonarqube on your DigitalOcean droplet

Demo: SonarQube integration within Jenkins Pipelines

This demo explains how to scan your project and send the results to the SonarQube server.

Advanced Jenkins usage

Introduction to Jenkins Slaves

How to scale Jenkins? You can add more worker nodes! This lecture explains you how and why.

Jenkins Slaves benefits and best practices

The benefits and the best practices of using Jenkins worker nodes (Jenkins Slaves). The do's and don'ts

Demo - Jenkins slave using SSH

This demo shows you how to set up a slave using SSH on the slave.

Demo: Jenkins slave using jnlp

Windows nodes can best be set up with JNLP. This demo explains you how to setup a windows slave and a Linux slave, both with JNLP.

Blue Ocean

The new Jenkins UI is called Blue Ocean. This lecture tells you everything about it.

Demo - Blue Ocean

This demo shows you how to activate and use Blue Ocean


This lecture explains the usage of ssh-agent within Jenkinsfiles. It's always best to use ssh-agent/credentials rather than manually putting the credentials/keys in place.

demo: ssh agent

This demo shows you how to use the ssh-agent to make custom git calls to github/bitbucket.

Security best practices

Take into account these security best practices to keep your Jenkins secure.

Authentication and authorization

This lecture explains the differences between authentication and authorization

Demo: authorizations

A demo explaining how authorizations work in Jenkins

Authentication Providers for Jenkins

You can plugin authentication providers into Jenkins rather than saving the login and password in a local database. This lecture talks about OneLogin, LDAP, ActiveDirectory (AD), and SAML

Demo: Onelogin Integration with Jenkins using SAML

A demo on how to integrate Onelogin with Jenkins using SAML

The end

Congratulations on completing this course

Congratulations on completing the course

Bonus Lecture

This bonus lecture showcases my other courses

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.3 out of 5
1620 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


5 hours on-demand video
1 article
Full lifetime access
Access on mobile and TV
Certificate of Completion