捍卫“不洁”的本地构建?

时间:2017-03-15 15:57:18

标签: c# .net build msbuild

(这是关于开发机器上的本地构建,而不是构建服务器上的外部构建作为有福的构建。)

在正常的Visual Studio / C#开发中,本地构建系统“正常工作”。但是,在极少数情况下***,构建的代码行为不规律。 (不正常=不是源代码所说的)可能它会产生奇怪的错误,产生不可能的输出,或者表现为最近的代码更改从未发生过。可以通过执行清理/重建来补救这些构建。但是,由于许多解决方案需要花费更长的时间才能完全清理/重建,而不是信任标准构建系统而只需“构建”, 每次进行全面清洁/重建都不是一个实用的选择。

当出现其中一个“不稳定”的构建并且看到问题时,就会出现问题。通常,发现错误,开发人员资源开始关注如何根据用于创建它的源代码发生这种奇怪的行为。由于最初的开发人员无法弄清楚源代码中的不稳定行为是如何产生的,因此需要调用更多资源来查找源代码中的错误。

鉴于一旦“非干净”构建在某台机器上构建时变得不稳定,它通常会继续不规则地构建,直到执行清理/重建,大量的开发人员资源可以在某人举起手来之前,他们会陷入无用之中并说:“我会尝试一些低概率的东西,因为我们在这里抓住稻草”,试图清理和重建,突然间,不稳定的行为消失了。 / p>

假设:

  1. 由于速度的原因,除了有明确的清理/重建原因外,将选择“build”而不是clean / rebuild
  2. 不稳定的构建很少发生,让说服开发者每天习惯性地清理/重建将是徒劳无功的努力
  3. 进行构建和查找错误是开发的常规部分,因此,当发现构建错误时,没有什么“突出”,当真正的原因是损坏的构建时需要修复。同样地,为调试硬错误引入额外的资源也是常规的,而不是任何突出的东西。
  4. 有没有办法防范这个?他们的方法是检测“清理”删除的临时/缓存文件何时过时且有问题? 他们的方式(除了告诉开发人员“记得尝试清理和重建”)以防止巨大的资源雪球来检查代码中不存在的问题的源代码吗?

    ***在过去的12个月里,我看到过3次或4次不稳定的构建浪费>>发现原因前一天/一天。与此同时,可能有3-5000个开发人员构建正常工作。

0 个答案:

没有答案