We may earn an affiliate commission when you visit our partners.
Course image
Edward Viaene

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

Read more

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.

I explain in the course how to install Jenkins if you don't have an installed version yet. You'll need a Ubuntu 20.04.x VM or cloud instance to follow the installation procedure. In the demos I will be using DigitalOcean as a cloud provider, but you are free to use any provider or VM (VMWare/Virtualbox, AWS, Azure, Google Cloud, etc). I'll be assisting you in the Q&A if you have any problems setting up Jenkins.

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction

Introduction to the Jenkins Course

Practical information for the Jenkins course

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

Read more

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

Lecture explaining what Jenkins is

Part II of lecture explaining what Jenkins is

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

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

A lecture giving you an overview of what Docker is.

Building a NodeJS app

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 with npm.

Building a NodeJS app in Jenkins with the NodeJS Plugin

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

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

This lecture gives an introduction of the Jenkins Job DSL

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

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

Jenkins Pipelines

An introduction to the Jenkins Pipelines (using the Jenkinsfile)

What is the difference between Jenkins Pipelines and the Job DSL

A Jenkins Pipeline example explained, using Java and Maven

A demo of the Jenkins Pipeline using NodeJS

How to run the whole pipeline build in Docker containers

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

Jenkins Integrations

This lecture shows you how to send email notifications in Jenkins

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

A lecture explaining the integration of Jenkins with Slack

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

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

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

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

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

A demo showing how to integrate JFrog Artifactory with Jenkins

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

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

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

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

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

Advanced Jenkins usage

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

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

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

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.

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

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.

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

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

This lecture explains the differences between authentication and authorization

A demo explaining how authorizations work in 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

A demo on how to integrate Onelogin with Jenkins using SAML

The end

Congratulations on completing the course

This bonus lecture showcases my other courses

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches the Jenkins Job DSL and Jenkins Pipelines, which are in demand in the job market, particularly in the DevOps space
Taught by Edward Viaene, an instructor recognized for their work in DevOps
Explores infrastructure as code and automation, which are standard in industry and in DevOps
Examines security best practices, which are highly relevant to DevOps
Develops skills in using Docker, GitHub/Bitbucket, JFrog Artifactory, SonarQube, and Onelogin, which are core skills for DevOps
Requires learners to set up a Ubuntu 20.04.x VM or cloud instance with Docker, which may pose a barrier for students without access to these resources

Save this course

Save Learn DevOps: CI/CD with Jenkins using Pipelines and Docker to your list so you can find it easily later:
Save

Reviews summary

Good intro to jenkins

According to students, this course is a great introduction to Jenkins, covering just enough details to get users started.
Provides a solid foundation in Jenkins.
"Great course covering just enough details in Jenkins to give me enough knowledge to start using it."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn DevOps: CI/CD with Jenkins using Pipelines and Docker with these activities:
Compile your course materials
Compile your course materials to help you stay organized and prepared throughout the course.
Show steps
  • Gather your course materials
  • Organize your materials
  • Store your materials in a convenient location
Attend a DevOps meetup
Attend a DevOps meetup to connect with other professionals and learn about the latest trends in DevOps.
Show steps
  • Find a DevOps meetup
  • Sign up for the meetup
  • Attend the meetup
Follow a Docker tutorial
Follow a Docker tutorial to gain a deeper understanding of how Docker works and how to use it to develop and deploy applications.
Show steps
  • Find a Docker tutorial
  • Follow the tutorial steps
  • Experiment with Docker commands
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a Jenkins workshop
Attend a Jenkins workshop to learn best practices and get hands-on experience with Jenkins.
Show steps
  • Find a Jenkins workshop
  • Register for the workshop
  • Attend the workshop
Practice using Jenkins DSL
Practice using Jenkins DSL to write automation scripts for your Jenkins pipelines.
Show steps
  • Set up a practice environment
  • Create a Jenkins pipeline using the Jenkins DSL
  • Test and debug your pipeline
Build a Jenkins Pipeline using Docker
Build a Jenkins Pipeline using Docker to gain practical experience in setting up and managing Jenkins for continuous integration and delivery.
Show steps
  • Set up Docker and Jenkins
  • Create a Jenkins Pipeline using the Jenkinsfile
  • Integrate your pipeline with Docker
  • Test and deploy your pipeline
Create a blog post or presentation on Jenkins
Create a blog post or presentation on Jenkins to share your knowledge and help others learn about Jenkins.
Show steps
  • Choose a topic for your blog post or presentation
  • Write or create your content
  • Publish your blog post or presentation
Contribute to a Jenkins project
Contribute to a Jenkins project to gain experience with the Jenkins codebase and contribute to the community.
Show steps
  • Find a Jenkins project to contribute to
  • Create a pull request
  • Get your pull request merged

Career center

