【问题标题】:TFS 2008 getting all branches of source code while building one projectTFS 2008 在构建一个项目时获取所有源代码分支
【发布时间】:2010-02-18 14:53:02
【问题描述】:

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

BuildLog.text sn-p:

获取 TeamFoundationServerUrl="http://vmtfs:8080/" BuildUri="vstfs:///Build/Build/10676" Force=True Overwrite=False PopulateOutput=False Preview=False Recursive=True Version="C19791" Workspace="VMLSBUILD_17"

我们正在使用 VS2005 和 TFS 2008

【问题讨论】:

    标签: tfs build


    【解决方案1】:

    与 2005 不同,在 TFS 2005 中,Get 过程中使用的工作区映射是实际构建定义的一部分。使用 VS 中的 Build Explorer 工具根据自己的喜好编辑映射。 (注意:由于您主要运行 VS2005,2008 Team Explorer 客户端将显示为独立应用程序。)

    【讨论】:

    • 您假设@Bill 正在使用 TFS 构建定义。我有一个非常满意的夜间构建,它使用 powershell 和 MSBuild 以及 tfs 命令行工具。如果 TFS 的构建功能一开始就很有用,我们可能会走这条路,但很难证明重新访问该努力是合理的。
    • 我当然是这么假设的。你认为他的 buildlog.txt 与 Team Build 的匹配是巧合吗?
    【解决方案2】:

    是的,关键是脚本中的那一行:

    Workspace="VMLSBUILD_17"
    

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

    【讨论】:

    • David 感谢您的回复,这对解决我们的问题非常有帮助。再次感谢。
    • 不推荐或不支持此方法。
    • 除非另有配置,Team Build 将删除工作区并使用在每个构建的构建定义中指定的文件夹重新创建它。通过在构建服务器上手动编辑对工作区所做的更改通常会在下一次构建时丢失。
    猜你喜欢
    • 2017-04-09
    • 2017-01-09
    • 2016-01-19
    • 1970-01-01
    • 2014-07-18
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    相关资源
    最近更新 更多