【发布时间】:2020-07-15 14:29:14
【问题描述】:
我的问题是,鉴于以下 yaml 文件,如果我在“dir: process/cbd-bu-data”的任何文件中进行更改,Cloud Build 在触发时会依次运行所有步骤。这会浪费时间。
我希望只有该步骤在 cloudbuild 中运行,在该目录的文件中已对其进行了更改。我应该怎么做才能做到这一点?
这是我的cloudbuild.yaml 文件:
steps:
- args:
- beta
- functions
- deploy
- "--runtime=python37"
- "--trigger-http"
- "--entry-point=process_cbd_group_data"
- process_cbd_group_data
- "--region=us-central1"
dir: process/cbd-group-data
name: gcr.io/cloud-builders/gcloud
- args:
- beta
- functions
- deploy
- "--runtime=python37"
- "--trigger-http"
- "--entry-point=process_cbd_bu_data"
- process_cbd_bu_data
- "--region=us-central1"
dir: process/cbd-bu-data
name: gcr.io/cloud-builders/gcloud
- args:
- beta
- functions
- deploy
- "--runtime=python37"
- "--trigger-http"
- "--entry-point=process_cbd_structure_data"
- process_cbd_structure_data
- "--region=us-central1"
dir: process/cbd-structure-data
name: gcr.io/cloud-builders/gcloud
【问题讨论】:
-
这些文件在哪里?触发器的来源是什么?触发器上的更多上下文会更好。虽然似乎对触发器进行分片是最好的方法。
-
文件的位置存在于每个步骤的标签“dir”中。为云存储库设置任何分支更改的触发器。
-
对于您的用例,那么最好的方法是使用不同的触发器(在您的用例中为 3 个)来监听不同的标签或分支,这些触发器中的每一个都特定于您想要监听的文件更改到。目前在某些文件更改不可用时执行 Cloud Build 步骤。
-
嗨,@bhito,您能否添加您的评论作为答案,以便社区可以通过它获得更多可见性而从中受益?
-
@asbovelw 我已经完成了,谢谢!
标签: google-cloud-platform google-cloud-functions google-cloud-build