无人机IO从另一个帐户发布到ECR

时间:2018-11-15 16:11:09

标签: continuous-deployment amazon-ecs drone drone.io

我正在使用Drone.IO CI / CD软件在同一区域EU-WEST-1中的另一个AWS账户中构建映像并将其发布到ECR。

我已经设置了IAM伪像,它正在连接,但在最后一步失败。似乎Drone忽略了我的注册表选项,而是通过AWS API调用使用了注册表。

Drone正在帐户0987654321中运行,我正在尝试将映像推送到帐户1234567890。

  ecr:
    image: plugins/ecr
    registry: 12345677890.dkr.ecr.eu-west-1.amazonaws.com
    repo: repo1/app_name
    region: eu-west-1
    tags: latest
    dockerfile: Dockerfile

我收到以下错误:

+ /usr/local/bin/docker tag blah 0987654321.dkr.ecr.eu-west-1.amazonaws.com/repo1/app_name:latest
+ /usr/local/bin/docker push 0987654321.dkr.ecr.eu-west-1.amazonaws.com/repo1/app_name:latest
The push refers to repository [0987654321.dkr.ecr.eu-west-1.amazonaws.com/repo1/app_name]
name unknown: The repository with name repo1/app_name does not exist in the registry with id '0987654321'

这使得它看起来甚至都没有使用注册表属性,也不使用API​​调用中的注册表。

2 个答案:

答案 0 :(得分:0)

我知道可能会晚一点,但是在我的旧工作中使用了Drone来处理将图像推送到另一个AWS账户中的ECR存储库的特定情况。在旧的bash ECR插件(现在是Go)中,如果没有记错的话,它曾经带有--registry-ids选项。现在看来是documented

答案 1 :(得分:0)

这看起来像是ECR插件中的已知错误。 registry设置被忽略,而支持从AWS返回的默认注册表-这将是Drone运行所在的帐户中的一个。

一旦this PR被合并,它应该可以工作。