Here’s a comprehensive guide to all gcloud run subcommands with examples and explanations:
📦 1. Deploying Services
gcloud run deploy
Create or update a fully-managed service.
gcloud run deploy SERVICE_NAME \
--image=gcr.io/my-project/my-image:tag \
--platform=managed \
--region=asia-northeast1 \
--allow-unauthenticated
- Builds and deploys a new revision.
- Automatically handles traffic, IAM settings, and service creation.
(stackoverflow.com)
🛠️ 2. Managing Services
gcloud run services list
List all Cloud Run services in a region.
gcloud run services list \
--platform=managed \
--region=asia-northeast1 \
--format="table(metadata.name,status.url)"
Code language: PHP (php)
gcloud run services describe
Show detailed info (config, traffic, URL, latest revision, etc.).
gcloud run services describe my-service \
--platform=managed \
--region=asia-northeast1
🔍 3. Managing Revisions
gcloud run revisions list
List all revisions of a service.
gcloud run revisions list \
--platform=managed \
--region=asia-northeast1 \
--filter="metadata.labels.service=my-service" \
--format="table(metadata.name,metadata.creationTimestamp)"
Code language: PHP (php)
gcloud run revisions describe
Get detailed metadata of a specific revision.
gcloud run revisions describe my-service-00005-xyz \
--platform=managed \
--region=asia-northeast1
👥 4. IAM & Permissions
gcloud run services add-iam-policy-binding
Grant roles to members.
gcloud run services add-iam-policy-binding my-service \
--member=user:me@gmail.com \
--role=roles/run.invoker \
--platform=managed \
--region=asia-northeast1
Likewise: remove-iam-policy-binding, get-iam-policy, set-iam-policy.
⚙️ 5. Updating Services
gcloud run services update
Apply config changes to a service (without redeploying code).
gcloud run services update my-service \
--platform=managed \
--region=asia-northeast1 \
--concurrency=100 \
--memory=512Mi
- Doesn’t rebuild the image—just modifies runtime configuration
(stackoverflow.com, reddit.com, reddit.com)
📋 6. Metadata Inspection
- To view YAML or JSON output:
gcloud run services describe my-service \ --platform=managed \ --region=asia-northeast1 \ --format=json - To extract specific fields:
# Service URL: gcloud run services describe my-service \ --platform=managed \ --region=asia-northeast1 \ --format="value(status.url)" # Container image: gcloud run services describe my-service \ --platform=managed \ --region=asia-northeast1 \ --format="value(spec.template.spec.containers[0].image)"
🧪 7. Jobs (Cloud Run jobs)
gcloud run jobs list
List all jobs.
gcloud run jobs list \
--platform=managed \
--region=asia-northeast1 \
--format="table(metadata.name, status.lastRunState)"
Code language: PHP (php)
gcloud run jobs describe
Describe a job.
gcloud run jobs describe my-job \
--platform=managed \
--region=asia-northeast1
gcloud run jobs execute
Run the job now.
gcloud run jobs execute my-job \
--platform=managed \
--region=asia-northeast1
🔁 8. Alpha/Beta Commands
Additional flags and features exist in beta or alpha:
gcloud beta run deploygcloud beta run services updategcloud alpha run ...
Install via:
gcloud components install beta
gcloud beta run deploy ...
Shows future enhancements and experimental options not in GA (reddit.com, youtube.com, cloud.google.com, reddit.com, stackoverflow.com, cloud.google.com)
🛠️ 9. Global Options
Common flags available to all commands:
--project=PROJECT_ID--platform=[managed|gke]--region=REGION--format=[json|table|yaml|value]--filter=...--verbosity=[debug|info]--async(non-blocking execution)
✅ TL;DR: Quick Reference
| Category | Command | Use Case |
|---|---|---|
| Deploy | gcloud run deploy | Create/update service with container or source |
| Manage | gcloud run services list/describe | View services and metadata |
| Update Config | gcloud run services update | Change service settings without redeploy |
| Revisions | gcloud run revisions list/describe | Inspect immutable deployment snapshots |
| IAM | add/remove/get-iam-policy-binding | Manage access permissions |
| Jobs | gcloud run jobs list/describe/execute | Run batch jobs with Cloud Run |
| Metadata format | --format= | Get output as JSON/YAML/fields |
| Filtering | --filter= | Query services or revisions dynamically |
| Async execution | --async | Don’t wait for operations to complete |
I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at Holiday Landmark, stock market tips at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow , and SEO strategies at Wizbrand.
Do you want to learn Quantum Computing?
Please find my social handles as below;
Rajesh Kumar Personal Website
Rajesh Kumar at YOUTUBE
Rajesh Kumar at INSTAGRAM
Rajesh Kumar at X
Rajesh Kumar at FACEBOOK
Rajesh Kumar at LINKEDIN
Rajesh Kumar at WIZBRAND