amazon-web-services - 带有远程 ECR 源的 Codepipeline

标签 amazon-web-services aws-codepipeline aws-ecr

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

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

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

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

CodeBuild 肯定支持跨帐户 ECR 图像访问,CodePipeline 不是吗? 有解决方案或解决方法的提示吗? (我可以想到Lambda)

最佳答案

目前在 CodePipeline 源阶段,当选择 ECR 时,您只能选择从当前 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

关于amazon-web-services - 带有远程 ECR 源的 Codepipeline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58059938/

相关文章:

node.js - 如何使用node js合并两个json的数据

amazon-web-services - 使用 CodePipeline 从单个 CloudFormation 模板批量创建资源

node.js - AWS CodeDeploy 在应用程序启动时卡住

amazon-web-services - AWS 批处理、AWS ECR : Docker run gives an error x509: certificate signed by unknown authority

ubuntu - 尝试在 ubuntu amazon EC2 实例上安装 gcc

amazon-web-services - 通过 AWS 请求 ID 获取请求参数

amazon-web-services - 如何在 AWS CDK 中指定 `CodeBuildAction` 中的区域?

amazon-web-services - 无论如何我可以修改get-login-password token 的到期时间吗?

jenkins - 如何使用 Jenkins 将 Docker 容器从 Amazon ECR 自动部署到 Kubernetes

ubuntu - 在 AWS 上安装 nginx 后禁止 403(不欢迎 nginx 消息)