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

Last updated 2022-01-10 | 4.4

- 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

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

* Requirements

* 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

Description

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

Course content

9 sections • 52 lectures

Introduction Preview 03:00

Introduction to the Jenkins Course

Practical information Preview 01:04

Practical information for the Jenkins course

Procedure Document Preview 01:22

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

Course Goals Preview 01:23

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

What is Jenkins (Part I) Preview 03:48

Lecture explaining what Jenkins is

What is Jenkins (Part II) Preview 04:44

Part II of lecture explaining what Jenkins is

Jenkins Installation Preview 03:12

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

Demo: Jenkins installation Preview 08:34

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

Introduction to Docker Preview 06:02

A lecture giving you an overview of what Docker is.

Why a NodeJS application? Preview 02:20

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 Preview 02:46

How to build and deploy a NodeJS app with npm.

1.7 Demo - Building the first application Preview 08:45

Building a NodeJS app in Jenkins with the NodeJS Plugin

Demo - building nodejs app with Docker Preview 13:21

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

Introduction to Infrastructure as code and automation Preview 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 Jenkins Job DSL Preview 04:33

This lecture gives an introduction of the Jenkins Job DSL

Demo: Jenkins Job DSL with NodeJS application Preview 07:58

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

Demo: Jenkins Job DSL with docker build and publish Preview 08:22

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

Jenkins Pipelines Introduction Preview 02:28

An introduction to the Jenkins Pipelines (using the Jenkinsfile)

Jenkins Pipelines vs Jenkins Job DSL Preview 03:50

What is the difference between Jenkins Pipelines and the Job DSL

Jenkins Pipelines Example Preview 03:18

A Jenkins Pipeline example explained, using Java and Maven

Demo: Jenkins pipelines with NodeJS and Docker Preview 11:18

A demo of the Jenkins Pipeline using NodeJS

Build, test, and run everything in Docker containers Preview 02:30

How to run the whole pipeline build in Docker containers

Demo: Build, test, and run everything in Docker containers Preview 11:19

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

Email integration Preview 02:44

This lecture shows you how to send email notifications in Jenkins

Demo - Email integrations using Jenkins Pipelines Preview 12:20

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

Slack integration Preview 06:03

A lecture explaining the integration of Jenkins with Slack

Demo: Slack Integration Preview 06:55

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 Preview 01:22

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

Demo: GitHub integration with a Gradle + Java Project Preview 11:54

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

Demo: Bitbucket integration Preview 06:30

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

JFrog Artifactory integration Preview 02:45

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

Demo: JFrog Artifactory integration Preview 15:23

A demo showing how to integrate JFrog Artifactory with Jenkins

Custom API Integration Preview 01:35

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 Preview 11:01

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

Sonarqube integration Preview 02:52

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

Demo: Sonarqube installation with docker-compose Preview 06:58

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

Demo: SonarQube integration within Jenkins Pipelines Preview 05:52

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

Introduction to Jenkins Slaves Preview 04:30

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

Jenkins Slaves benefits and best practices Preview 03:24

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

Demo - Jenkins slave using SSH Preview 11:04

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

Demo: Jenkins slave using jnlp Preview 04:00

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 Preview 01:33

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

Demo - Blue Ocean Preview 05:04

This demo shows you how to activate and use Blue Ocean

ssh-agent Preview 02:36

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 Preview 07:46

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

Security best practices Preview 04:07

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

Authentication and authorization Preview 03:25

This lecture explains the differences between authentication and authorization

Demo: authorizations Preview 04:49

A demo explaining how authorizations work in Jenkins

Authentication Providers for Jenkins Preview 03:43

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 Preview 07:34

A demo on how to integrate Onelogin with Jenkins using SAML

Congratulations on completing this course Preview 00:51

Congratulations on completing the course

Bonus Lecture Preview 02:49

This bonus lecture showcases my other courses