Deployment

evergreenLast update on Sep 1, 2026
Download .md

Deployment

Deployment Order

Use backward-compatible rollout order:

database migrations
-> backend
-> web
-> mobile internal builds
-> mobile production release

Environments

EnvironmentPurpose
Localdeveloper feedback
Testautomated verification
Stagingproduction-like acceptance
Productionlive system

Backend

  • Build a production container image.
  • Apply Flyway migrations through a controlled release job.
  • Configure secrets through a secret manager.
  • Expose liveness and readiness probes.
  • Monitor latency, errors, database health, and auth failures.

Web

  • Build from locked dependencies.
  • Inject runtime environment values safely.
  • Configure TLS, domains, CORS, cookie domains, and security headers.
  • Run staging smoke tests and Playwright checks before production.

Mobile

  • Configure signing outside source control.
  • Inject environment values at build time.
  • Release internal Android/iOS builds pointed at staging.
  • Verify old mobile versions remain API-compatible before backend rollout.
  • Promote to production stores only after acceptance testing.

Rollback

  • Application rollback must not require destructive database rollback.
  • Database changes should be backward-compatible across one mobile release window.
  • Keep API contracts compatible with older mobile versions.
  • Document manual recovery steps for failed migrations and bad releases.