Deployment options for Cloud Run services

As described in the Cloud Run deployment types and resource model, Cloud Run offers multiple deployment options and deployment methods. This page provides an overview of the different deployment types and some of the tools and interfaces that you can use for Cloud Run service deployments.

Deployment types

When deploying to a Cloud Run service, you can choose from the following options:

Deploy containers

To deploy to Cloud Run using a container image, you must package your application code and its dependencies into a container registry, and then run the deployment.

Deploy from source code

You can deploy your code directly from a local directory or repository without manually building container images first.

  • Deploy services from source code: Use gcloud run deploy --source to package your source code. You can choose to deploy with Cloud Build using Google Cloud's buildpacks (default) or bypass the Cloud Build step to deploy prebuilt artifacts directly (Preview) for faster deployment.
  • Deploy a Cloud Run function: Deploy single-purpose code snippets that trigger in response to Cloud de Confiance events, such as Eventarc events. Functions use Google Cloud's buildpacks and Cloud Build to construct and deploy the container image.
  • If you need to package your code, dependencies, and system libraries into a container, see the following pages before you deploy to Cloud Run:

Continuous deployment from git

To set up Cloud Run to build and deploy new revisions when you push changes to your repository, see Continuously deploy from a repository.

You can connect your GitHub, GitLab, or Bitbucket repository directly in the Cloud de Confiance console using Cloud Build triggers or Developer Connect.

Deployment methods and tools

You can use any of the following core methods and interfaces to deploy a Cloud Run service:

  • Cloud de Confiance console: Use the interactive graphical user interface in the Cloud de Confiance console to deploy container images and functions, or configure continuous deployment manually. The Cloud de Confiance console provides helpful tooltips, forms, and immediate feedback when you set up configuration settings.
  • Google Cloud CLI: Use the gcloud run deploy command to enable scripting and rapid command-line deployments of container images. This method works well for most deployment types, and is convenient for building and deploying local source code using a single command.
  • YAML: Use the YAML file for your Cloud Run service to manifest your service specs in Knative-compliant declarative configuration files. Then apply the changes using gcloud run services replace service.yaml. This approach enables a GitOps continuous deployment model where the configuration lives in your repository as the source of truth.
  • Terraform: Use the standard Cloud de Confiance by S3NS provider resource (google_cloud_run_v2_service) to deploy and update serverless compute infrastructure deterministically alongside other cloud resources, such as databases, load balancers, and security policies.
  • Client libraries: Use the Cloud Client Libraries for languages like Go, Java, Node.js, Python, Ruby, PHP, and .NET to programmatically configure and trigger deployments.
  • REST API: Directly invoke the REST API endpoint using HTTP operations to integrate with custom deployment systems.