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

gbe*_*lin 10 java svn maven jenkins sonarqube

我有一个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]
Run Code Online (Sandbox Code Playgroud)

看来,我必须把登录信息,SVNSonarQube任务中詹金斯Maven项目,但我还没有发现任何文件,我不知道是否应该作为MAVEN_OPTS或其他属性,也是大成.

提前致谢.

aga*_*rys 16

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

全局:设置→常规→SCM→SVN

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


avi*_*rat 5

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

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

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

设置以下两个属性:

sonar.svn.username=<SVN USERNAME>
sonar.svn.password.secured=<SVN PASSWORD>
Run Code Online (Sandbox Code Playgroud)

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