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#
- Ensure you have the latest Node.js and NPM
- Install the Pulumi CLI
- Configure Pulumi to access your GCP account
- Install Docker
- Enable Docker to deploy to Google Container Registry with
gcloud auth configure-docker
Running the App#
-
Restore NPM dependencies:
$ npm install -
Create a new stack:
$ pulumi stack init dev -
Configure your GCP project and region:
$ pulumi config set gcp:project <projectname>$ pulumi config set gcp:region <region> -
Run
pulumi upto preview and deploy changes:$ 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:
$ curl "$(pulumi stack output rubyUrl)"Hello Pulumi! -
Clean up your GCP and Pulumi resources:
$ pulumi destroy...$ pulumi stack rm dev...