我一直在尝试将 Google Cloud Build 与我的 GitHub 帐户集成。过去我已经为 GCP 上的其他项目设置了工作构建触发器 - 但是使用这个,我无法让它可靠地工作。这是我所做的:
现在,当手动运行默认触发器时,我总是在选择我的分支后收到以下错误消息:“无法触发构建:请求包含无效参数。”这是它的样子:
当通过 GitHub 存储库中的新提交调用时,触发器也不起作用。我通过 GitHub UI 发现了两个不同的错误:
以下是我迄今为止尝试过的一些方法来缓解这个问题:
在这一点上,我似乎被卡住了,我将非常感谢任何可以以某种方式将我推向正确方向的建议/提示。
还有一件事我应该注意:我在这个项目中已经使用了一段时间的触发器。在我将 GitHub 上的主分支重命名为“生产”后,他们停止了工作。我不知道这是否与我的触发器失败有关。
最佳答案
我发现这可能是因为您有一个“无效”的 CloudBuild 配置文件(例如 cloudbuild.yaml
)。
这让我失望,因为这并不一定意味着它是无效的 YAML 或 JSON,只是它不是 CloudBuild 所期望的。
就我而言,我定义了一个 secretEnv
值,但删除了 step
那个利用了它。显然,CloudBuild 不允许 secretEnv
未使用的值,这导致了神秘的错误消息:
Failed to trigger build: Request contains an invalid argument.
如果不清楚,这里是一个将失败的配置文件示例:
steps:
- name: "gcr.io/cloud-builders/docker"
entrypoint: "bash"
args: ["-c", "docker login --username=user-name --password=$$PASSWORD"]
secretEnv: ["PASSWORD"]
secrets:
- kmsKeyName: projects/project-id/locations/global/keyRings/keyring-name/cryptoKeys/key-name
secretEnv:
PASSWORD: "encrypted-password"
UNUSED_PASSWORD: "another-encrypted-password"
UNUSED_PASSWORD
从未在任何地方实际使用过,因此这将失败。由于此错误消息非常模糊,我假设还有其他情况可能会导致相同的问题,因此仅将其作为要查找的错误类型的示例。
关于github - Google Cloud Build/GitHub 中的无效参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63330669/