1.8 KiB
1.8 KiB
CI/CD ECR Deployment Flow Completion
Completed
- Production backend Docker image workflow exists at
.gitea/workflows/build-production-docker.yml. - Workflow trigger is configured for push to
mainand manualworkflow_dispatch. - Workflow builds
backend/Dockerfilewith Docker Buildx, validates image size, and runs a smoke test. - Workflow logs in to ECR, creates the repository if missing, and pushes both
${GITHUB_SHA}andlatesttags. - Production Docker Compose file exists at
deploy/docker-compose.prod.ymland pulls images from ECR instead of building locally. - Production deploy guide exists at
deploy/README.mdwith EC2-side ECR login, Compose pull/up, health check, logs, and stop commands. - Cloudflare IPv4 ingress rules were added to AWS security group
sg-064bf6675c881fde3fortcp/80andtcp/443.
Deferred Intentionally
- EC2 will not auto-pull and restart yet. The operator will log in to the single EC2 host and start Docker Compose manually after ECR image confirmation.
- Public
0.0.0.0/0ingress fortcp/80andtcp/443remains untilhttps://api.meeyao.comor the agreed health endpoint is confirmed healthy. - Gitea workflow does not yet include SSH or SSM deployment steps.
Verification To Perform After PR Merge
- Confirm the PR is merged to
mainor otherwise pushed tomain. - Confirm Gitea Actions runs the production Docker workflow successfully.
- Confirm ECR contains the backend image tagged with the commit SHA and
latest. - Operator manually logs in to EC2 and runs the documented Compose deployment commands.
- Confirm local EC2 health check returns
{"status":"ok"}. - Confirm external API health through Cloudflare.
- Remove
0.0.0.0/0ingress fortcp/80andtcp/443only after external health is confirmed.