1

是否可以使用远程 ECR 存储库作为 CodePipeline 中的源?

我收到以下错误:名称为“12345.dkr.ecr.eu-central-1.amazonaws.com/ecrrepo”的存储库在 ID 为“67890”的注册表中不存在(帐户 ID 已被有意更改)

但是,远程存储库肯定存在。

整体情况:我有 2 个帐户,开发和测试。现在我已经在开发帐户中构建并运行了一个管道,我想在测试帐户中进行相同的部署,但使用相同的 ECR 存储库。只是附加信息:我可以使用开发帐户的存储库手动部署到测试帐户的 ECS 集群。

CodeBuild 肯定支持跨账户 ECR 镜像访问,不是 CodePipeline 吗?有关解决方案或解决方法的任何提示?(我能想到 Lambda)

4

1 回答 1

2

在选择 ECR 的 CodePipeline 源阶段,您只能选择从当前 AWS 账户提供 ECR。

解决方法是在管道中有一个 CodeBuild 阶段,它可以检索跨账户 ECR 源:

https://aws.amazon.com/blogs/devops/how-to-use-cross-account-ecr-images-in-aws-codebuild-for-your-build-environment/

当另一个账户中的 ECR 源发生更改时,您的管道仍然可以由 CloudWatch Events 启动:

CW 事件总线:https ://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEvents-CrossAccountEventDelivery.html

于 2019-09-24T02:00:11.143 回答