【问题标题】:TFS not clearing build agent folders after migration to TFS2010迁移到 TFS2010 后,TFS 未清除构建代理文件夹
【发布时间】:2012-05-10 18:00:37
【问题描述】:

我遇到了 TFS 问题。当我们拥有 TFS2008 时,构建机器能够在创建新构建之前从构建代理文件夹中清除文件。但是,在迁移到 TFS2010 之后,构建机器无法清除此文件夹,并且我们正在使用已从源代码管理中删除的旧文件进行构建。

有没有办法恢复这个功能?我们目前正在使用 TFS2008 构建脚本和 TFS2010 中的 UpgradeTemplate.xaml

谢谢

【问题讨论】:

    标签: build compilation


    【解决方案1】:

    在您的 TFS 构建定义中,“进程”选项卡上的“清洁工作区”设置为什么?

    它有三个选项:

    • 全部
    • 输出

    每个选项的解释(取自 TFS):

    设置为全部以删除所有现有的输出和源并执行完整的 重建;输出以删除所有现有输出但仅获取那些 自上次构建以来已更改的源文件(增量获取); 或 None 保留现有的输出和源并构建任何 逐渐变化。

    您应该将其设置为All,以确保您每次都执行干净的构建。

    【讨论】:

    • 谢谢。不幸的是,我们没有运行默认模板,我们使用升级模板运行这些 TFS2008 脚本,并且在该模板中没有“清洁工作区”选项。我尝试事先添加该变量,但没有成功。
    • 啊,我没看过升级模板,抱歉。
    • 没问题。感谢您调查它。通过在“BeforeEndToEndIteration”级别使用 RMDIR 命令,我确实提出了一个 ghettofabulous 解决方案。我也会把它作为我的解决方案发布。
    【解决方案2】:

    我发现的唯一其他帖子没有答案。因此,我恢复为在构建脚本的 BeforeEndToEndIteration 级别运行 RMDIR 命令。

    <Target Name="BeforeEndToEndIteration"> <Exec WorkingDirectory="S:\src" Command="RMDIR /s /q &quot;S:\src\Sandbox_awdbu\&quot;"/> </Target> 此命令将在构建服务执行 Get Latest 命令之前删除构建代理文件夹。

    这不是一个很好的解决方案,但它确实有效。此解决方案可行,但我建议您使用模板,而不是保留旧的 TFS2008 构建脚本。

    【讨论】:

    • 恭喜您找到了解决办法!如果可以,请确保将您的答案标记为“已接受”(使用绿色复选标记),以便其他用户能够从您的成功中学习。干杯~
    • @AndrewKozak 会的,不幸的是我必须等到明天。希望这对其他人有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2015-09-13
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 2018-05-18
    • 2013-11-14
    相关资源
    最近更新 更多