Deployment Pipeline
Our automated pipeline takes code from merge to production with minimal manual intervention. Every merge to main triggers a build, runs the full test suite, and deploys to staging automatically. Production promotion requires explicit approval after staging verification.
Environments
| Environment | Purpose | URL | Deploy Trigger |
|---|---|---|---|
| Development | Local dev | localhost | Manual |
| Staging | Pre-production testing | staging.condelo.com | Auto on merge to main |
| Production | Live | app.condelo.com | Manual promotion from staging |
Release Process
Merge to main triggers staging deploy
Staging verified via automated smoke tests
Production promotion via manual approval
Database migrations run automatically before deploy
Feature flags for gradual rollouts
Rollback Procedures
- Automated rollback on health check failure
- Manual rollback via single-click in deployment dashboard
- Database rollback scripts maintained for every migration
- Maximum rollback time target: 5 minutes
Monitoring
Health Checks
HTTP probes every 30s, auto-restart on failure
Alerting
PagerDuty integration, Slack notifications, email escalation
Logging
Structured JSON logs, centralised in Better Stack
Metrics
Request latency, error rates, resource utilisation
Runbook
Check Better Stack dashboard for service health
Review recent deployments in GitHub Actions
Check application logs for error patterns
Verify database connectivity and performance
Escalate to on-call if unresolved after 15 minutes