Learn DevOps: CI/CD with Jenkins using Pipelines and Docker
4.3 (4,715 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
30,140 students enrolled

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
4.3 (4,715 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
30,140 students enrolled
Created by Edward Viaene
Last updated 6/2020
English, French [Auto], 5 more
  • German [Auto]
  • Indonesian [Auto]
  • Italian [Auto]
  • Portuguese [Auto]
  • Spanish [Auto]
This course includes
  • 4.5 hours on-demand video
  • 1 article
  • Access on mobile
  • Certificate of Completion
What you'll learn
  • 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
Course content
Expand all 52 lectures 04:41:05
+ Introduction
4 lectures 06:37

Introduction to the Jenkins Course

Preview 03:00

Practical information for the Jenkins course

Practical information

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

Procedure Document

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
Course Goals
+ Introduction to Jenkins
5 lectures 26:20

Lecture explaining what Jenkins is

Preview 03:48

Part II of lecture explaining what Jenkins is

Preview 04:44

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

Preview 03:12

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

Demo: Jenkins installation

A lecture giving you an overview of what Docker is.

Preview 06:02
+ Building a NodeJS app
4 lectures 27:12

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

Preview 02:20

How to build and deploy a NodeJS app with npm.

How to build and deploy a NodeJS app

Building a NodeJS app in Jenkins with the NodeJS Plugin

1.7 Demo - Building the first application

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

Demo - building nodejs app with Docker
+ Infrastructure as code and automation
1 lecture 03:51

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.

Introduction to Infrastructure as code and automation
+ Jenkins Job DSL
3 lectures 20:53

This lecture gives an introduction of the Jenkins Job DSL

Introduction to Jenkins Job DSL

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

Demo: Jenkins Job DSL with NodeJS application

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

Demo: Jenkins Job DSL with docker build and publish
+ Jenkins Pipelines
6 lectures 34:43

An introduction to the Jenkins Pipelines (using the Jenkinsfile)

Jenkins Pipelines Introduction

What is the difference between Jenkins Pipelines and the Job DSL

Jenkins Pipelines vs Jenkins Job DSL

A Jenkins Pipeline example explained, using Java and Maven

Jenkins Pipelines Example

A demo of the Jenkins Pipeline using NodeJS

Demo: Jenkins pipelines with NodeJS and Docker

How to run the whole pipeline build in Docker containers

Build, test, and run everything in Docker containers

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

Demo: Build, test, and run everything in Docker containers
+ Jenkins Integrations
14 lectures 01:34:14

This lecture shows you how to send email notifications in Jenkins

Email integration

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

Demo - Email integrations using Jenkins Pipelines

A lecture explaining the integration of Jenkins with Slack

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.

Demo: Slack Integration

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

GitHub and BitBucket integration

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

Demo: GitHub integration with a Gradle + Java Project

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

Demo: Bitbucket integration

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

JFrog Artifactory integration

A demo showing how to integrate JFrog Artifactory with Jenkins

Demo: JFrog Artifactory 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.

Custom API Integration

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

Demo: Custom API Integration

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

Sonarqube integration

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

Demo: Sonarqube installation with docker-compose

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

Demo: SonarQube integration within Jenkins Pipelines
+ Advanced Jenkins usage
13 lectures 01:03:35

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

Introduction to Jenkins Slaves

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

Jenkins Slaves benefits and best practices

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

Demo - Jenkins slave using SSH

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.

Demo: Jenkins slave using jnlp

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

Blue Ocean

This demo shows you how to activate and use Blue Ocean

Demo - 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.


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

demo: ssh agent

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

Security best practices

This lecture explains the differences between authentication and authorization

Authentication and authorization

A demo explaining how authorizations work in Jenkins

Demo: authorizations

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

Authentication Providers for Jenkins

A demo on how to integrate Onelogin with Jenkins using SAML

Demo: Onelogin Integration with Jenkins using SAML
+ The end
2 lectures 03:40

Congratulations on completing the course

Congratulations on completing this course

This bonus lecture showcases my other courses

Bonus Lecture
  • You should have an understanding about software development in general
  • You'll need to be able to install Jenkins on a PC or Cloud instance. A coupon code for $10 free credit on DigitalOcean is provided

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.

Who this course is for:
  • Anyone who is exposed to software delivery: Developers, System Administrators, DBAs, Managers