Amazon web services TeamCity:将docker图像推送到AWS ECR

Amazon web services TeamCity:将docker图像推送到AWS ECR,amazon-web-services,docker,teamcity,amazon-ecr,Amazon Web Services,Docker,Teamcity,Amazon Ecr,使用一台服务器和三个单独的代理运行TeamCity 2019.1.4。代理和服务器都在各自的server/agent容器中运行,分别位于不同的EC2实例中。我希望构建工件(docker图像)被推送到ECR。权限是通过IAM角色配置的。推/拉时,我收到未经授权的错误。从代理EC2主机手动拉取映像可以正常工作。但是从代理EC2容器中手动拉取会产生相同的错误。如何配置TeamCity代理容器以将其自身标识为主机 PS:我试图避免的一个选项是以经典模式(手动安装)运行TeamCity代理,这很可能会起作

使用一台服务器和三个单独的代理运行TeamCity 2019.1.4。代理和服务器都在各自的
server/agent
容器中运行,分别位于不同的EC2实例中。我希望构建工件(docker图像)被推送到ECR。权限是通过IAM角色配置的。推/拉时,我收到
未经授权的
错误。从代理EC2主机手动拉取映像可以正常工作。但是从代理EC2容器中手动拉取会产生相同的错误。如何配置TeamCity代理容器以将其自身标识为主机

PS:我试图避免的一个选项是以经典模式(手动安装)运行TeamCity代理,这很可能会起作用。

请执行以下操作:

  • 在TeamCity项目配置中,添加ECR连接
  • 然后,在构建配置中,添加构建特性,添加“Docker支持”
  • 确保选择“在生成之前登录Docker注册表” 已选中,您可以从项目中选择ECR连接 配置

在拉取或推送图像之前,您是否想先登录
$(aws ecr get login--不包括电子邮件--地区us-west-2)
代理docker映像中没有
aws
工具。您可以在“关于
teamcity
推送到ecr存储库”中找到解决方案。但是,如果您想同时登录多个注册中心,您的运气就不好了。这似乎不受支持。嗯,它确实适用于最新的TeamCity。我在一个构建配置上有多个ECR连接。很有趣。。。我试试看。现在,我手动登录到不同的注册表。