声纳项目集成
Posted
技术标签:
【中文标题】声纳项目集成【英文标题】:Sonar project integration 【发布时间】:2010-11-16 17:02:07 【问题描述】:大家好,女士们,先生们,
我们有一个相当大的项目,拥有自己的构建框架,主要基于 Java(但也存在其他语言)。
我们想使用 Sonar Hudson 插件以图形方式呈现各种代码指标。 我们如何做到这一点?
我们是否需要更改项目结构并将其引入 maven,或者是否有一种解决方法来指定从何处获取测试结果和其他工件?
谢谢
【问题讨论】:
【参考方案1】:我们使用的方法是这样的:
我们为声纳构建了一个自定义 pom.xml 构建文件(我们将 ant 用于其他构建目的)它只需要很好地执行测试,所以用
指定硬编码的依赖引用<scope>system</scope>
我们没有改变maven的项目结构,你可以在maven自定义scr、test、resources目录中指定(只要你只有一个src和test目录)
CI中使用的命令是
mvn clean compile sonar:sonar
我们将 Continuum 用于 CI 部分,但它在 Hudson 中应该也能正常工作。
这个方法没有改变任何其他的构建项目,它只是为声纳定制的。但它确实为持续集成(每日)构建或使用 maven 作为构建工具开辟了道路。这个方法类似于here描述的“声纳光模式”
更多信息在这里:
http://docs.sonarqube.org/display/SONAR/Documentation http://docs.codehaus.org/display/SONAR/Continuous+Integration【讨论】:
【参考方案2】:您可以在没有 Maven 的情况下使用声纳。你只需要告诉它 rport 文件的属性:sonar.cobertura.reportPath, sonar.clover.reportPath, sonar.surefire.reportsPath...
请看这里:http://sonar.codehaus.org/tag/ant/
在 hudson 中配置构建时有一个复选框来设置这些值 - 它被称为“检查这个项目是否不是用 maven2 构建的”
【讨论】:
以上是关于声纳项目集成的主要内容,如果未能解决你的问题,请参考以下文章