我需要在云构建中创建一个依赖触发器。目前我有两个触发器,如下图所示,这两个触发器都是在将事件推送到各自存储库中的 master 分支时创建的。
将代码推送到云存储库时触发“app-engine-test”,而将代码推送到 Git 存储库时触发“seleniumTest”。
但是,一旦“app-engine-test”构建完成,我想触发“seleniumTest”触发器。我在 GCP 用户界面中找不到任何此类设置。
有人可以帮忙吗?
您可以通过使用 Pub/Sub 消息作为依赖构建的触发器来执行此操作。
当 CloudBuild 构建运行时,它会将消息发布到 Pub/Sub 主题 cloud-builds
- 请参阅 https://cloud.google.com/build/docs/subscribe-build-notifications。
因此,如果您有构建 app
和 test
,那么当您推送到源代码管理时会触发 app
,而当 {{1} 上的消息时会触发 test
}} 主题已发布。
我自己还没有测试过这个,但需要类似的东西,所以我会随时更新这个答案。如果事实证明您无法订阅 cloud-builds
事件,那么在 cloud-builds
构建结束时,您还可以向您自己的 Pub/Sub 主题发布一条消息,然后您可以使用该消息触发第二次构建。
针对您的情况的另一种解决方案可能是合并两个项目,并在成功部署代码后简单地运行 selenium 测试作为最后的构建步骤。