问题: 我正在尝试使用github触发器使用云构建在Google Cloud Platform中设置CI/CD管道。但是,当我尝试使用云构建触发器触发构建时,我得到了

问题描述 投票:0回答:0
Failed to trigger build: Permission 'cloudbuild.builds.create' denied on resource 'projects/00000045af180780' (or it may not exist)

似乎正确地检测到触发器,但是它正在尝试访问错误的项目(00000045AF180780),该项目是数字和字母数字字符的混合,而不是预期的项目(示例项目)(示例项目),从而导致构建失败。

尽管有正确的IAM权限,但我无法解决此问题。

Context:

我正在使用自定义的CloudBuild.yaml文件来构建和部署我的Docker容器到云运行。 我能够使用GCLOUD CLI成功地手动部署,而GCLoud CLI无济于事。
IAM许可:

我正在使用的服务帐户具有以下角色:

Cloud BuildEditor

云运行管理 云运行调用

工件注册管理员

存储管理 云构建Workerpool所有者

与云运行,人工制品注册表和云功能有关的其他角色。
trigger配置:

I设置了一个具有以下参数的GitHub触发器:

Branch-Pattern: ^Main $
build-config:cloudbuild.yaml



当推到主分支时,触发器起作用,但如前所述,它尝试使用错误的项目ID(混合数字和字母数字字符)而不是正确的项目ID(示例项目)。
sissue:
我不确定为什么错误会提及其他项目ID而不是正确的项目。即使我的gcloud配置设置为正确的项目,也似乎云构建在触发执行过程中引用了错误的项目。
问题:

如何解决
PERMISSION_DENIED

问题,云构建似乎正在使用错误的项目ID? 我需要为触发执行中涉及的服务帐户验证哪些其他IAM角色或权限?

如何确保云构建触发正确地引用云构建控制台中正确的项目ID?

任何有助于确定此问题的根本原因,都将不胜感激!

I确认服务帐户具有所有必需的角色,包括云构建编辑器,云运行admin和Cloud Run Invoker。 我检查了我的IAM角色,并确认它们与云构建和云运行的必要权限保持一致。
i我尝试重新创建云构建触发器,并确保正确设置了Github的Webhook。 我还确保GCloud配置列表显示正确的项目。

我在stackoverflow上遇到了一个类似的问题
google cloud run无法触发构建:许可'cloudbuild.builds.create'create'被拒绝,但我没有找到对我有用的解决方案。

还没有足够的代表作为评论。

您可以将您的cloudbuild.yaml附加到您的问题上的屏幕截图(带有足够细节)。我需要对您当前设置的组件进行更多了解以适当协助。

说,基本上这些问题似乎来自错误的项目ID。我可能首先要跟踪。

google-cloud-platform google-cloud-run cicd google-cloud-build google-artifact-registry
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.