如何在GitHub ref / pull / * / merge分支事件上触发Google Cloud Build

时间:2018-10-18 16:07:16

标签: git github google-cloud-platform google-cloud-build

据我所知,有两种方法可以在GitHub存储库上触发Google Cloud Build:

  1. 所有拉动请求都是自动构建的
  2. 定义触发器,使其在分支更改时运行

未合并的GitHub拉取请求具有2个引用,如下所示:

$ git ls-remote
From git@github.com:user/repo
1680161331c0a0ebcf59fb1ef2f4dbe27b857418    HEAD
9e1d427bfcd97d8ac2eda7661cc8a21da2355d19    refs/heads/if_deps
ee8328eb1e5fa38c9cc39c86d8b0896c9eaec73c    refs/heads/mcmc-fixes
1680161331c0a0ebcf59fb1ef2f4dbe27b857418    refs/heads/master
94d3a40412aff060a2a820d164dfd52050cac192    refs/pull/1/head
9e1d427bfcd97d8ac2eda7661cc8a21da2355d19    refs/pull/2/head
ccb44a8c12ed9d79e76551e7876892c9e87de032    refs/pull/2/merge
ee8328eb1e5fa38c9cc39c86d8b0896c9eaec73c    refs/pull/3/head
f9928f924698042939008e8526094662b7f44125    refs/pull/3/merge
  • PR#1已被合并,只有refs/pull/1/head
  • PR#2和#3尚未合并,refs/pull/2/merge也存在

不幸的是,自动拉取请求触发器仅生成refs/pull/*/head引用,而不生成refs/pull/*/merge引用。构建refs/pull/*/merge来证明拉取请求可以安全地合并到主请求中,这一点更为重要。

所以我试图定义一个在refs/pull/*/merge上运行的触发器

据我所知Google Cloud Build触发器仅与refs/heads/<regex>形式的GitHub引用匹配:

Cloud Builder Triggers

更改refs/pull/*/merge分支时是否可以触发构建?

1 个答案:

答案 0 :(得分:0)

我还测试了它,的确没有为refs/pull/*/merge触发构建。

有一个Feature Request on the Issue Tracker,因此将来可能会实现。