在 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-devhello-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将加密密钥传递给谷歌应用引擎

将小 bash 脚本添加到 cloudbuild.yaml

如何使用 Cloud Build 在 GCP 上部署功能?

尝试使用 cloud build (gcp) 部署时出现 URL not found

cloudbuild.yaml 上的错误:(gcloud.builds.submit)将 cloudbuild.yaml 解释为构建配置:“列表”对象没有属性“项目”

cloudbuild.yaml 包含不同的云构建器配置