是否有创建GCP工件注册表服务帐户的教程?
我试过这个:https://cloud.google.com/architecture/creating-cicd-pipeline-vsts-kubernetes-engine…但它使用的是GCP容器注册表
我不认为它会有太大的不同,但我一直在得到这个:
##[error]denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource
但是我创建的服务帐户具有所需的权限(尽管这些角色是测试版的(。我甚至给了它一个非常崇高的角色,并且仍然得到了这个角色。
当我创建服务连接时,我遵循了上面链接的文档中的以下步骤:
- Docker注册表:
https://gcr.io/PROJECT_ID
,将PROJECT_ID
替换为项目名称(例如https://gcr.io/azure-pipelines-test-project-12345
( - Docker ID:
_json_key
- 密码:粘贴
azure-pipelines-publisher-oneline.json.
的内容 - 服务连接名称:
gcr-tutorial
如有任何建议,不胜感激。
我也遇到了同样的问题。正如@Mexicoder所指出的,服务帐户需要ArtifactRegistryWriter权限。此外,我最初并不清楚以下内容:
- 服务连接需要采用以下格式:https://REGION-docker.pkg.dev/PROJECT-ID(其中region类似于"us-west2"(
- Docker任务的存储库参数(Docker@2)需要采用以下形式:PROJECT-ID/REPO/IMAGE
我能够让它与Container Registry的文档一起工作。
我的问题是存储库名称。
此外,使用Artifact Registry时的主要区别是您需要授予IAM服务帐户的权限。使用ArtifactRegistryWriter。StorageAdmin将毫无用处。