我知道哈德森与CC的问题已被打败(讨论)致死,但我会从一个不同的角度提出一个问题:他们中的哪一个(或者可能是完全不同的CI产品)适合传统项目
我特别需要的是在特定日期之前过滤掉问题的可能性。一些有希望使这一点更清晰的例子:
理由:期望人们为了创造100%的单元测试覆盖率并修复/分析FindBugs报告的所有错误而停止他们正在进行的任何开发是不可行的。一个更可接受的解决方案是确保不会出现进一步的问题,并且当有人触摸它们时解析历史类。我想要一些产品/项目,可以为这种情况生成适当的报告/警告。
是否存在这样的通用/预配置解决方案,或者我是否需要从头开始构建(例如,为现有CI解决方案之一添加自定义插件)?
答案 0 :(得分:2)
对于同样的问题,我采取的方法是:
Hudson只是进行构建并运行单元测试。它没有报告覆盖范围,代码质量等。
然后使用Sonar来收集和显示代码指标。 Sonar可以轻松查看每个包的指标细分。因此,使用命名约定很容易看出代码是否旧并且代码覆盖率目标较低,findbugs等。
重要的是,它也有非常好的趋势指标,因此无论是旧代码还是新代码,您都可以看到指标是否朝着正确的方向发展。在许多方面,这是关键点 - 重要的方向!
答案 1 :(得分:1)
我是Hudson The Continuous Integration Game plugin的忠实粉丝,因为它促进了使用findbugs,添加和修复javadoc并修复了你得到的任何警告。您还可以将其设置为新单元测试的分数。
我为一些遗留代码库设置了这个,有些是为jdk1.3编写的swing应用程序。拥有一个用于改进旧代码的评分系统就像为开发团队拥有自己的SO一样。