配置 Cloud Run 和 Cloud Functions 服务

使用以下环境变量来配置服务在部署到 Cloud Run 或 Cloud Functions 时的行为。

了解如何在容器映像中设置这些环境变量

如需了解特定语言的配置详细信息,请参阅:

Cloud Run 和 Cloud Functions 环境变量

以下配置支持为应用和函数构建服务。另请参阅下文的其他 Cloud Functions 环境变量

GOOGLE_ENTRYPOINT

指定执行容器时运行的命令。这相当于 Dockerfile 中的 entrypoint

  • 示例:
    • Java:java -jar target/myjar.jar
    • PHP:php -S 0.0.0.0:8080 index.php
    • Python:gunicorn -p :8080 main:app

GOOGLE_RUNTIME

强制运行时选择启用。如果运行时 Buildpack 映像出现在多个组中,则第一个组中的 Buildpack 映像会用于所有组。

Node.js 示例:指定 nodejs 会强制 Node.js 运行时 Buildpack 选择启用。

GOOGLE_RUNTIME_VERSION

指定要安装的运行时版本。对于 .NET,指定 .NET SDK 版本。

示例:

  • Go:1.14.1
  • Java:8
  • Node.js:13.7.0
  • .NET:3.1.301

GOOGLE_BUILDABLE

对于 Go、Java、Dart 和 .NET 运行时:指定可构建单元的路径。

Go 示例:指定 ./maindir 会构建根目录为 maindir 的软件包。

GOOGLE_BUILD_ARGS

对于 Java(Maven 和 Gradle)和 .NET 运行时:将参数附加到构建命令。

Java 示例:指定 -Pprod 会运行 mvn clean package ... -Pprod

GOOGLE_MAVEN_BUILD_ARGS

对于使用 Maven 插件的 Java 运行时:使用您指定的构建命令替换默认的 Maven 命令。

如果未指定 GOOGLE_MAVEN_BUILD_ARGS,则默认运行以下命令:

mvn clean package --batch-mode -DskipTests -Dhttp.keepAlive=false

示例:指定 GOOGLE_MAVEN_BUILD_ARGS="clean package: 会运行 mvn clean package 命令。

GOOGLE_GRADLE_BUILD_ARGS

对于使用 Gradle 插件的 Java 运行时:使用您指定的构建命令替换默认的 Gradle 命令。

如果未指定 GOOGLE_GRADLE_BUILD_ARGS,则默认运行以下命令:

gradle clean assemble -x test --build-cache

示例:指定 GOOGLE_GRADLE_BUILD_ARGS="clean assemble" 会运行 gradle clean assemble 命令。

GOOGLE_DEVMODE

对于 Skaffold:启用开发模式 Buildpack。使用实时本地开发触发对源代码更改的自动容器重建。您必须安装 Skaffold 并运行 skaffold dev

  • 支持的值:trueTrue1

GOOGLE_CLEAR_SOURCE

对于函数和 Go 或 Java 应用:在应用构建后清除源代码。如果应用依赖于 Go 模板等静态文件,则设置此变量可能会导致应用出现异常行为。

支持的值:trueTrue1

其他 Cloud Functions 环境变量

以下配置仅适用于构建为使用 Functions 框架和 Cloud Functions 的函数的源代码。如需详细了解这些配置选项,请参阅合同

GOOGLE_FUNCTION_TARGET

  • 指定要在请求响应中调用的导出函数的名称。
  • 示例myFunction 将导致 Cloud Functions 框架调用同名函数。

GOOGLE_FUNCTION_SIGNATURE_TYPE

  • 指定函数使用的签名。
  • 示例httpeventcloudevent

GOOGLE_FUNCTION_SOURCE

  • 指定包含函数源代码的目录或文件的名称,具体取决于语言。
  • (仅适用于某些语言,请参阅针对特定语言的文档。)
  • 示例:适用于 Python 的 function.py