Azure 管道服务容器 - 来自 AWS ECR 的映像

bet*_*bet 2 azure-devops azure-pipelines aws-ecr

我一直在尝试从 azure 管道中的 AWS ECR 中提取服务容器,但我不确定如何从 pipeline.yml 执行“aws ecr get-login”。这是我在 azure pipeline.yml 中的内容,但当然我收到了“没有基本身份验证凭据”错误。任何人都可以说明如何从 azure 管道服务容器中的 AWS ECR 中提取图像吗?

resources:
  containers:
  - container: sqlDB
    image: 1511260612345.dkr.ecr.ap-southeast-2.amazonaws.com/sqlDB:latest
    options: --name myDB
    env:
      ACCEPT_EULA: Y
      SA_PASSWORD: myPass123!

services:
  sql_db: sqlDB
Run Code Online (Sandbox Code Playgroud)

我也尝试连接到 AWS 端点,但愚蠢的是 azure 管道只允许 docker 注册表和它自己的 azure 容器注册表。

“管道无效。sqlDB 引用的图像注册表的预期 'dockerregistry' 服务连接类型,但为服务连接 aws_test 获得了 AWS。”

小智 6

您的管道是正确的,@4c74356b41 通过添加“端点”提到的内容也是正确的。

以下是分步说明:

  1. 假设您拥有 AWS 访问权限和密钥,您需要创建配置文件凭据或者您可以执行“aws configure”。之后执行以下命令:

aws ecr get-login --no-include-email --region [在此处输入您的区域]

或者如果您有 aws 个人资料

aws ecr get-login --no-include-email --profile [输入您的 aws 个人资料] --region [在此处输入您的区域]

从上面的输出中复制密码部分(在“-p”之后)(您需要将其粘贴到下面的 docker 注册表中)。

  1. 转到项目设置 -> 服务连接 -> 从新的服务连接下拉列表中选择“Docker Registry”

在此处输入图片说明

  1. 输入详细信息如下:

在此处输入图片说明

  1. 将 pipeline.yml 中的端点设置为“aws_test”