Introduction to Docker CI/CD
How to automate your DevOps pipeline
Topic: System Administration
Containers are often advertised as solving a multitude of problems relating to delivering and maintaining highly available software in the always-on, global environment that most organizations must serve today, but how can they actually help you? What problems are you actually experiencing that can be solved with containers and its closely related technologies?
After becoming comfortable with using containers in your day-to-day development workflow, the next step is to take containers deeper into your DevOps pipeline. In this class, we will use Docker Compose to help us set up a fully functioning containerized CI/CD pipeline on our local development systems.
The resulting setup will allow each student to write some code, check that code into a git repo, and then watch that code get automatically built, tested, and potentially deployed, using containers for everything.
What you'll learn-and how you can apply it
By the end of this live, hands-on, online course, you’ll understand:
- How to use Docker to automate your DevOps pipeline
And you’ll be able to:
- Launch a private git-based source code repository (Gogs)
- Launch a private Docker repository (Docker Distribution)
- Launch a private CI/CD instance (Jenkins)
- Configure the components to work together
- Automate the DevOps Pipeline
This training course is for you because...
- You need to understand how to leverage containers to build a simple and reliable DevOps pipeline.
- Basic comfort with the Unix command line is helpful.
- Comfort working with Docker images and containers.
- A modern computer and OS
- Recent Linux, OS X, or Windows 10
- root/admin rights
- CPU Virtualization extensions MUST be enabled in your BIOS/EFI
- Reliable and fast internet connectivity
- Docker Desktop or Engine (Community Edition)
- Linux users need to also install Docker Compose, separately.
- A graphical web browser
- A text editor
- A software package manager
- Git client
- General comfort with the command line will be helpful.
- Optionally, have the following command-line tools installed: tar, wget, curl, jq, and an SSH client
- Introduction to Docker images (live online training course with Sean Kane)
- Introduction to Docker containers (live online training course with Sean Kane)
- Introduction to Docker compose (live online training course with Sean Kane)
About your instructor
Sean Kane is a lead site reliability engineer at New Relic. He's had a long career in production operations, with many diverse roles across a broad range of industries. Sean is the lead inventor on a container-related patent and spends a lot of his spare time writing, teaching, and speaking about modern production operations. He is an avid traveler, hiker, and camper and lives in the US Pacific Northwest with his wife, children, and dogs.
The timeframes are only estimates and may vary according to how the class is progressing
Introduction (15 minutes)
- Presentation: Docker Terminology
Overview (45 minutes)
- Exercise: Testing the environment
- Presentation: Overview of the workflow
Launch and Setup (60 minutes)
- Presentation: Overview of the Compose Setup
- Exercise: Launching the Services
- Exercise: Configuring Gogs
- Exercise: First code commit
- Exercise: Test Docker Distribution
Wiring and Testing (60 minutes)
- Exercise: Configuring Jenkins
- Exercise: Creating the Jenkins job
- Exercise: Build the code
- Exercise: Create a webhook
- Exercise: Test the pipeline