当前位置: 代码迷 >> java >> 在 Jenkins 1.620 SonarQube 5.1.1 中运行声纳分析时,SVN 身份验证失败
  详细解决方案

在 Jenkins 1.620 SonarQube 5.1.1 中运行声纳分析时,SVN 身份验证失败

热度:106   发布时间:2023-07-31 11:37:26.0

我有一个 java maven web 项目,我还有Jenkins 1.620SonarQube 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或附加属性,以及语法.

提前致谢。

您可以在 SonarQube 服务器上配置它:

全局:设置 → 通用 → SCM → SVN

每个项目:设置 → 常规设置 → SCM → SVN

如果它可能有帮助,这里是基于谷歌组中的的另一种方法。

请注意,它肯定不如在 SonarQube 服务器中设置 SVN 用户和密码安全,但作为临时解决方法可能会有所帮助:

在詹金斯工作>> SonarQube 扫描仪构建步骤>> 分析属性

设置以下两个属性:

sonar.svn.username=<SVN USERNAME>
sonar.svn.password.secured=<SVN PASSWORD>

请注意,密码实际上根本不安全,因为它没有加密。 因此,一个不错的举措是将其设置在 Jenkins 的密码变量中,并将此变量传递到sonar.svn.password.secured属性值中。 这样,至少,它是不可读的。

在 6.7.x 中,您可以在 Administration -> Configuration -> General Settings → SCM → SVN 中找到。 但是 svn 选项只有在市场上安装了 svn 插件才能看到。

在 sonarqube 6.xx 中,您可以在以下位置找到配置:Administration -> Configuration -> SCM

  相关解决方案