0%
Deploy Without Manual Intervention

Deployment

The branch condition, the published image, and the rollback prepared in advance.

10-15 min

A manual deployment almost never fails the first time. It fails the twelfth time, on a Thursday evening, when the one person who knows the exact order of commands is on vacation and their replacement swaps two steps. A procedure written in a DEPLOIEMENT.md file always ends up diverging from what people actually do, because nothing checks that it's up to date. A workflow, on the other hand, is the procedure: if it's wrong, it fails, and you know about it.

Automating a deployment, however, doesn't mean adding one last job to your test pipeline. Three questions must be settled before you write a single line: under exactly what condition does the deployment run, which precise artifact is published, and how do you return to the previous state. The third is the one most often put off until later, and it's the one that costs the most on the day it's missing. An automatic deployment without a prepared rollback only speeds up the delivery of incidents to production.

The Trigger Condition

The deployment must run in one case and one case only: a commit merged into the main branch, with all checks passing.

Comments

Comments are powered by GitHub Discussions

Sign in with GitHub to join the discussion

Link copied!