Module 23: Deploying StyleMe with CI/CD
About 45 minutes · Needs: Module 22 (containers and the local stack), Module 21 (security: the proxy secret and X-Forwarded-For), Module 13 (server-side sessions) · Code:deploy/terraform/*.tf,deploy/deploy.sh,deploy/cloudbuild.yaml,deploy/README.md,.github/workflows/ci.yml,.github/workflows/deploy.yml,part3-styleme/frontend/nginx.conf.template,originals/styleme/fashion-agent/cloudbuild.yaml
Where this fits
Module 22 ran every part on one laptop. This module puts StyleMe, and only StyleMe, on Google Cloud Run, so that a shopper anywhere can open one HTTPS URL, and so that every commit to main that passes the tests is deployed without anyone holding a cloud key. Parts 1 and 2 stay local labs, and the module explains why.
Read this first: none of this has run. The Terraform was written on 28 October 2026 and modelled on two earlier deploys of the author's. It has never been applied to a real Google Cloud project, and terraform fmt and validate were not run where it was written (Terraform was not installed; the files were only parsed as HCL). The CI workflow runs both on every push, so the first CI run is the first real check. The nginx path to an HTTPS upstream has never run in a container, and PROXY_HOPS=3 is an assumption to check. Every statement below about Cloud Run, Qdrant Cloud and the pipelines is design, not observation; the deploy README says to treat the first apply as a test.