Jenkins is the most popular tool to do Continuous Integration and Continuous Delivery of your software:
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.
Introduction to the Jenkins Course
Practical information for the Jenkins course
Procedure document with practical information, installation manual, and links to other resources
This course is a bit different than other Jenkins courses around
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.
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.
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.
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
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
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.
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
Congratulations on completing the course
This bonus lecture showcases my other courses
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.
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.