创建从Azure DevOps到GCP项目注册表的服务连接



是否有创建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将毫无用处。

最新更新