【问题标题】:Deploy docker image with TFS to AWS ECR使用 TFS 将 docker 映像部署到 AWS ECR
【发布时间】:2018-03-25 13:32:26
【问题描述】:

我正在使用 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 机器,而“AWS Tools for Windows PowerShell Script”只能在 Windows 上运行,所以它也不起作用。

【问题讨论】:

    标签: amazon-web-services tfs tfsbuild amazon-ecs amazon-ecr


    【解决方案1】:

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

    现在有“AWS Elastic Container Registry Push”任务

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 非常感谢您的回复。使用 TFS 运行脚本不是问题。我不喜欢这里的部分是我需要在脚本中硬编码 AWS 的密码。这很糟糕,因为任何人都可以看到它,如果我需要更改它,我需要在每个项目中更改它。无论如何,这是一条路要走,但对我来说只有一个选择,如果没有其他方法。
      • AWS CLI 允许您将凭证信息放置在三个(或更多?)不同的位置。我能想到的是 ~/.aws 中的文本文件,AWS CLI 查找的环境变量,或者是的,我认为是 cli 应用程序的参数。文件方法将为您提供一个放置凭据的通用位置,以便您可以将它们用于许多项目。
      猜你喜欢
      • 2020-07-03
      • 2021-06-24
      • 2020-12-30
      • 2020-07-29
      • 2015-04-16
      • 1970-01-01
      • 2020-12-16
      • 2018-06-17
      • 2017-10-21
      相关资源
      最近更新 更多