支持遗留项目的Java持续集成?
我知道Hudson vs.CC的问题已经被击败(讨论)致死,但我会从另一个角度提出一个问题:其中哪一个(或者可能是完全不同的CI产品)适合遗留项目 我特别需要的是在某个日期之前过滤掉问题的可能性。希望能让这一点更清楚的一些例子:支持遗留项目的Java持续集成?,java,continuous-integration,Java,Continuous Integration,我知道Hudson vs.CC的问题已经被击败(讨论)致死,但我会从另一个角度提出一个问题:其中哪一个(或者可能是完全不同的CI产品)适合遗留项目 我特别需要的是在某个日期之前过滤掉问题的可能性。希望能让这一点更清楚的一些例子: 不应报告早于X的类上缺少的单元测试(或者更好,在单独的字段中报告,并应导致构建中断) 应报告静态分析器(例如FindBugs)在早于X的代码中发现的bug(或如上所述-单独报告/不应破坏构建) 理由是:期望人们仅仅为了创建100%的单元测试覆盖率和修复/分析Find
- 不应报告早于X的类上缺少的单元测试(或者更好,在单独的字段中报告,并应导致构建中断)
- 应报告静态分析器(例如FindBugs)在早于X的代码中发现的bug(或如上所述-单独报告/不应破坏构建)
是否有这样的通用/预配置解决方案,或者我需要从头开始构建它(例如为现有CI解决方案之一添加自定义插件)?对于相同的问题,我采取的方法是: Hudson只是进行构建并运行单元测试。它不报告覆盖率、代码质量等 然后用于收集和显示代码度量。Sonar可以提供每个包的指标的易于查看的细分。因此,使用命名约定很容易看出代码是否旧,代码覆盖率、findbugs等目标是否较低 重要的是,尽管它也有很好的趋势指标,所以无论是旧代码还是新代码,您都可以看到这些指标是否朝着正确的方向发展。从很多方面来说,这是关键所在——方向才是最重要的 我是Hudson的忠实粉丝,因为它促进了findbugs的使用,添加和修复了javadoc,修复了您收到的任何警告。您还可以设置它,为新的单元测试打分
我为一些遗留代码库设置了这个,有些是为jdk1.3编写的swing应用程序。拥有一个用于改进旧代码的评分系统就像为开发团队拥有自己的SO一样。CI工具的目的不是确保旧功能得到维护吗?这个场景不会以旧功能中断而告终,但不会被报告吗?希望不会。当然,破坏性的构建将被非常严肃地对待,不管破坏发生在哪里,还有“添加单元测试到您所接触的代码”的规则,这应该会有所帮助。CI游戏插件看起来非常有前途!谢谢你的提示,我试试看。