我在我的本地机器上安装了maven,我正试图测试安装在遥控盒上的Sonar。
我在网上发现了一些帖子来配置settings.xml
(maven\config\settings.xml)
并添加个人资料条目...我做了但不起作用
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http://remotebox:9000</sonar.host.url>
</properties>
</profile>
什么是cli方式?我尝试了几种选择,但没有任何效果。
我试过了:mvn sonar:sonar http://remotebox:9000
正确的语法是什么?
提前致谢。 达米安
PS。这在安装了maven和sonar的遥控盒上工作正常......我只是想把它的盒子放到遥控器盒上。
答案 0 :(得分:32)
使用
运行声纳mvn sonar:sonar -Dsonar.jdbc.url=jdbc:h2:tcp://ipaddr:9092/sonar -Dsonar.host.url=http://ipaddr:9000
,ipaddr是您的远程主机,似乎可以正常工作。
答案 1 :(得分:22)
在sonar.host.url
旁边的版本5.2 ,您还必须按照here所述指定数据库参数。这样它对我有用。
配置示例
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
由于版本5.2 ,这不再是必要的了:
扫描程序无法访问数据库
这是这个新版本的最大变化:扫描仪(例如Sonar Runner)不再访问数据库,它们只使用Web服务与服务器通信。实际上,这意味着现在可以从分析CI作业中删除JDBC连接属性: sonar.jdbc.url, sonar.jdbc.username, sonar.jdbc.password
答案 2 :(得分:7)
如上所述,您需要指定JDBC连接详细信息,否则Sonar将尝试与嵌入式Derby实例通信,它假定在localhost上运行。
你在使用德比吗?嗯,Derby的默认配置不接受远程连接,而只接受来自同一主机的连接。
SONAR-1039问题解释了如何解决此问题,但我的建议是设置一个完整的数据库,例如MySQL或Postgresql。
答案 3 :(得分:5)
以下sonar-maven-plugin:3.2
的作品:
mvn sonar:sonar -Dsonar.host.url=http://<sonarqubeserver>:<port>
答案 4 :(得分:0)
我遇到了一些问题,然后意识到,我在父母pom上运行mavn,而声纳配置在一个儿童pom中,无论如何我想要分析报告,所以运行mvn声纳:带有儿童pom的声纳工作。