2010-02-18 57 views
2

当我在TFS 2008中构建我们的项目之一时,大约需要30分钟才能构建一个小型项目。当我查看构建日志文本时,我注意到它正在执行以下任务,即获取我们的TFS存储库(DEV,MAIN,PROD,TEST)的所有分支并在构建之前下载源。有没有办法只获得构建所需的依赖关系,而不是为每个项目下载我们的整个源代码库?TFS 2008在构建一个项目时获取源代码的所有分支

BuildLog.text片段:

获取TeamFoundationServerUrl = “HTTP:// vmtfs:8080 /” BuildUri = “vstfs:///构建/编译/ 10676” 力=真正覆写=假PopulateOutput =假预览=假递归=真正的版本= “C19791” 工作区= “VMLSBUILD_17”

我们正在使用VS2005与TFS 2008

回答

0

没错,关键是在你的脚本行:

Workspace="VMLSBUILD_17" 

在构建计算机上,启动VS,单击“文件”菜单,然后选择“源代码控制 - >工作区”。编辑您的脚本使用的工作空间,仅包含构建服务器所需的文件夹。您可以创建多个工作区,并选择以这种方式在构建脚本中使用哪些工作区。

+0

David感谢您的回复,并且对解决我们的问题非常有帮助。再次感谢。 – Bill 2010-02-19 15:53:05

+0

不建议或不支持此方法。 – 2010-02-19 17:23:35

+0

除非另行配置,否则Team Build将删除工作区并使用构建定义中为每个构建指定的文件夹重新创建它。通过在构建服务器上手动编辑对工作空间所做的更改通常会在下一个版本中丢失。 – 2010-09-22 14:23:11

1

与2005年不同,在TFS 2005中,Get过程中使用的工作空间映射是实际构建定义的一部分。使用VS中的Build Explorer工具编辑你喜欢的映射。 (注意:由于您主要运行VS2005,因此2008团队资源管理器客户端将显示为独立应用程序。)

+0

你假设@Bill正在使用TFS构建定义。我有一个每晚构建,我非常满意使用powershell和MSBuild与tfs命令行工具。如果TFS的构建功能一开始就有用,我们可能已经走下了这条路线,但很难证明重新访问该努力的合理性。 – 2010-02-20 21:04:19

+0

当然,我假设。你认为他的buildlog.txt与Team Build的搭配是一致的吗? – 2010-02-20 22:44:27

相关问题