Learners who complete Learn DevOps: CI/CD with Jenkins using Pipelines and Docker will develop knowledge and skills that may be useful to these careers:
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. They work to improve communication and collaboration between these teams, and ensure that software is delivered quickly and efficiently. This course can help you develop the skills you need to be a successful DevOps Engineer by teaching you how to use Jenkins and other tools for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for DevOps.
CI/CD Engineer
CI/CD Engineers are responsible for designing and implementing continuous integration and continuous delivery (CI/CD) pipelines. They work with a variety of tools and technologies, including Jenkins, to automate the software development process. This course can help you build the skills you need to be a successful CI/CD Engineer by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for CI/CD.
Build and Release Engineer
Build and Release Engineers are responsible for building and releasing software applications. They work with a variety of tools and technologies, including Jenkins, to ensure that software is built and released in a timely and efficient manner. This course can help you build the skills you need to be a successful Build and Release Engineer by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for this role.
Software Engineer
As a Software Engineer, you will design, develop, and maintain software applications. This course can help you build the skills you need to succeed in this role by teaching you how to use Jenkins, a popular tool for continuous integration and continuous delivery. Jenkins can help automate the software development process, making it more efficient and reliable. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for modern software development.
Site Reliability Engineer
Site Reliability Engineers (SREs) are responsible for ensuring the reliability and performance of software systems. They work with a variety of tools and technologies, including Jenkins, to monitor and maintain systems. This course can help you build the skills you need to be a successful SRE by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for SRE.
Infrastructure Architect
Infrastructure Architects design and build the infrastructure for software applications. They work with a variety of tools and technologies, including Jenkins, to ensure that infrastructure is reliable and scalable. This course can help you build the skills you need to be a successful Infrastructure Architect by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for infrastructure architecture.
Cloud Engineer
Cloud Engineers design, build, and maintain cloud-based applications and infrastructure. They work with a variety of tools and technologies, including Jenkins, to ensure that applications are reliable and scalable. This course can help you build the skills you need to be a successful Cloud Engineer by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for cloud computing.
Automation Engineer
Automation Engineers are responsible for automating tasks and processes within an organization. They work with a variety of tools and technologies, including Jenkins, to automate the software development process. This course can help you build the skills you need to be a successful Automation Engineer by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for automation.
Quality Assurance Engineer
Quality Assurance Engineers (QAEs) are responsible for testing and ensuring the quality of software applications. They work with a variety of tools and technologies, including Jenkins, to automate the testing process. This course can help you build the skills you need to be a successful QAE by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for QA.
Systems Engineer
Systems Engineers are responsible for designing, building, and maintaining complex systems. They work with a variety of tools and technologies, including Jenkins, to ensure that systems are reliable and efficient. This course can help you build the skills you need to be a successful Systems Engineer by teaching you how to use Jenkins for continuous integration and continuous delivery. Additionally, this course covers topics such as infrastructure as code and automation, which are essential for systems engineering.
Distinguished Engineer
Distinguished Engineers are recognized for their outstanding contributions to the field of software engineering. They work with a variety of stakeholders, including developers, engineers, and customers, to ensure that software is successful. This course may be useful for building the skills needed to become a Distinguished Engineer, as it covers topics such as continuous integration and continuous delivery, which are essential for software engineering excellence.
Software Architect
Software Architects design and build the architecture for software applications. They work with a variety of tools and technologies, including Jenkins, to ensure that software is reliable and scalable. This course may be useful for building the skills needed to become a Software Architect, as it covers topics such as infrastructure as code and automation, which are essential for software architecture.
Technical Architect
Technical Architects design and build the technical architecture for software applications. They work with a variety of tools and technologies, including Jenkins, to ensure that software is reliable and scalable. This course may be useful for building the skills needed to become a Technical Architect, as it covers topics such as infrastructure as code and automation, which are essential for technical architecture.
Principal Engineer
Principal Engineers are responsible for leading and mentoring other engineers. They work with a variety of stakeholders, including developers, engineers, and customers, to ensure that software is successful. This course may be useful for building the skills needed to become a Principal Engineer, as it covers topics such as continuous integration and continuous delivery, which are essential for engineering leadership.
Project Manager
Project Managers are responsible for planning, executing, and delivering software projects. They work with a variety of stakeholders, including developers, engineers, and customers, to ensure that projects are successful. This course may be useful for building the skills needed to become a Project Manager, as it covers topics such as continuous integration and continuous delivery, which are essential for project management.

Reading list

We've selected eight books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn DevOps: CI/CD with Jenkins using Pipelines and Docker.
Practical guide to implementing DevOps in organizations. It covers topics such as culture, process, and technology, and provides case studies from real-world organizations.
Comprehensive guide to Jenkins, covering topics such as installation, configuration, and plugin development. It valuable resource for anyone who wants to learn more about Jenkins.
Provides a comprehensive overview of Docker, including the basics of containerization, image management, and networking. It valuable resource for anyone who wants to learn more about Docker.
Provides a comprehensive overview of microservices, including the benefits, challenges, and best practices. It valuable resource for anyone who wants to learn more about microservices.
Provides a comprehensive overview of continuous integration, including the benefits, challenges, and best practices. It valuable resource for anyone who wants to learn more about continuous integration.
Novel that tells the story of a team of IT professionals who are struggling to implement DevOps in their organization. It valuable resource for anyone who wants to learn more about DevOps in a practical and engaging way.
Provides a comprehensive overview of site reliability engineering, including the principles, practices, and tools used by Google to ensure the reliability of its production systems.
Provides a practical guide to building and scaling high performing technology organizations. It covers topics such as culture, process, and technology, and provides case studies from real-world organizations.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Learn DevOps: CI/CD with Jenkins using Pipelines and Docker.
Deploying Java-Maven Application With Jenkins CI/CD Tool
Most relevant
Jenkins, From Zero To Hero: Become a DevOps Jenkins Master
Most relevant
Devops: Jenkins Pipeline As Code: All you need to know A ...
Most relevant
DevOps: CI/CD with Jenkins pipelines, Maven, Gradle
Most relevant
SDET / Test Automation Architect Masterclass [Hands-On]
Most relevant
Build and Deploy Pipelines with Microsoft Azure
Most relevant
Continuous Integration & Continuous Deployment with...
Most relevant
Using Declarative Jenkins Pipelines
Most relevant
Learn Github Actions for CI/CD DevOps Pipelines
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser