You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ci(deploy): switch to build + fly machine update for reliable in-place deploys
`fly deploy` for our single-machine + single-volume topology is
non-deterministic — sometimes it updates the existing machine in
place, sometimes it tries to provision a NEW machine alongside and
fails because the volume only has one attachment slot. Hit this on
consecutive runs today with both strategy=rolling AND
strategy=immediate; the manual `fly machine update` recovery
worked reliably.
Workflow now does:
1. flyctl deploy --build-only --push (build + push image, no machine touch)
2. capture the image tag from the build output
3. flyctl machine update <id> --image <tag> (explicit in-place API)
`fly machine update` targets a specific machine ID and cannot try
to create a parallel machine. ~30-60s of downtime per deploy, same
as strategy=immediate on its best day, but reliably works.
Loops will be needed if we ever scale to multiple machines (or
migrate off SQLite-on-volume, which is the long-term unblocker for
zero-downtime deploys).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments