Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
支持遗留项目的Java持续集成?_Java_Continuous Integration - Fatal编程技术网

支持遗留项目的Java持续集成?

支持遗留项目的Java持续集成?,java,continuous-integration,Java,Continuous Integration,我知道Hudson vs.CC的问题已经被击败(讨论)致死,但我会从另一个角度提出一个问题:其中哪一个(或者可能是完全不同的CI产品)适合遗留项目 我特别需要的是在某个日期之前过滤掉问题的可能性。希望能让这一点更清楚的一些例子: 不应报告早于X的类上缺少的单元测试(或者更好,在单独的字段中报告,并应导致构建中断) 应报告静态分析器(例如FindBugs)在早于X的代码中发现的bug(或如上所述-单独报告/不应破坏构建) 理由是:期望人们仅仅为了创建100%的单元测试覆盖率和修复/分析Find

我知道Hudson vs.CC的问题已经被击败(讨论)致死,但我会从另一个角度提出一个问题:其中哪一个(或者可能是完全不同的CI产品)适合遗留项目

我特别需要的是在某个日期之前过滤掉问题的可能性。希望能让这一点更清楚的一些例子:

  • 不应报告早于X的类上缺少的单元测试(或者更好,在单独的字段中报告,并应导致构建中断)
  • 应报告静态分析器(例如FindBugs)在早于X的代码中发现的bug(或如上所述-单独报告/不应破坏构建)
理由是:期望人们仅仅为了创建100%的单元测试覆盖率和修复/分析FindBugs报告的所有bug而停止他们正在进行的任何开发是不可行的。一个更为可接受的解决方案是确保不再出现任何问题,并且当有人触及历史类时,历史类得到解决。我想要一些能够针对这种情况生成适当报告/警告的产品/项目


是否有这样的通用/预配置解决方案,或者我需要从头开始构建它(例如为现有CI解决方案之一添加自定义插件)?

对于相同的问题,我采取的方法是:

Hudson只是进行构建并运行单元测试。它不报告覆盖率、代码质量等

然后用于收集和显示代码度量。Sonar可以提供每个包的指标的易于查看的细分。因此,使用命名约定很容易看出代码是否旧,代码覆盖率、findbugs等目标是否较低

重要的是,尽管它也有很好的趋势指标,所以无论是旧代码还是新代码,您都可以看到这些指标是否朝着正确的方向发展。从很多方面来说,这是关键所在——方向才是最重要的

我是Hudson的忠实粉丝,因为它促进了findbugs的使用,添加和修复了javadoc,修复了您收到的任何警告。您还可以设置它,为新的单元测试打分


我为一些遗留代码库设置了这个,有些是为jdk1.3编写的swing应用程序。拥有一个用于改进旧代码的评分系统就像为开发团队拥有自己的SO一样。

CI工具的目的不是确保旧功能得到维护吗?这个场景不会以旧功能中断而告终,但不会被报告吗?希望不会。当然,破坏性的构建将被非常严肃地对待,不管破坏发生在哪里,还有“添加单元测试到您所接触的代码”的规则,这应该会有所帮助。CI游戏插件看起来非常有前途!谢谢你的提示,我试试看。