The Deploy That Went Green and Shipped Nothing
My home server's deploy failed at step one, and every step after it reported success. Here's how a failure goes missing in a deploy chain, and a copy-paste script that refuses to call nothing a success.
- How `git pull` on a server can fail while every step after it succeeds, and how to spot it.
- How an exit status gets lost in a pipe, and what `set -euo pipefail` changes.
- A copy-paste deploy script that stops when the pull fails, HEAD is wrong, the image didn't change or the pods run something else.
- Two more silent failures: zsh and an unquoted `$list`, and a misleading backup error.
