【问题标题】:Where is the TFS build process going?TFS 构建过程将走向何方?
【发布时间】:2025-12-19 06:10:06
【问题描述】:

在设计我的构建过程时,我很难弄清楚最佳方法是什么。微软似乎(再次)扭转了局面。

我正在使用 TFS 2015 和 Visual Studio 2015。对于早期版本的 TFS,我通常会创建自定义代码活动,并将其插入到我的构建定义过程文件 (xaml) 中。我喜欢这种方法,因为它给了我很大的灵活性,使我能够编写 .NET 类。我使用了这些指南: https://msdn.microsoft.com/en-us/library/dd647551(v=vs.120).aspx

http://www.ewaldhofman.nl/post/2010/04/29/Customize-Team-Build-2010-e28093-Part-4-Create-your-own-activity.aspx

在 TFS 2015 中,似乎没有关于如何创建自定义代码活动的文档。事实上,微软似乎已经改变了一些事情,现在专注于脚本语言而不是自定义 .NET 代码:https://msdn.microsoft.com/en-us/Library/vs/alm/Build/steps/index

我创建了一个自定义代码活动,它似乎在 TFS 2015 中工作(有一些 hack),所以它仍然是可能的,但我很担心这种方法不再是可行的方法。

谁能提供有关这里发生的事情的信息?

【问题讨论】:

  • 在 TFS 2015 中仍然支持 XAML 代理,扩展 XAML 服务的过程基本保持不变(尽管您可能需要重新定位到正确的客户端对象模型和 .NET 版本)。但是 XAML 代理和活动被认为已被 VSTS 弃用,这表明它们可能也会在未来的 TFS 版本中被删除。

标签: msbuild tfsbuild workflow-foundation


【解决方案1】:

TFS 2015 引入了基于 Web 和脚本且高度可定制的新构建。同时,TFS 2015 将继续支持 XAML Build 模板和控制器。

新版本基于不同的架构并在完全不同的系统上运行。目前,您可以将新版本和代理与 XAML 版本、控制器和代理一起使用。

我应该使用哪些构建版本?

如果您是 Team Foundation Server (TFS) 和 Visual Studio Team Services 的新手,您应该使用这个新系统。大多数有使用 TFS 和 XAML 构建经验的客户也将通过使用新系统获得更好的结果。

新版本基于 Web 和脚本,并且高度可定制。它们留下了 XAML 构建的许多问题和限制。例如,这个新系统包含了开发人员用来在他们的开发机器上构建代码的各种特定领域语言 (DSL)。我们预计这将减少遇到“在我的机器上构建良好但在 CI 服务器上不存在”问题的机会。

如果您有大量自定义的 XAML 构建和自定义活动,您可以继续使用这些构建,直到您准备好将业务逻辑移植到可以在新构建中运行的脚本中。

有用的文章供您参考:

【讨论】:

  • 并不是说对于 VSTS 的新帐户不再提供对 XAML 构建的支持,并且 XAML 支持将在 2016 年 9 月关闭。
  • “此服务将于 2016 年 9 月停用。请计划改用构建和部署服务。” visualstudio.com/en-us/get-started/setup/…
  • 如果我不应该再使用代码活动,我如何才能进入构建过程?一个具体的例子:今天我的一个代码活动依赖于两个变量,一个标识没有发生构建错误,另一个标识我的所有测试都成功。这些变量在构建过程中可用。如果我要使用电源外壳构建步骤,这些如何可用?我担心我之前拥有的灵活性已经被一种易于使用的基于组件的方法所取代。
  • @Flodpanter,你的意思是你想在构建模板中使用变量吗?您可以查看msdn.microsoft.com/en-us/library/vs/alm/build/scripts/variables
  • 是的。谢谢你。我看到我过去使用的一些变量仍然可用。