Commands Reference
Complete gcloud CLI reference for Cloud Run operations.
Service Management
Deploy
bash
# Basic deploy
gcloud run deploy SERVICE_NAME \
--image IMAGE_URL \
--region REGION
# Deploy from source
gcloud run deploy SERVICE_NAME \
--source . \
--region REGION
# Full deploy with all options
gcloud run deploy SERVICE_NAME \
--image IMAGE_URL \
--region us-central1 \
--platform managed \
--memory 2Gi \
--cpu 2 \
--timeout 300 \
--concurrency 80 \
--min-instances 1 \
--max-instances 100 \
--port 8080 \
--set-env-vars "KEY1=value1,KEY2=value2" \
--allow-unauthenticatedUpdate Service
bash
# Update memory/CPU
gcloud run services update SERVICE_NAME \
--region REGION \
--memory 4Gi \
--cpu 4
# Update environment variables
gcloud run services update SERVICE_NAME \
--region REGION \
--set-env-vars "KEY=value"
# Update scaling
gcloud run services update SERVICE_NAME \
--region REGION \
--min-instances 2 \
--max-instances 50Delete Service
bash
gcloud run services delete SERVICE_NAME --region REGIONTraffic Management
View Traffic
bash
gcloud run services describe SERVICE_NAME \
--region REGION \
--format 'yaml(status.traffic)'Split Traffic
bash
# 50/50 split
gcloud run services update-traffic SERVICE_NAME \
--region REGION \
--to-revisions REVISION_A=50,REVISION_B=50
# Rollback to previous
gcloud run services update-traffic SERVICE_NAME \
--region REGION \
--to-revisions PREVIOUS_REVISION=100Gradual Rollout
bash
# Deploy with no traffic
gcloud run deploy SERVICE_NAME \
--image NEW_IMAGE \
--region REGION \
--no-traffic
# Gradually increase
gcloud run services update-traffic SERVICE_NAME \
--region REGION \
--to-revisions NEW_REVISION=10
# Then 50%
gcloud run services update-traffic SERVICE_NAME \
--region REGION \
--to-revisions NEW_REVISION=50
# Finally 100%
gcloud run services update-traffic SERVICE_NAME \
--region REGION \
--to-revisions NEW_REVISION=100Revisions
List Revisions
bash
gcloud run revisions list \
--service SERVICE_NAME \
--region REGIONDescribe Revision
bash
gcloud run revisions describe REVISION_NAME \
--region REGIONDelete Old Revisions
bash
# Delete specific revision
gcloud run revisions delete REVISION_NAME --region REGION
# Delete all but latest 3
gcloud run revisions list --service SERVICE --region REGION \
--format 'value(metadata.name)' | tail -n +4 | \
xargs -I {} gcloud run revisions delete {} --region REGION --quietJobs (Batch Processing)
Create Job
bash
gcloud run jobs create JOB_NAME \
--image IMAGE_URL \
--region REGION \
--tasks 10 \
--parallelism 5 \
--max-retries 3Execute Job
bash
gcloud run jobs execute JOB_NAME --region REGIONView Executions
bash
gcloud run jobs executions list --job JOB_NAME --region REGIONSecrets & Environment
Set Environment Variables
bash
gcloud run services update SERVICE_NAME \
--region REGION \
--set-env-vars "VAR1=value1,VAR2=value2"
# From file
gcloud run services update SERVICE_NAME \
--region REGION \
--env-vars-file env.yamlUse Secret Manager
bash
# Mount as environment variable
gcloud run services update SERVICE_NAME \
--region REGION \
--set-secrets "API_KEY=my-secret:latest"
# Mount as file
gcloud run services update SERVICE_NAME \
--region REGION \
--set-secrets "/secrets/config=my-secret:latest"Networking
VPC Connector
bash
# Create connector
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
--network default \
--region REGION \
--range 10.8.0.0/28
# Use in service
gcloud run services update SERVICE_NAME \
--region REGION \
--vpc-connector CONNECTOR_NAME \
--vpc-egress all-trafficCustom Domain
bash
# Map domain
gcloud beta run domain-mappings create \
--service SERVICE_NAME \
--domain your-domain.com \
--region REGIONIAM & Authentication
View IAM Policy
bash
gcloud run services get-iam-policy SERVICE_NAME --region REGIONGrant Access
bash
# Allow unauthenticated
gcloud run services add-iam-policy-binding SERVICE_NAME \
--region REGION \
--member allUsers \
--role roles/run.invoker
# Grant to specific user
gcloud run services add-iam-policy-binding SERVICE_NAME \
--region REGION \
--member user:email@example.com \
--role roles/run.invoker
# Grant to service account
gcloud run services add-iam-policy-binding SERVICE_NAME \
--region REGION \
--member serviceAccount:SA@PROJECT.iam.gserviceaccount.com \
--role roles/run.invokerDebugging
View Logs
bash
# Recent logs
gcloud logging read "resource.type=cloud_run_revision AND resource.labels.service_name=SERVICE_NAME" \
--limit 100
# Stream logs
gcloud beta run services logs tail SERVICE_NAME --region REGION
# Filter errors
gcloud logging read "resource.type=cloud_run_revision AND severity>=ERROR" --limit 50Get Service URL
bash
gcloud run services describe SERVICE_NAME \
--region REGION \
--format 'value(status.url)'Check Health
bash
SERVICE_URL=$(gcloud run services describe SERVICE_NAME \
--region REGION --format 'value(status.url)')
curl -sf "${SERVICE_URL}/health" && echo "Healthy" || echo "Unhealthy"