如何使用 Cloud Build 在 GCP 上部署功能?
Posted
技术标签:
【中文标题】如何使用 Cloud Build 在 GCP 上部署功能?【英文标题】:How to deploy a function on GCP with Cloud Build? 【发布时间】:2021-03-29 14:55:18 【问题描述】:我创建了一个名为 pupetter-e2e
的云函数,其中包含对存储桶存储(称为主页)的更改的触发器。我想使用以下cloudbuild.yaml
为函数部署更新:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- pupetter-e2e
- --source=.
- --trigger-bucket homepage
(触发器描述:https://cloud.google.com/functions/docs/deploying/filesystem)
或者:
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- pupetter-e2e
- --source=.
- --trigger-resource hjemmeside
- --trigger-event google.storage.object.finalize
(描述为https://cloud.google.com/functions/docs/calling/storage) 可悲的是,我得到了
错误:(gcloud.functions.deploy)无法识别的参数:--trigger-bucket hjemmeside(您的意思是“--trigger-bucket”吗?)或 --trigger-resource hjemmeside(你是说--trigger-resource吗?)
我尝试使用--trigger-bucket
,但无法使其正常工作。有人可以通过纠正我的cloudbuild.yaml
中的错误来帮助我吗?
【问题讨论】:
【参考方案1】:您有 2 个解决方案来解决这个问题(甚至更多,但 2 已经很好了)。首先,args 列表中不接受空格,所以:
用等号替换空格。steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- pupetter-e2e
- --source=.
- --trigger-bucket=homepage
将参数值放入新的 ARGS 值(新行)
steps:
- name: 'gcr.io/cloud-builders/gcloud'
args:
- functions
- deploy
- pupetter-e2e
- --source=.
- --trigger-bucket
- homepage
【讨论】:
以上是关于如何使用 Cloud Build 在 GCP 上部署功能?的主要内容,如果未能解决你的问题,请参考以下文章
了解来自 GCP 的“需要采取行动”的电子邮件,重新:启用 Cloud Build API
spring-cloud 和 spring-cloud-gcp 是不是有通用 BOM 文件?
如何使用 GCP 控制台启用 Cloud Billing 导出?
Spring Cloud Stream GCP如何重新排队失败的消息
GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)