Google Cloud Run
Google Cloud Run example
This example lives in the pulumi/examples repository. Check out just this directory to use it:
git clone --filter=blob:none --sparse https://github.com/pulumi/examples pulumi-examplesgit -C pulumi-examples sparse-checkout set gcp-ts-cloudruncd pulumi-examples/gcp-ts-cloudrunAn example of deploying a custom Docker image into Google Cloud Run service using TypeScript. Our image builds a simple HelloWorld web application in Ruby. You may change it to any language and runtime that can run on Linux and serve HTTP traffic.
Prerequisites#
- Install Pulumi
- Configure GCP credentials
- Install Node.js
- Install Docker
- Enable Docker to deploy to Google Container Registry with
gcloud auth configure-docker
Deploying the example#
-
Create a new stack:
Terminal window pulumi stack init dev -
Configure your GCP project and region:
Terminal window pulumi config set gcp:project <projectname>pulumi config set gcp:region <region> -
Install dependencies:
Terminal window npm install -
Deploy the stack:
Terminal window pulumi upPreviewing update (dev):...Updating (dev):Type Name Status+ pulumi:pulumi:Stack gcp-cloudrun-dev created+ ├─ docker:image:Image ruby-app created+ ├─ gcp:projects:Service EnableCloudRun created+ ├─ gcp:cloudrun:Service hello created+ ├─ gcp:cloudrun:Service ruby created+ ├─ gcp:cloudrun:IamMember hello-everyone created+ └─ gcp:cloudrun:IamMember ruby-everyone createdOutputs:helloUrl: "https://hello-a28eea2-q1wszdxb2b-ew.a.run.app"rubyUrl : "https://ruby-420a973-q1wszdxb2b-ew.a.run.app"Resources:+ 7 createdDuration: 3m37s -
Check the deployed Cloud Run endpoint:
Terminal window curl "$(pulumi stack output rubyUrl)"Hello Pulumi!
Cleaning up#
Once you’re finished experimenting, destroy your stack and remove it to avoid incurring any additional cost:
pulumi destroypulumi stack rm