我正在使用TFS构建docker镜像。构建映像后,我想将其推送到Amazon EC2 Container Registry(ECR)。
实现这一目标的最佳方法是什么?
有一个extension for TFS例如将数据上载到AWS S3或运行AWS CLI命令。使用CLI,我可以运行aws ecr get-login --no-include-email --region xxx
,然后手动推送图像。由于我们的构建服务器是一台Linux机器,而“Windows PowerShell脚本的AWS工具”仅在Windows上运行,因此它也不起作用。
答案 0 :(得分:1)
问题中的TFS extension mentioned支持现在将图像推送到ECR。 (版本1.0.14)
答案 1 :(得分:0)
我会避免扩展,只是弄清楚如何在成功构建时让TFS触发shell脚本。 (我不确切知道如何做到这一半,但我知道如何做其余的事。)
您可以下载AWS CLI for Unix,它会为您提供此命令。然后docker login $(aws ecr get-login --no-include-email --region xxx)
,如您所见,并docker push
将您的图片添加到您创建的ECR中。
我见过的最佳实践是将像这样的小“构建脚本”保存在与代码相同的存储库中,就像build-scripts
文件夹一样。然后,“困难的部分”只是连接TFS以成功运行该脚本,这就是所有需要知道的。