Amazon web services 将带有TFS的docker映像部署到AWS ECR
我正在用TFS构建docker图像。在图像构建完成后,我想将其推送到AmazonEC2容器注册中心(ECR) 实现这一目标的最佳方式是什么Amazon web services 将带有TFS的docker映像部署到AWS ECR,amazon-web-services,tfs,tfsbuild,amazon-ecs,amazon-ecr,Amazon Web Services,Tfs,Tfsbuild,Amazon Ecs,Amazon Ecr,我正在用TFS构建docker图像。在图像构建完成后,我想将其推送到AmazonEC2容器注册中心(ECR) 实现这一目标的最佳方式是什么 有一种方法可以将数据上载到AWS S3或运行AWS CLI命令。使用CLI,我可以运行aws ecr get login--不包括电子邮件--区域xxx,然后手动推送图像。由于我们的buildserver是一台linux机器,而且“AWS Tools for Windows PowerShell脚本”仅在Windows上运行,因此它也不起作用。我会避免扩展,
有一种方法可以将数据上载到AWS S3或运行AWS CLI命令。使用CLI,我可以运行
aws ecr get login--不包括电子邮件--区域xxx
,然后手动推送图像。由于我们的buildserver是一台linux机器,而且“AWS Tools for Windows PowerShell脚本”仅在Windows上运行,因此它也不起作用。我会避免扩展,只是想知道如何让TFS在成功构建后触发shell脚本。(我不知道怎么做这一半方程式,但我知道怎么做其余的)
您可以下载,它将为您提供此命令。然后,docker login$(aws ecr get login--不包括电子邮件--区域xxx)
如您所见,docker将您的图像推送到您创建的ecr
我见过的最佳实践是将像这样的小“构建脚本”保存在与代码相同的存储库中,比如buildscripts
文件夹之类。然后,“困难的部分”只是连接TFS以在成功时运行该脚本,这就是需要知道的。问题中的支持现在将图像推送到ECR。(版本1.0.14)
现在有了“AWS弹性容器注册表推送”任务
非常感谢您的回复。使用TFS运行脚本不是问题。这里我不喜欢的部分是,我需要在脚本中硬编码AWS的密码。这是很糟糕的,因为任何人都可以看到它,如果我需要改变它,我需要在每个项目中改变它。尽管如此,这仍然是一种方法,但对于我来说,只有在没有其他方法的情况下,这才是一种选择。AWS CLI允许您将凭据信息放置在三个(或更多?)不同的位置。我脑海中能想到的是~/.aws中的文本文件、aws CLI查找的环境变量,或者是CLI应用程序的参数。文件方法将为您提供一个放置cred的公共位置,以便您可以在许多项目中使用它们。