如何在不安装 Visual Studio 的情况下在生产环境中 运行 TFS 2017 代理

How to run TFS 2017 Agent In Production Environment without installing Visual Studio

在 TFS 2017 Update 2 中,而不是在线 TFS,如何在生产环境中使用 Release Management/Build 代理而不在构建盒上安装 Visual Studio?欢迎替代最佳实践!

我的 TFS 处于受控开发环境中,具有与生产不同的、不受信任的域。在代理计算机上安装 Visual Studio 在这里不是问题(需要 vstest、visualstudio 等代理功能)。

我可以按照此处所述配置我的生产代理以使用 TFS:https://realalm.com/2016/11/25/tfs-2017-build-agent-in-untrusted-domain/

但是,我不允许在任何生产服务器上加载 Visual Studio 本身。我们正在尝试使用 TFS 的发布管理和持续部署功能。但是,我看不到如何根据代理的要求将代理功能投入生产。

我想也许有一个工作流 builds/tests 在我们的 dev/test/qa 环境中,将文件放到一个位置,然后生产代理只需提取文件并部署它们。但这似乎破坏了编译代码的幂等性,并引入了在环境之间修改文件的可能性。此外,生产 build/release 不会有关联的构建和测试结果工件,我必须回溯以前的构建历史以进行报告。这种环境非常关注合规性和审计,因此对报告产生不利影响是一项艰难的任务。

重复问题,那么,如何在生产环境中使用RM/Build代理而不在代理机器上安装Visual Studio?我们是 CD 的新手,所以我愿意接受我的工作流程错误的想法。

虽然构建和发布代理是相同的软件,但您可以创建 "release" 代理的专用代理池,这些代理没有安装任何构建问题。

那么在为您的生产环境创建发布定义时,只需选择合适的代理队列即可。发布定义中的每个环境都可以配置为 运行 在不同的代理队列上。

您的构建将 运行 一次,在您想要的任何环境中,然后发布一组工件。这将在您的专门用于构建的代理池中,并且将适当地配置此池中的代理。

您的发布将下载并部署这些工件。这些将 运行 在您的专用于部署的代理池中。