Files
2026-04-12 01:06:31 +07:00

1.1 KiB

GCP Cloud Run

CLI

curl https://sdk.cloud.google.com | bash
gcloud auth login
gcloud config set project PROJECT_ID

gcloud run deploy SERVICE_NAME \
  --image gcr.io/PROJECT/image \
  --region us-central1 \
  --allow-unauthenticated

Config: cloudbuild.yaml

steps:
  - name: 'gcr.io/cloud-builders/docker'
    args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-app', '.']
  - name: 'gcr.io/cloud-builders/docker'
    args: ['push', 'gcr.io/$PROJECT_ID/my-app']
  - name: 'gcr.io/cloud-builders/gcloud'
    args: ['run', 'deploy', 'my-app',
           '--image', 'gcr.io/$PROJECT_ID/my-app',
           '--region', 'us-central1',
           '--allow-unauthenticated']

Detection

  • cloudbuild.yaml, app.yaml (GAE format), Dockerfile

Free Tier (Permanent)

  • 2M requests/mo, 180K vCPU-seconds/mo, 360K GiB-seconds/mo

Cost Optimize

  • --min-instances=0 for scale-to-zero
  • Use Artifact Registry instead of GCR

Rollback

gcloud run services update-traffic SERVICE --to-revisions=REVISION=100

Best For

Containerized microservices, pay-per-request serverless, burst traffic