TFS构建依赖关系

时间:2013-10-08 16:57:10

标签: tfs tfs2012 tfsbuild

在TeamCity中,您可以创建构建依赖项,其中一个构建将无法启动,直到另一个构建成功完成。这可能与TFS 2012有关吗?我在哪里可以找到有关如何设置的更多信息?

1 个答案:

答案 0 :(得分:4)

简短的回答是TFS没有相同的功能,但你可以通过一些工作实现相同的目标。

我遇到的一个常见场景是团队想要在他们办理登机手续时做一些快速的东西(编译,快速单元测试),然后立即想要做另一个运行一些较慢的东西的构建(集成测试) ,测试部署等)。我经常和我的团队一起做这件事,我将设置一个运行时间为5分钟的Gated Build,然后在Gated Build签入后立即启动CI构建,这可能需要一个小时才能运行。我喜欢这种方法,因为它可以让开发人员快速获得一些反馈,然后很快就会得到更详细的反馈。

另一个受支持的场景是让构建显式启动它的依赖关系。如果您查看实验室构建模板,它会完成此操作,它将首先启动应用程序TFS Build,并且Lab Build将等待它完成,然后Lab Build将继续。从理论上讲,你可以使用Build A开球版B来开始C& D等。

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