Web Deployment
Deployment
Pushing to main triggers CodeBuild (statux-prod-codebuild-web), or deploy locally (faster + free):
cd statux-web
# Landing (statux.io)
aws s3 sync landing/ s3://statux-landing-prod --delete --exclude "shared/*" --exclude "docs/*"
aws s3 sync shared/ s3://statux-landing-prod/shared/
aws cloudfront create-invalidation --distribution-id EVHSVR55HETJY --paths "/*"
# Statux Pages (statuspage.statux.io)
aws s3 sync statuspages/ s3://statux-statuspage-web-prod --delete --exclude "shared/*"
aws s3 sync shared/ s3://statux-statuspage-web-prod/shared/
aws cloudfront create-invalidation --distribution-id E2SIXSFPDDG7V1 --paths "/*"
# Alerting (alerts.statux.io)
aws s3 sync alerting/ s3://statux-alerts-web-prod --delete --exclude "shared/*"
aws s3 sync shared/ s3://statux-alerts-web-prod/shared/
aws cloudfront create-invalidation --distribution-id E3Q0DZM3NF5A2B --paths "/*"
# Synthetics (synthetics.statux.io)
aws s3 sync synthetics/ s3://statux-synthetics-web-prod --delete --exclude "shared/*"
aws s3 sync shared/ s3://statux-synthetics-web-prod/shared/
aws cloudfront create-invalidation --distribution-id E3VIOK3AWE1I1T --paths "/*"
CloudFront Distribution IDs
| Site | Bucket | CloudFront ID |
|---|---|---|
| Landing | statux-landing-prod | EVHSVR55HETJY |
| Pages | statux-statuspage-web-prod | E2SIXSFPDDG7V1 |
| Alerts | statux-alerts-web-prod | E3Q0DZM3NF5A2B |
| Synthetics | statux-synthetics-web-prod | E3VIOK3AWE1I1T |
Important Notes
- Never sync the repo root (
.) to any bucket - Landing bucket shares with docs — always use
--exclude "docs/*" - Always sync
shared/to all four buckets