liveBook · Manning

Containerized ci

As explained in Learn Docker in a Month of Lunches, Second Edition

Containerized CI is continuous integration in which build and test environments are provided by containers.

Containerized CI supplies the build environment through containers, so developers and CI can run the same Docker-based build without installing the application SDK locally. This reduces build-server maintenance and makes pipelines easier to move between services such as Jenkins, Docker Hub, GitHub Actions, and Azure DevOps. section 11.4

A practical containerized CI build follows this workflow:

  • Keep the Jenkins pipeline, Dockerfiles, Compose files, and build scripts in source control. section 11.4
  • Run the same Docker Compose build command used locally, adding --pull to retrieve current base images and detect breaking image changes early. section 11.4
  • Capture Docker and Compose output in the CI logs, then inspect produced images through a container registry API. section 11.4

How Learn Docker in a Month of Lunches, Second Edition covers it

How deep it goes
Explains the workflow through Jenkins configuration, a shell script, Compose commands, logs, and registry queries.
Examples
Uses a .NET random-number application, a Jenkins build stage, Docker Compose scripts, build logs, and registry API requests.
What it assumes
Assumes familiarity with Docker, Docker Compose, Dockerfiles, and basic Jenkins jobs, while avoiding a requirement for local .NET SDK installation.
What you can do after
Builds a CI job that reproduces local Docker Compose builds and records their output in Jenkins.
How it connects
Connects Docker, Docker Compose, multi-stage Dockerfiles, Jenkins, source control, managed build services, and container registries.

This explainer was generated by Manning's knowledge graph from the text of Learn Docker in a Month of Lunches, Second Edition. The section links point to the parts of the book it draws on.