From the author of Get into DevOps, the learning blog trusted by over 18,000 DevOps professionals every month:
Learn how to build a Continuous Integration pipeline for your application. Welcome to Best Practices for Docker with Jenkins.
This course is your turn-key solution to using Docker with Jenkins. Through practical demos and tutorials, you will learn how to build Dockerfiles and Jenkinsfiles, and how to configure Jenkins to build Docker images automatically with a Continuous Integration pipeline.
If you haven’t used Docker or Jenkins before, don’t worry – we will cover the fundamentals of both of them from the ground up, so you don’t need prior knowledge on either. This course will also teach you more advanced topics like how to use Docker to simplify Jenkins dependency management while building more traditional software artefacts like JAR files.
Throughout the years I have had to learn many quirks and gotchas of Docker and Jenkins through trial and error. I’ve collected my knowledge on this course so you don’t have to.
Did you know that DevOps is one of the most sought-after set of skills in the job market right now, with tens of thousands of open roles globally. According to PayScale, the median DevOps salary in the U.S. is $90,361 per year. The best DevOps specialists on the market can name their price, and often earn more than $200,000 in a year. The best time to start learning DevOps was 5 years ago – the second best time is now!
Join thousands of satisfied students, and enroll now!
Introduction
Learn the objectives and outline of this course.
Learn the required user accounts and installed software to complete the assignments and tutorials on this course.
Learn how to use the terminal, where most of the tutorials on this course are completed.
Learn where to find the code examples for this course. As a student, you are free to use all code examples in your own work or hobby projects.
Understanding Docker
After this lesson, you will understand the fundamentals of Docker.
After this lesson, you will know the differences and key features of Docker images and containers.
After this lesson, you will understand the basic structure and purpose of a Dockerfile.
After this lesson, you will know the differences between Docker networking types.
After this lesson, you will understand how to preserve data inside a Docker container, using Bind Mounts and Docker Volumes.
After this lesson, you will understand what Docker Registries are used for.
After this lesson, you will know the purpose of Docker Compose and Composefiles.
This lesson includes links to installation instructions for Docker on different platforms.
Understanding Jenkins
After this lesson, you will understand the fundamentals of Jenkins.
After this lesson, you will know the key components of a Jenkins setup.
After this lesson, you will understand the differences between Jenkins job types.
After this lesson, you will understand the purpose of a Jenkinsfile.
After this lesson, you will know basics of how the Jenkins plugin system works.
After this lesson, you will understand where secrets should be stored in Jenkins pipelines.
After this lesson, you will understand what Jenkins Blue Ocean is.
After this lesson, you will be able to run Jenkins on your workstation as a Docker container.
After this lesson, you will know how to install Jenkins on an Ubuntu server.
After this lesson, you will be able to configure Jenkins to support building Docker images.
Building Docker images with Jenkins
This lesson will outline the Continuous Integration pipeline we will be building.
After this lesson, you will know how to create a Git repository in GitHub, and prepare it for building a Continuous Integration pipeline.
After this lesson, you will know how to build a Dockerfile.
After this lesson, you will know how to build a Jenkinsfile.
After this lesson, you will know how to create a Jenkins Pipeline job, hook it into our Jenkinsfile, and set it up to trigger automatically on repository changes. You will also learn how to add a new stage in our Continuous Integration pipeline.
Best Practices
This lesson outlines the purpose of the Best Practices section.
After this lesson, you will understand why and how to secure Jenkins.
After this lesson, you will understand how Docker can be used to manage Jenkins build dependencies for all projects - not just projects where Docker images are being built.
After this lesson, you will understand what are the best practices for managing user permissions inside Docker containers with Jenkins.
After this lesson, you will understand how to build, test and tag feature branches.
After this lesson, you will understand how to use different Docker Registries.
After this lesson, you will know how to create a Slack webhook to post automatic notifications on pipeline failure.
After this lesson, you will know how to create a cleanup job to keep Jenkins from running out of disk space when building Docker images.
Afterword & next steps
This lesson has links to additional documentation.
This lesson has discount codes for some of my other courses.