从Azure DevOps到GCP Artifact Registry创建服务连接

3
是否有任何创建GCP Artifact Registry服务帐户的教程?
我已经尝试过这个链接: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`
如果有任何建议,请告知。
2个回答

1
我遇到了同样的问题。正如@Mexicoder所指出的,服务账号需要具备ArtifactRegistryWriter权限。此外,以下内容最初对我来说不太清晰:
  • 服务连接格式需要为:https://REGION-docker.pkg.dev/PROJECT-ID(其中region类似于'us-west2')
  • Docker任务(Docker@2)的repository参数需要采用以下形式:PROJECT-ID/REPO/IMAGE

0

我已经通过容器注册表的文档将其工作起来了。

我的问题在于仓库名称。

此外,使用Artifact Registry时的主要区别是您需要授予IAM服务帐户的权限。请使用ArtifactRegistryWriter。StorageAdmin将无用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接