TFS2013计划构建:在计划构建启动时,不会考虑手动触发的构建

时间:2014-11-05 19:15:36

标签: tfs build scheduled-tasks tfsbuild tfs2013

我遇到一些问题,因为在手动触发相同的构建并且不存在任何更改后,防止Scheduled Build自动启动。

问题:Build计划在每天凌晨3点结束,但前提是已经进行了任何更改(设置选项'Build即使自上次构建以来没有任何更改'未选中)。问题是,如果您触发手动构建并且之后未进行任何更改,则即使没有更改,预定构建仍将被触发。请按照下面的场景举例:

场景:

  • 计划的构建今天凌晨3点开始 - 程序集版本更改为1.0.0.1
  • 在同一天,在中午之前办理了一些更改。
  • 同一个Build在下午1点手动启动 - 程序集版本更改为1.0.0.2
  • 从下午1点开始手动构建后,不再办理登机手续。
  • 第二天凌晨3点,由于自下午1点以来没有办理登机手续(手动触发),因此预定的构建将被触发(不应将程序集版本更改为1.0.0.3)。

似乎下午1点的构建甚至没有被考虑和考虑。

看起来TFS正在接受自上次“预定构建”以来的计数签入,而不是“最后完成的构建”(相同的构建定义),在这种情况下是手动触发的。

所以我的问题是:“如果在手动构建开始后没有签到,我们是否可以阻止TFS触发预定构建?”

目前,看起来TFS在构建定义

中的任何位置都没有该选项

提前谢谢

2 个答案:

答案 0 :(得分:1)

我今天也遇到了这个问题。

目前看来这是设计"。

其他人发布了一个建议"修复"这里: http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/5702884--build-even-if-nothing-has-changed-since-the-previ

答案 1 :(得分:1)

为了做到这一点,您需要编写自己的调度程序,为您检查以前的手动构建。您可以为此编写TfsJob,或者甚至作为在指定时间运行的计划PowerShell ...