0

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

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

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

4

2 回答 2

1

问题中提到的TFS 扩展现在支持将图像推送到 ECR。(版本 1.0.14)

现在有“AWS Elastic Container Registry Push”任务 在此处输入图像描述

于 2017-12-01T09:31:07.007 回答
0

我会避免扩展,只是弄清楚如何让 TFS 在成功构建后触发 shell 脚本。(我不确切知道如何完成等式的一半,但我确实知道如何完成剩下的部分)。

您可以下载适用于 Unix 的 AWS CLI,它会为您提供此命令。然后docker login $(aws ecr get-login --no-include-email --region xxx),正如您所见,docker push您创建的 ECR 中的图像。

我见过的最佳实践是将像这样的小“构建脚本”与您的代码保存在同一个存储库中,就像build-scripts文件夹或其他东西一样。然后“困难的部分”只是连接 TFS 以在成功时运行该脚本,这就是所有需要知道的。

于 2017-10-13T14:02:46.710 回答