Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将带有TFS的docker映像部署到AWS ECR_Amazon Web Services_Tfs_Tfsbuild_Amazon Ecs_Amazon Ecr - Fatal编程技术网

Amazon web services 将带有TFS的docker映像部署到AWS 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上运行,因此它也不起作用。我会避免扩展,

我正在用TFS构建docker图像。在图像构建完成后,我想将其推送到AmazonEC2容器注册中心(ECR)

实现这一目标的最佳方式是什么


有一种方法可以将数据上载到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的公共位置,以便您可以在许多项目中使用它们。