如何禁用对 Google Cloud Build 的 Github 检查

Posted

技术标签:

【中文标题】如何禁用对 Google Cloud Build 的 Github 检查【英文标题】:How do I disable a Github check for Google Cloud Build 【发布时间】:2019-12-02 18:56:27 【问题描述】:

我从 Github Marketplace 安装了 Google Cloud Build 应用程序,并在多个存储库上启用了它,但发现启用这些存储库的访问权限会在每次 PR 或推送到 PR 后自动开始运行 Google Cloud Build“检查” .由于其中一些存储库实际上还没有为 Google Cloud 构建做好准备,因此我需要关闭检查...我使用 URL mentioned in the docs 进入您可以选择哪些存储库应该连接到您的 GCP 项目的页面,并取消选中其中的一堆......这使他们与项目断开连接,但令人惊讶的是,并没有禁用 Github 检查!所以现在,Github 检查了几个存储库,这些存储库只是导致错误,因为它们没有连接到 Cloud Build 中的任何项目。

当然,需要一种在每个存储库的基础上“禁用检查”的方法并不少见 - 有什么方法可以做到吗?

(如果没有,如果有任何 Google 工程师在阅读,则将其视为请求的功能!);)

我确实与聊天支持人员进行了交谈,我们能想出取消检查的唯一方法是从整个组织中完全卸载 Google Cloud Build,我不想这样做,因为我们这样做 有一些我想保留的设置,如果我完全卸载它,我不知道需要重做多少配置。

这是我无法禁用的损坏检查的屏幕截图:

【问题讨论】:

你最终是如何解决这个问题的? 我开始忽略 cloudbuild 检查... ;) 也就是说,我还没有解决它,但我相信@oreoluwa 的回答(从 repo 中删除 webhook)应该可以工作,如果你真的有没有用于 repo 的 cloudbuild 触发器(在我的情况下,我现在有一些我想要使用的自定义触发器,但我想禁用显示在 Github 上的 github 默认检查,我还没有弄清楚怎么办) 我从 8 月就找到了一张关于此的票,但没有后续,它只是关闭了:github.com/GoogleCloudPlatform/cloud-builders/issues/541 google 问题跟踪器也存在问题:issuetracker.google.com/issues/138896013 【参考方案1】:

我认为禁用 CloudBuild 有两个步骤, 1. 在 CloudBuild 本身上禁用。一段时间以来,我一直看到每次推送都有 2 个构建,但禁用 CloudBuild 上的触发器有助于解决这个问题。 2. 在 Github 上,您可以配置 Cloudbuild 应用程序以监控组织级别设置上的特定 repo。 3. 如果你觉得很冒险并且没有解决,在项目级别设置上,你可以删除 cloudbuild 的 Webhooks 集成,因为这是 Github 通知每个构建的。

【讨论】:

【参考方案2】:

它可以在 GH App 安装中找到: https://console.cloud.google.com/gcb-github-registration

选择用于在 Cloud Build 和 GH 之间建立链接的 GH 帐户,然后选择要编辑的 GCP 项目。 此处可以编辑连接的仓库,在第二步(触发器设置)中,可以禁用“Default GitHub Checks”。

【讨论】:

【参考方案3】:

您还可以转到存储库的设置并单击设置内的安装。 然后从已安装的应用和授权的 github 应用中删除 Google 云构建。

【讨论】:

回购设置中没有“安装” - 我假设您的意思是“集成和服务”。请注意,在我提到的原始帖子中,我不想从整个组织中完全卸载 Google Cloud Build。并且使用 Github 中的 Google Cloud Build Configuration 页面从某些存储库中删除访问权限实际上似乎并不能阻止构建触发,只会让它们失败。【参考方案4】:

Cloud Build 触发器仍处于测试阶段,自发布此问题以来已经进行了多次更新,但现在看来“Github 默认检查”不再对管理隐藏。它们现在在连接 repo 时显式提供(但不是自动创建),您最终可以在触发器管理页面上查看和禁用(或删除)单个“Github 默认检查”:https://console.cloud.google.com/cloud-build/triggers

我将不回答这个问题,因为我不确定这是否适用于每个人,或者这个答案是否仍然正确,但如果它适合你,请随意投票!

【讨论】:

【参考方案5】:

要将 GCP 项目 链接到 Github 存储库,请通过单击 resolve 链接创建触发器,除了 Action RequiredAction Required强>禁用相同。对我来说,这个程序成功了。

【讨论】:

以上是关于如何禁用对 Google Cloud Build 的 Github 检查的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 cli / rest api / cloud 功能运行 Google Cloud Build 触发器?

Google Cloud Tasks HTTP 触发器 - 如何禁用重试

如何在 Google App Engine 标准环境中使用 Google Cloud Build 或其他方法设置环境变量?

如何通过 Google Cloud Build 中的步骤设置环境或替换变量?

Google Cloud Build 中的环境变量

如何使用 googleapis Artifacts API 以编程方式查找和删除通过 Google Cloud Build 构建的容器映像?