【问题标题】:TFS 2010 - CI triggers ONLY affected workspaces solutionsTFS 2010 - CI 仅触发受影响的工作区解决方案
【发布时间】:2013-04-05 23:50:28
【问题描述】:

我有一个 TFS 2010 构建定义及其 XAML 工作流逻辑和内容。

这是一个持续集成定义,它与同一服务器/工作区文件夹中包含的多个解决方案相关联。

我希望它编译和运行测试,但只是工作空间受到影响的解决方案。 为了更清楚,例如:我签入了一个解决方案的 .cs 文件;我希望定义仅编译具有更改的解决方案并丢弃其他解决方案,除非签入变更集涉及这些解决方案中包含的文件。

我对 IncrementalBuildIncrementalGet 做了一些研究(可以通过 Build Definition 的 'Clean Workspace' 参数来实现),但是它仍在编译所有解决方案。

有没有办法通过更改 XAML 工作流或任何特殊参数来完成此操作?

谢谢,

【问题讨论】:

    标签: tfs continuous-integration build-definition


    【解决方案1】:

    AFAIK,您必须将这些解决方案拆分为不同的版本。当触发构建定义时,它将处理所有要构建的项目。现在解决方案应该跳过最新的项目,但解决方案本身将被处理。

    【讨论】:

    • 是的;我想这是唯一的方法:我找不到实现这一目标的简单方法。将您的答案标记为有效答案,谢谢。
    • 唯一知道解决方案已更改以构建它的方法,Tfs 对解决方案的内容一无所知。当通过签入触发构建时,因为映射的工作区路径在源代码控制中发生了变化。 Clean Workspace 参数会影响 msbuild 将如何处理该过程,如果有先前的输出,它将像 localy studio 那样跳过不需要编译的部分。开箱即用的唯一可能链接是将解决方案拆分为单独的构建,并将它们的路径与工作区的路径相匹配。否则,您将需要添加自定义逻辑来过滤解决方案。
    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 2011-02-03
    • 1970-01-01
    • 2015-03-03
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多