Skip to content
Latchkey

How to Combine Feature Flags With Progressive Delivery

Deploy the artifact to all instances, then progressively expose the feature by widening a flag rollout.

Progressive delivery separates deploying an artifact from exposing behavior. CD rolls the build out fully; flags then widen the exposed audience step by step, decoupling infra rollout from feature rollout.

Steps

  • Let CD deploy the artifact everywhere with the flag off.
  • Advance the flag rollout in stages (1%, 10%, 50%, 100%).
  • Gate each stage on healthy metrics before advancing.

Staged rollout

Terminal
# Terminal: advance exposure after each healthy stage
flagctl update new-checkout --rollout 1
flagctl update new-checkout --rollout 10
flagctl update new-checkout --rollout 50
flagctl update new-checkout --rollout 100

Deploy stays full

.github/workflows/deploy.yml
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - run: ./deploy.sh   # artifact to all instances, flag controls exposure

Gotchas

  • Advancing stages on a timer instead of metrics can roll a regression out fully.
  • Keep the deploy itself boring; put the risk in the flag you can revert instantly.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →