构建环境变量是键值对,可让您在从源代码部署函数时将配置信息传递给 Buildpack。例如,在构建时,您可能想要自定义编译器选项、指定构建时证书、配置参数,等等。
本页介绍了如何设置构建时可用的构建环境变量,适用于在 Cloud Run 中部署函数的平台开发者。
准备工作
启用 Cloud Build API
gcloud services enable cloudbuild.googleapis.com
所需的角色
如需获得从源代码部署所需的权限,请让管理员向您授予项目的以下 IAM 角色:
-
Cloud Run Source Developer (
roles/run.sourceDeveloper
) -
Service Account User (
roles/iam.serviceAccountUser
)
如需查看与 Cloud Run 关联的 IAM 角色和权限的列表,请参阅 Cloud Run IAM 角色和 Cloud Run IAM 权限。如果您的 Cloud Run 服务与 Google Cloud API(例如 Cloud 客户端库)进行交互,请参阅服务身份配置指南。如需详细了解如何授予角色,请参阅部署权限和管理访问权限。
设置构建环境变量
您可以设置构建环境变量以建立新变量或完全替换现有构建变量。
gcloud
从源代码部署函数时,您可以设置构建环境变量:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --set-build-env-vars KEY1=VALUE1,KEY2=VALUE2
您需要将其中的:
- 将 SERVICE 替换为 Cloud Run 函数的名称。
- 将 FUNCTION_ENTRY_POINT 替换为源代码中函数的入口点。
- 将 KEY1=VALUE1,KEY2=VALUE2 替换为与允许您将配置信息传递给 Buildpack 的函数一起部署的变量名称及其值的逗号分隔列表。
更新构建环境变量
您可以更新现有函数的构建环境变量。这种方法没有破坏性,也就是说,它只会更改或添加构建环境变量,但不会删除构建环境变量。
gcloud
如需更新现有函数的构建环境变量,请执行以下操作:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --update-build-env-vars KEY1=VALUE1,KEY2=VALUE2
删除构建环境变量
您可以删除现有函数的构建环境变量。
gcloud
如需移除构建环境变量,请针对现有函数使用 --remove-build-env-vars
:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --remove-build-env-vars KEY1=VALUE1,KEY2=VALUE2
或者,您也可以为现有函数使用 --clear-build-env-vars
来清除构建环境变量:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --clear-build-env-vars KEY1=VALUE1,KEY2=VALUE2
构建环境变量文件
您可以使用构建环境变量文件来处理现有函数。
gcloud
如需从文件中设置构建环境变量,请执行以下操作:
gcloud beta run deploy SERVICE \ --source . \ --function FUNCTION_ENTRY_POINT \ --build-env-vars-file FILE_NAME.yaml
替换 FILE_NAME.yaml,使其内容如下所示:
KEY1: VALUE1
KEY2: VALUE2