Deploy su produzione

Deploy automatico

CodeRS esegue il deploy automaticamente ad ogni push sul branch configurato come produzione (di default main).

# coders.yaml
deploy:
  production:
    branch: main
    strategy: rolling   # blue-green | canary | rolling
    health_check:
      path: /health
      interval: 10s
      timeout: 5s
      retries: 3

Deploy manuale

# Deploy dell'ultimo commit
coders deploy --env production

# Deploy di un commit specifico
coders deploy --env production --ref a3f9c12

# Deploy di un tag
coders deploy --env production --ref v2.3.1

Strategie di deploy

Rolling (default)

Sostituisce le istanze una alla volta. Zero downtime, rollback rapido.

Blue-Green

Mantiene due ambienti identici (blue e green). Il traffico viene switchato atomicamente.

strategy: blue-green
blue_green:
  keep_old_env: 15m   # mantieni il vecchio ambiente per 15 minuti

Canary

Instrada una percentuale di traffico alla nuova versione.

strategy: canary
canary:
  initial_weight: 10    # inizia con 10% traffico
  increment: 10         # aumenta del 10% ogni step
  interval: 5m          # aspetta 5 minuti tra uno step e l'altro
  success_threshold: 99.5  # error rate < 0.5% per avanzare

Rollback

# Rollback all'ultimo deploy stabile
coders rollback --env production

# Rollback a un deploy specifico
coders rollback --env production --deployment dpl_abc123

Health checks

CodeRS monitora continuamente l'endpoint /health. La risposta attesa:

{
  "status": "ok",
  "version": "2.3.1",
  "uptime": 3600
}

Codice HTTP atteso: 200. Qualsiasi altro codice avvia automaticamente il rollback.