TFS 构建依赖项

标签 tfs tfsbuild

在 TeamCity 中,您可以创建构建依赖项,其中一个构建只有在另一个构建成功完成后才会启动。 TFS 2012 可以吗?我在哪里可以找到有关如何设置的更多信息?

最佳答案

简短的回答是,TFS 没有等效的功能,但您只需做一些工作即可实现相同的目标。

我遇到的一个常见场景是,团队想要在 checkin 时进行构建,执行一些快速的操作(编译、快速单元测试),然后立即进行另一个构建,运行一些较慢的操作(集成测试) 、测试部署等)。我经常和我的团队一起这样做,我将设置一个在 5 分钟内运行的门控构建,然后在门控构建 checkin 后立即启动 CI 构建,这可能需要一个小时才能运行。我喜欢这种方法,因为它可以快速为开发人员提供一些反馈,然后很快就会提供更详细的反馈。

另一个受支持的场景是让构建显式启动其依赖项。如果您查看实验室构建模板,它正是这样做的,它将首先启动应用程序 TFS 构建,实验室构建将等待其完成,然后实验室构建将继续。理论上,您可以让构建 A 启动构建 B,从而启动 C 和 D 等。

如果您的需求比这更复杂(例如,您有多个应用程序,每个应用程序都有一个构建,那么一个产品包含一些需要在每个应用程序更改后构建的应用程序,那么可能需要一个产品套件构建每当产品发生变化时就开始 - 这是我处理过的场景)。我基本上实现了一个自定义构建依赖系统来处理这个问题。我们制作了一个描述构建依赖项的 XML 文件,然后编写了一个简单的 ISubscriber 插件,我们将其部署到 TFS,它将监听“构建完成”事件,然后查阅依赖项配置并启动适当的构建。

关于TFS 构建依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19253832/

相关文章:

tfs - TF 合并命令

c# - TFS 2012 Team Build 获取解决方案配置

testing - Microsoft 测试管理器 2010 错误 : The required category 'Microsoft.TestCaseCategory' does not exist in team project

c++ - Visual Studio Online(调整用户权限 - 不是 TFS 用户而是 Windows 用户)

.net - PCL "profile 111"- 如何在 TFS 构建服务器上安装?

scripting - 无法使用 TF.exe 确定工作区

tfs - 在 TFS 构建中首次运行后跳过自定义目标

visual-studio - 如何让 MSDeploy 将其他文件发布到 Azure?

Azure DevOps API 身份验证

TFS_SCHEMA_VERSION 将 tfs 2010 更新到 sp1 时出现问题