在触发TFS团队构建期间排除特定路径

时间:2015-03-27 09:35:20

标签: tfs build continuous-integration

我正在配置与TFS 2012的持续集成。我有一个问题需要解决。 我需要从触发构建中排除一些路径。

例如我有:

  1. $ / PROJECT1
  2. $ / Project2的
  3. 我希望在每次签入$ / Project1之后 - 触发构建。它必须构建$ / Project1和$ / Project2。 但在检入$ / Project2之后,我不想触发构建定义的构建。

    在构建定义的源设置中,只有“活动”和“隐藏”功能,但它不是我需要的。

    提前多多感谢。

    P.S。值得的解决方案是在办理登机手续时添加评论***NO_CI***。如果有其他方式,那就太好了。

1 个答案:

答案 0 :(得分:1)

根据评论,这归结为X-Y问题。你无法做你想做的事,但你想要做的原因是因为你正试图解决错误的问题。

您在开发测试周期中的错误位置运行UI测试。 UI测试不应该在构建期间运行,它们应该在发布后运行。对测试项目的更改绝对应该导致构建。

有人正在针对尚未处于源代码管理中的代码开发UI测试,这没有任何意义。如果有人正在编写针对代码的测试,则代码应该是源代码控制的。

我猜是有人手动将未提交的代码推送到开发服务器,而其他人正在使用它来编写测试。不要这样做。使用真正的发布管理解决方案,以便在开发人员编写代码时,每个签入都会自动部署到dev / QA环境中。然后编写UI测试的人将有一些东西需要测试。在针对处于如此不稳定状态的代码编写测试的重点是,负责它的开发人员甚至不确定它是否值得进行源代码控制?随着代码的发展,这只会导致花费大量时间重写测试。

假设您正确设置了所有内容,每次提交应用程序代码都会导致针对最新提交运行当前的测试集。每次提交测试代码都会导致针对现有应用程序代码运行新的测试集。这两件事(应用程序代码和测试代码)应该耦合,而应该总是一起构建。

最后一件事,主要是意见:UI测试非常糟糕,并且服务很少。它们脆,慢,难以维护。我从未见过一个全面的UI测试套件实际上提供了价值。 UI测试最好用作一小组释放后的烟雾测试。业务逻辑应主要经过单元测试,并使用较小的集成测试套件进行备份。