跨多个构建代理分发大型构建

时间:2015-06-16 14:38:11

标签: tfs build msbuild tfsbuild hyper-v

我有一个大型解决方案,有许多项目和许多文件,只有一个构建配置,Release。我正在使用TFS,完整的重建需要2个小时。

是否可以跨多个代理分发构建,以便它们可以编译不同的项目,甚至更好的不同文件?像dictcc这样的东西?我可以在多达10多台不同的机器上分发构建,但构建只能在一台机器上运行。

目前,我的印象是代理商只能拥有专门的工作,例如构建,运行测试等,但不能拆分并只分发一个构建。

我已经尝试过优化构建,但项目仍然很大,并且可以在并行构建中受益

2 个答案:

答案 0 :(得分:0)

你可以但是但是必须卷起袖子:没有内置的模板有帮助,但是Jim explains如何制作一个。

不要忘记您也可以按照Building Multiple Projects in Parallel with MSBuild中的说明利用多CPU /核心。

答案 1 :(得分:0)

您最好的选择是将您的解决方案分解为可以单独构建的失效组件。

如果在发布为Nuget之前将每个位分开构建并进行测试,则可以轻松地在构建服务器之间进行分发,甚至只构建已更改的位。

此流程也适用于2015年即将使用XAML的新构建系统。