jargon

Platform & DevOps·topic 6 of 9

Pipelines, promotion and GitOps

Between a merged pull request and a running process there is a machine you did not write, moving an artefact through environments. These are the words for that machine, for what it is allowed to promote, and for who pulls versus who pushes.

Read in order · tick what you already know

  1. 01

    a merge triggers a sequence of stages on someone else's machine, and the sequence is now the only way anything reaches production.

    Build pipeline

  2. 02

    the pipeline definition lives in the repository it builds, so changing it is a pull request rather than a click.

    Pipeline as code

  3. 03

    the job waits in a queue because every machine that could run it is busy, and nobody thinks of that as capacity.

    Pipeline runner

  4. 04

    the build runs on your own machines so it can reach the private network, and now you own patching and isolating it.

    Self-hosted runner

  5. 05

    the pipeline produces one file with one version, and everything downstream refers to that file rather than rebuilding.

    Build artefact

  6. 06

    every build output is stored somewhere with a version and a retention policy, and deploying is a pull from there.

    Artefact registry

  7. 07

    the exact bytes tested in staging are the bytes that run in production, with only the configuration differing.

    Build once, deploy many

  8. 08

    the same version moves from staging to production by changing a reference, and no build runs to make that happen.

    Artefact promotion

  9. 09

    it worked in staging and broke in production, because staging had one replica, no mesh and a different database size.

    Environment parity

  10. 10

    opening the pull request created a whole running copy at its own URL, and merging it destroyed the copy.

    Ephemeral environment

  11. 11

    nobody has credentials to deploy; an agent in the cluster watches a repository and makes reality match it.

    GitOps

  12. 12

    what is deployed lives in a separate repository from the code, and the commit history there is the deployment history.

    Config repository

  13. 13

    the cluster reaches out to fetch what it should be running, so the pipeline never needs credentials into production.

    Pull-based deployment

  14. 14

    the pipeline holds a production credential and applies the change itself, and the job's log tells you exactly what happened.

    Push-based deployment

  15. 15

    someone scaled the deployment by hand during a spike and the agent scaled it straight back down, twice.

    GitOps drift

  16. 16

    the pipeline stops and waits for a human to press a button, or for a metric to stay inside a threshold for ten minutes.

    Deployment gate

  17. 17

    instances are replaced a few at a time, so both versions serve traffic simultaneously for several minutes.

    Rolling deployment

  18. 18

    the pipeline hits three real endpoints after the rollout and fails the deploy if any of them is unhappy.

    Post-deploy verification

  19. 19

    error rate crossed the threshold ninety seconds in and the system reverted to the previous version without waking anyone.

    Automated rollback

  20. 20

    the release goes to one percent, then five, then twenty-five, and each step is only taken if the metrics stayed flat.

    Progressive delivery

  21. 21

    your own staff get it first, then the tolerant customers, then everyone, over about a week.

    Deployment ring

  22. 22

    the release goes out on Thursday whatever is ready, and anything that missed it waits for the next one.

    Release train

  23. 23

    nothing may ship for three weeks over the peak period, so a hundred changes go out together on the day it lifts.

    Change freeze