2017-10-13 115 views
0

我正在用TFS构建Docker镜像。在构建映像后,我想将其推送到Amazon EC2容器注册表(ECR)。使用TFS将Docker镜像部署到AWS ECR

什么是实现这一目标的最佳途径?

有一个extension for TFS例如将数据上传到AWS S3或运行AWS CLI命令。使用CLI,我可以运行aws ecr get-login --no-include-email --region xxx,然后手动推送图像。由于我们的buildserver是一台linux机器,并且“Windows PowerShell脚本的AWS工具”只能在Windows上运行,所以它也不起作用。

回答

0

我会避免扩展,只是想出如何让TFS在成功构建时触发shell脚本。 (我不知道如何做这个等式的一半,但我知道如何做其余的)。

你可以下载AWS CLI for Unix,它给你这个命令。然后按照您所看到的docker login $(aws ecr get-login --no-include-email --region xxx)docker push您的图像到您创建的ECR。

我见过的最好的做法是保持一点“构建脚本”像这样在同一个存储库中的代码,像一个build-scripts文件夹或东西。然后,“困难的部分”只是挂钩TFS来成功运行该脚本,这就是所有需要知道的。

+0

非常感谢您的回复。使用TFS运行脚本不是问题。这里我不喜欢的部分是我需要在脚本中硬编码AWS的密码。这是不好的,因为任何人都可以看到它,如果我需要改变它,我需要在每个项目中改变它。 从来没有这样的路要走,但对我来说只有一个选择,如果没有其他方式。 – Mathias

+0

AWS CLI允许您将凭据信息放置在三个(或更多?)不同的地方。我能想到的头脑是〜/ .aws中的文本文件,AWS CLI寻找的环境变量,或者是我认为cli应用程序的参数。文件的方法会给你一个放置信誉的通用地方,所以你可以在很多项目中使用它们。 – RyanWilcox

相关问题