在 GCP cloudbuild.yaml 中指定与“名称”不同的“执行函数”
Posted
技术标签:
【中文标题】在 GCP cloudbuild.yaml 中指定与“名称”不同的“执行函数”【英文标题】:Specifying a different 'Executed Function' than 'Name' in GCP cloudbuild.yaml 【发布时间】:2021-08-23 11:57:18 【问题描述】:如何在我的 cloudbuild.yaml 文件中指定与 GCP 中实际函数名称不同的“执行函数”?
例如:
我有一个云函数,用python写的,叫做hello_world
在我的 GCP 部署中,我想将函数命名为 hello-world-dev
和 hello-world-prod
,它们会在构建时动态传递到 Triggers 变量中。
构建失败,因为它期望函数被调用 hello-world-dev
或其他
我确定有一个标志来指定执行函数,但我没有找到它。
我的cloudbuild.yaml
文件如下所示:
#hello-world
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
args:
- gcloud
- functions
- deploy
- hello-world-$_ENV
- --region=us-west2
- --source=./demo/hello-world/
- --trigger-http
- --runtime=python39
我尝试过的步骤
我尝试了以下标志:
--function
--call
--deploy
查看此文档:https://cloud.google.com/functions/docs/deploying
【问题讨论】:
【参考方案1】:执行的函数是代码中的函数名。默认情况下,这是您的错误,如果未指定,执行的函数必须与函数名称相同。
如果您的函数名称与执行函数的名称不同,则需要指定函数的入口点(要在代码中运行的函数)。使用参数--entry-point=
【讨论】:
以上是关于在 GCP cloudbuild.yaml 中指定与“名称”不同的“执行函数”的主要内容,如果未能解决你的问题,请参考以下文章
GCP kms加密env var并通过cloudbuild.yaml将加密密钥传递给谷歌应用引擎
尝试使用 cloud build (gcp) 部署时出现 URL not found
cloudbuild.yaml 上的错误:(gcloud.builds.submit)将 cloudbuild.yaml 解释为构建配置:“列表”对象没有属性“项目”