B. Blue Green a software delivery tutorial
Vol. I § Zero-downtime series § A series for junior developers
Zero-downtime delivery · 4 / 10 ·

A private registry and tag rules

A private registry holds images you do not send to the public internet. The lab uses registry.titikterang.local:5000.

Two tag shapes

  • Live release: v1.2.3
  • Candidate: v1.2.4-dev

The playbook refuses to push a candidate onto a live production slot. The rule is simple: a tag without a -dev suffix is a release that already passed tests.

Slot playground · pipeline
gitbuildregistryplaybook
A git push starts the path.
  1. A git push starts the path.
  2. The base image, then the app image, is built.
  3. The image is pushed to registry.titikterang.local:5000.
  4. CI runs ansible-playbook against the idle slot.

Push the image only after the base build and the app build succeed. The playbook then pulls that same tag.

Reader notes

Chapter discussion appears once Giscus is connected to the site repository.