Man*_*shi 1 maven jenkins sonarqube
我正在使用maven的声纳:声纳目标在我的Jenkins工作中生成Sonar报告.
我的Jenkins主机名是:jenhost.tst.com,My Sonar主机是sonhost.tst.com,My Sonar jdbc url是:jdbc:mysql://sonhost.tst.com:3306/sonar,这个数据库有一个用户名使用适当的权限创建的声纳.
现在,在运行Maven目标时,我收到错误:
无法打开与数据库的连接:用户'sonar'@jenhost.tst.xxxx.com'拒绝访问(使用密码:YES)
上述错误中的奇怪之处在于声纳用户正在尝试访问我的Jenkins主机作为数据库名称而不是声纳主机.
我已经检查了我的Maven settings.xml,并且在那里正确地提到了Sonar的数据库URL,并且在Jenkins中也正确地提到了它.
有人对这个有任何线索吗?
如果Sonar插件连接到localhost,则表明它正在使用默认设置.
使用Maven,有几种配置Sonar的方法.
jenkins 的声纳插件是启用Sonar的最简单方法.声纳属性是集中管理的
将以下配置文件添加到Maven设置文件($ HOME/.m2/settings.xml)
<settings>
..
<profiles>
<profile>
<id>sonar</dev>
<activeByDefault>true</activeByDefault>
<properties>
<sonar.host.url>XXXXX</onar.host.url>
<sonar.jdbc.url>YYYYY</sonar.jdbc.url>
..
..
</properties>
</profile>
..
</profiles>
..
</settings>
Run Code Online (Sandbox Code Playgroud)
阅读以下答案,以便在多个Jenkins项目中管理Maven设置文件的简便方法:
您可以在POM中设置Sonar属性,如下所示:
<properties>
<sonar.host.url>XXXXX</onar.host.url>
<sonar.jdbc.url>YYYYY</sonar.jdbc.url>
..
..
</properties>
Run Code Online (Sandbox Code Playgroud)
或者使用properties插件将sonar.properties文件导入到您的构建中
我赞成前两种方法中的一种.此选项需要更改项目中的文件.像密码这样的项目永远不应该提交到版本控制中.
| 归档时间: |
|
| 查看次数: |
9316 次 |
| 最近记录: |