使用 TFS 将 docker 个映像部署到 AWS ECR
Deploy docker image with TFS to AWS ECR
我正在使用 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 上它也不起作用。
我会避免扩展,只是弄清楚如何让 TFS 在成功构建后触发 shell 脚本。 (我不知道如何完成等式的一半,但我知道如何完成其余部分)。
您可以下载 AWS CLI for Unix,它会为您提供此命令。然后 docker login $(aws ecr get-login --no-include-email --region xxx)
如您所见,docker push
您的图像到您创建的 ECR。
我见过的最佳做法是将这样的小 "build scripts" 保存在与您的代码相同的存储库中,例如 build-scripts
文件夹或其他内容。然后 "hard part" 只是将 TFS 连接到 运行 成功的脚本,这就是所有需要知道的。
问题中的TFS extension mentioned现在支持推送镜像到ECR。 (版本 1.0.14)
现在有 "AWS Elastic Container Registry Push" 任务
我正在使用 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 上它也不起作用。
我会避免扩展,只是弄清楚如何让 TFS 在成功构建后触发 shell 脚本。 (我不知道如何完成等式的一半,但我知道如何完成其余部分)。
您可以下载 AWS CLI for Unix,它会为您提供此命令。然后 docker login $(aws ecr get-login --no-include-email --region xxx)
如您所见,docker push
您的图像到您创建的 ECR。
我见过的最佳做法是将这样的小 "build scripts" 保存在与您的代码相同的存储库中,例如 build-scripts
文件夹或其他内容。然后 "hard part" 只是将 TFS 连接到 运行 成功的脚本,这就是所有需要知道的。
问题中的TFS extension mentioned现在支持推送镜像到ECR。 (版本 1.0.14)
现在有 "AWS Elastic Container Registry Push" 任务