O'Reilly logo
live online training icon Live Online training

Introduction to Docker CI/CD

How to automate your DevOps pipeline

Sean Kane

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.

Prerequisites

  • Basic comfort with the Unix command line is helpful.
  • Comfort working with Docker images and containers.

Recommended preparation:

About your instructor

  • Sean P. Kane is currently Lead Site Reliability Engineer at New Relic. He has had a long career in production operations, with many diverse roles across a broad range of industries. In addition to spending his spare time writing, teaching, and speaking about modern production operations, Sean is an avid traveler, hiker, and camper. He lives in the US Pacific Northwest with his wife, children, and dog(s).

Schedule

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
  • BREAK

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
  • BREAK

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
  • Review