问题描述
我有一个 java maven web 项目,我还有Jenkins 1.620
和SonarQube 5.1.1.
我在 jenkins 中添加了一个 maven post action,SonarQube 将 jdk 设置为 7u79,与项目使用的相同。
当我运行 jenkins 任务时,我在控制台上遇到下一个错误:
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project *****: The svn blame command [svn blame --xml --non-interactive -x -w src/main/java/*****.java] failed: svn: PROPFIND request failed on '/*****/trunk/src/main/java/*****.java'
[ERROR] svn: PROPFIND of '/*****/trunk/src/main/java/*****.java': authorization failed (http://*****.*****.*****)
[ERROR] -> [Help 1]
似乎我必须在 Jenkins 中的 Maven 项目的SonarQube
任务中放置SVN
登录信息,但我没有找到任何相关文档,我不知道它是否应该作为MAVEN_OPTS
或附加属性,以及语法.
提前致谢。
1楼
您可以在 SonarQube 服务器上配置它:
全局:设置 → 通用 → SCM → SVN
每个项目:设置 → 常规设置 → SCM → SVN
2楼
如果它可能有帮助,这里是基于谷歌组中的的另一种方法。
请注意,它肯定不如在 SonarQube 服务器中设置 SVN 用户和密码安全,但作为临时解决方法可能会有所帮助:
在詹金斯工作>> SonarQube 扫描仪构建步骤>> 分析属性
设置以下两个属性:
sonar.svn.username=<SVN USERNAME>
sonar.svn.password.secured=<SVN PASSWORD>
请注意,密码实际上根本不安全,因为它没有加密。
因此,一个不错的举措是将其设置在 Jenkins 的密码变量中,并将此变量传递到sonar.svn.password.secured
属性值中。
这样,至少,它是不可读的。
3楼
在 6.7.x 中,您可以在 Administration -> Configuration -> General Settings → SCM → SVN 中找到。 但是 svn 选项只有在市场上安装了 svn 插件才能看到。
4楼
在 sonarqube 6.xx 中,您可以在以下位置找到配置:Administration -> Configuration -> SCM