是否可以从 TFS 创建一个 docker 容器并将发布版本部署到它?

Posted

技术标签:

【中文标题】是否可以从 TFS 创建一个 docker 容器并将发布版本部署到它?【英文标题】:Is it possible to create a docker container from TFS and deploy a release build to it? 【发布时间】:2017-08-10 13:11:07 【问题描述】:

我们正在本地运行 TFS 2017。我想为我们的 QA 团队创建一个发布定义,该团队将创建一个运行 Windows 7 的 Docker 容器,并自动将我们的发布版本部署到它。

部署完成后,QA 团队应该能够登录到容器来测试应用。无需手动运行 MSI 安装程序或 Setup.exe。

理想情况下,每个排队的版本都将创建自己的容器,其中包含自己的已发布版本副本。

这可能吗?还是推荐?我们所有的服务器和主机都在内部,我们不会使用 Azure。

提前感谢您的任何建议。

【问题讨论】:

您在使用命令行工具方面取得了多大进展?有哪些可用的工具? 还没有安装 Docker - 我问的是可行性和易于实施。 谢谢马克。会的。 【参考方案1】:

它能够从 TFS 创建一个 docker 容器并与构建/发布管道集成。该领域的一些教程:

Continuous Deployment with Docker and Build vNext Using docker on Windows in VSTS build and release management

但是,无法构建 Windows 7 Docker 容器。如果 如果您计划完整安装 Windows 7,则应使用 虚拟机Docker 不适合在这个意义上使用。

更多详情请参考类似问题:Build a Windows 7 Container

【讨论】:

【参考方案2】:

我在 2019 年回答。 我们将 TFS 2018 与适用于 Windows 的 Docker 一起使用。 我们的私有注册表是来自 Docker.io 的 Linux 容器。 我们的发布定义将

    在 TFS 构建服务器上构建代码(例如 BS01) 在 BS01 上构建 Docker 文件。 (即相同的 _work/* 文件夹) 将映像从 BS01 推送到私有注册表。 从 Docker 主机(例如 DH01)运行映像,该主机将从注册表下载以运行它。

【讨论】:

您好,您是如何在 windows 服务器中运行 linux 容器的?另外,您是如何管理图像标签的?在此先感谢:) 对不起,我们在 Linux 中运行 Linux 容器。在 TFS“docker 命令”步骤中将标签添加到图像。

以上是关于是否可以从 TFS 创建一个 docker 容器并将发布版本部署到它?的主要内容,如果未能解决你的问题,请参考以下文章

如何从主机获取 Docker 容器的 IP 地址

docker-2.容器

是否可以从 Docker 映像创建 AWS AMI?

TFS 2017 - 从 TFS 服务器而不是代理运行 powershell 脚本

是否可以在无 GUI 的服务器上运行嵌入 GUI 环境的 docker 容器并从远程 GUI 客户端打开 GUI 会话?

是否可以禁用/控制 TFS 用户(本地)在 TFS 项目下创建新文件夹?