gcloud alpha code dev - run a Cloud Run service in a local development environment
gcloud alpha code dev [SERVICE_CONFIG] [--[no-]allow-secret-manager] [--cloudsql-instances=[CLOUDSQL_INSTANCE,...]] [--cpu=CPU] [--image=IMAGE] [--local-port=LOCAL_PORT] [--memory=MEMORY] [--minikube-vm-driver=MINIKUBE_VM_DRIVER; default="docker"] [--namespace=NAMESPACE] [--secrets=[KEY=VALUE,...]] [--service-name=SERVICE_NAME] [--source=SOURCE] [--no-stop-cluster] [--application-default-credential | --service-account=SERVICE_ACCOUNT] [--builder=BUILDER | --dockerfile=DOCKERFILE; default="Dockerfile"] [--env-vars=[KEY=VALUE,...] | --env-vars-file=FILE_PATH] [--kube-context=KUBE_CONTEXT | --minikube-profile=MINIKUBE_PROFILE] [GCLOUD_WIDE_FLAG ...]
(ALPHA) Run a Cloud Run service in a local development environment.
This command takes Cloud Run source, builds it, and runs it on the local machine. This command also watches the relevant source files and updates the container when they change.
If building images using a Dockerfile:
$ gcloud alpha code dev --dockerfile=<path_to_dockerfile>
If the Dockerfile is named Dockerfile and is located in the current directory, the --dockerfile flag may be omitted:
$ gcloud alpha code dev
To access Google Cloud Platform services with the current user's credentials, login to obtain the application default credentials and invoke this command with the --application-default-credential flag.
$ gcloud auth application-default login $ gcloud alpha code dev --dockerfile=<path_to_dockerfile> \ --application-default-credential
- [SERVICE_CONFIG]
service.yaml filename override. Defaults to the first file matching *service.dev.yaml then *service.yaml, if any exist. This path is relative to the --source dir. An App Engine config path (typically app.yaml) may also be provided here, and we will build with a Cloud Native Computing Foundation Buildpack builder selected from gcr.io/gae-runtimes/buildpacks, according to the App Engine runtime specified in app.yaml.
- --[no-]allow-secret-manager
Suppress warnings if secrets need to be pulled from secret manager. Use --allow-secret-manager to enable and --no-allow-secret-manager to disable.
- --cloudsql-instances=[CLOUDSQL_INSTANCE,...]
Cloud SQL instance connection strings. Must be in the form <project>:<region>:<instance>.
- --cpu=CPU
Container CPU limit. Limit is expressed as a number of CPUs. Fractional CPU limits are allowed (e.g. 1.5).
- --image=IMAGE
Name for the built image.
- --local-port=LOCAL_PORT
Local port to which the service connection is forwarded. If this flag is not set, then a random port is chosen.
- --memory=MEMORY
Container memory limit. Limit is expressed either as an integer representing the number of bytes or an integer followed by a unit suffix. Valid unit suffixes are "B", "KB", "MB", "GB", "TB", "KiB", "MiB", "GiB", "TiB", or "PiB".
- --minikube-vm-driver=MINIKUBE_VM_DRIVER; default="docker"
If running on minikube, use this vm driver.
- --namespace=NAMESPACE
Kubernetes namespace for development kubernetes objects.
- --secrets=[KEY=VALUE,...]
List of key-value pairs to set as secrets.
- --service-name=SERVICE_NAME
Name of the service.
- --source=SOURCE
The directory containing the source to build. If not specified, the current directory is used.
- --stop-cluster
If running on minikube, stop the minkube profile at the end of the session. Enabled by default, use --no-stop-cluster to disable.
- At most one of these can be specified:
- --application-default-credential
When connecting to Google Cloud Platform services, use the application default credential.
- --service-account=SERVICE_ACCOUNT
When connecting to Google Cloud Platform services, use a service account key.
- At most one of these can be specified:
- --builder=BUILDER
Build with a given Cloud Native Computing Foundation Buildpack builder.
- --dockerfile=DOCKERFILE; default="Dockerfile"
Dockerfile for the service image.
- At most one of these can be specified:
- --env-vars=[KEY=VALUE,...]
List of key-value pairs to set as environment variables.
- --env-vars-file=FILE_PATH
Path to a local YAML file with definitions for all environment variables.
- At most one of these can be specified:
- --kube-context=KUBE_CONTEXT
Kubernetes context.
- --minikube-profile=MINIKUBE_PROFILE
Minikube profile.
These flags are available to all commands: --access-token-file, --account, --billing-project, --configuration, --flags-file, --flatten, --format, --help, --impersonate-service-account, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity.
Run $ gcloud help for details.
This command is currently in alpha and might change without notice. If this command fails with API permission errors despite specifying the correct project, you might be trying to access an API with an invitation-only early access allowlist. This variant is also available:
$ gcloud beta code dev