【问题标题】:TFS 2017 Builds - How to clean the workspace periodicallyTFS 2017 Builds - 如何定期清理工作区
【发布时间】:2017-06-23 02:59:22
【问题描述】:

我们的 TFS 项目中有一个“持续集成构建”定义。每次签入时,都会获取、编译源代码并运行一些自动化测试。在构建定义的“Repository”选项卡上,有一个 Clean 选项,即: screen grab showing clean option on tab 我们目前正在使用 TFVC,但正在考虑迁移到 Git。

目前,我们将 clean 设置为“false”,因此当构建开始时,构建代理会增量获取源文件。在一天的大部分时间里,这正是我们想要的,因为它确实缩短了构建时间。但是,定期让代理清空构建目录似乎是明智的,例如有一天。以某种方式自动执行此操作会很好,例如,只要 $(Rev) 等于 1(即当天的第一次构建)就为真。

我尝试了一些变体,在下拉菜单中输入“$(Rev) == 1”,或者使用“变量”选项卡中的变量来获取该值,但似乎都不起作用。我查看了on-line MSDN documentation,但它甚至没有建议除“真”或“假”之外的任何值都是有效值。

欢迎对进一步测试或想法提出任何猜测或建议。

【问题讨论】:

  • 你使用的是 GIT 还是 TFVC 的哪个版本控制?
  • 一种解决方法是在构建代理上创建一个计划任务来清理源文件夹,或者在构建定义中添加一个 powershell 脚本任务来检查 rev,然后清理并获取源代码。

标签: tfs build


【解决方案1】:

目前,无论您使用的是 TFVC 还是 GIT,clean 都只有两个选项 true/false

干净:

如果将其设置为 true,则构建代理会以这种方式清理 repo:

  • 撤消挂起的更改
  • 烧焦

如果要定义增量构建,请将其设置为 false 提高性能。

提示:在这种情况下,如果您正在构建 Visual Studio 项目,请在 Build 选项卡,您也可以取消选中 Visual 的 Clean 复选框 Studio Build 或 MSBuild 步骤。

您可以在此处添加uservoice,TFS PM 将审核您的建议。作为一种解决方法,您可以在一天结束时添加一个 Scheduled Build 来执行干净的 repo 操作。

【讨论】:

  • 感谢@Patrick-MSFT。显然不是我希望的答案。叹。我已经添加了一个用户声音,所以suggestion 被考虑了。我将研究计划的构建解决方法,但不太明显,我可以通过这种方式清理每个构建代理上每个构建的源文件夹。
猜你喜欢
  • 2020-06-11
  • 2014-06-22
  • 2019-06-24
  • 2015-12-03
  • 2018-05-24
  • 1970-01-01
  • 2015-12-08
  • 2013-07-12
  • 2017-07-05
相关资源
最近更新 更多