我使用 sonar.login 中的令牌和 sonar.branch 中的字符串调用MSBuild.SonarQube.Scanner.exe。
执行失败,出现以下错误:
13:42:03.817 INFO - Analysis report generated in 271ms, dir size=497 KB
13:42:04.624 INFO - Analysis reports compressed in 806ms, zip size=212 KB
13:42:04.624 DEBUG - Upload report
13:42:05.125 DEBUG - POST 403 http://192.168.18.21:9000/api/ce/submit?projectKey=XYZ&projectName=Its%20XYZ&projectBranch=lala | time=501ms
13:42:05.127 INFO - Analysis report generated in C:\Develop\XYZ\.sonarqube\out\.sonar\batch-report
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 41.303s
Final Memory: 9M/270M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
at org.sonar.runner.api.Runner.execute(Runner.java:100)
at org.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: Insufficient privileges
为名为 Scanner 的用户生成令牌,该用户位于 sonar-users 组中。 他拥有执行分析,执行预览分析和提供项目的全局权限。
如果我对现有项目执行相同的操作。似乎不允许令牌提供项目。这可能吗?
编辑: SonarQube 5.3 和 MSBuild.SonarQube.Scanner 1.1
编辑2:我们使用LDAP(AD)身份验证
编辑3:access.log中的最后一个条目
[02/Mrz/2016:18:44:43 +0100] "POST /api/ce/submit?projectKey=XYZ&projectName=Its XYZ&projectBranch=lala HTTP/1.1" 403 46 "-" "SonarQubeRunner/2.4"
进一步调查:
通过命令行调用MSBuild.SonarQube.Scanner.exe,如:
MSBuild.SonarQube.Runner.exe /key:XYZ /name:"Its XYZ" /version:1.0.0.0 /d:sonar.branch=lala /d:sonar.scm.provider=git /d:sonar.host.url=http://192.168.18.21:9000 /d:sonar.login=<token>
这不起作用。
但是,如果我将 sonar.login 属性放在 SonarQube.Analytics.xml 中,它就能正常工作。那么MSBuild.SonarQube.Runner.exe命令行是否会忽略 /d:sonar.login ?
编辑:目前任何被允许执行分析,所以也许这就是除了配置之外所有其他任务都有效的原因。
答案 0 :(得分:1)
好吧,似乎我必须将令牌 /d:sonar.login = 传递给 MSBuild.SonarQube.Scanner.exe结束的调用 - 因为它不是在SonarQube.Analytics.xml中定义。听起来很清楚--.-