执行 Sonarqube 分析“权限不足”时出错
Posted
技术标签:
【中文标题】执行 Sonarqube 分析“权限不足”时出错【英文标题】:Error while executing Sonarqube analysis " Insufficient privileges" 【发布时间】:2018-02-26 12:10:54 【问题描述】:我正在尝试通过 sonarqube 分析 java 代码。我们在本地环境中创建了一个 sonarqube 服务器,而不是使用声纳云。
我最初尝试使用 sonar maven 插件形成此链接 Sonar-Maven Plugin
但是我遇到了“权限不足”错误。
[INFO] BUILD FAILURE [INFO]
------------------------------------------------------------------------ [INFO] Total time: 22.185 s [INFO] Finished at: 2017-09-18T13:04:47+10:00 [INFO] Final Memory: 64M/589M [INFO]
------------------------------------------------------------------------ [ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:
3.3.0.603:sonar (default-cli) on project testproject: Insufficient privileges -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o rg.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar (default-cli) on project testproject: Insufficient privileges
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje ct(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre adedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl eStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun cher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav a:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La uncher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 356) Caused by: org.apache.maven.plugin.MojoExecutionException: Insufficient privileg es
at org.sonarsource.scanner.maven.bootstrap.ExceptionHandling.handle(Exce ptionHandling.java:36)
at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(S cannerBootstrapper.java:80)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.jav a:139)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default BuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor .java:208)
... 20 more Caused by: Insufficient privileges [ERROR] [ERROR] Re-run Maven using the -X switch to enable full debug logging.
然后我尝试使用 Sonar runner 进行分析,我再次遇到同样的“权限不足”错误。
13:01:41.145 DEBUG: Upload report
13:01:41.179 DEBUG: POST 403 http://myserver:9000/api/ce/submit?projectKey=
SampleProject&projectName=sampleprojectWrapper | time=34ms
13:01:41.208 INFO: -------------------------------------------------------------
-----------
13:01:41.209 INFO: EXECUTION FAILURE
13:01:41.209 INFO: -------------------------------------------------------------
-----------
13:01:41.211 INFO: Total time: 12.919s
13:01:41.412 INFO: Final Memory: 52M/320M
13:01:41.413 INFO: -------------------------------------------------------------
-----------
13:01:41.414 ERROR: Error during SonarQube Scanner execution
Insufficient privileges
然后我创建了一个新的 Sonarqube 服务器并重新运行,它运行良好。 我试图找出第一台服务器出了什么问题。服务器和项目的配置是一样的。
提前致谢。
【问题讨论】:
【参考方案1】:如this answer 中所述,检查您用于工作的 SonarQube 用户权限:
global
:执行分析
project
: 浏览并查看源代码
这些可能默认在您的新 SonarQube 服务器中。
正如OP VVP 确认in the comments:
是的,问题是“Anyone”组以某种方式被删除,这阻止了代码被推送到 SonarQube。
在Sonarqube / Security / Authorization / Group查看更多信息。
【讨论】:
谢谢。是的,问题是“任何人”组以某种方式被删除,这阻止了代码被推送到 sonarqube。 @VVP 很好。我已将您的评论包含在答案中以提高知名度。【参考方案2】:只是有关如何解决此问题的更新。 我正在使用 Sonar runner 来分析代码。 问题是“任何人”组的权限以某种方式被删除。根据上面的答案,我再次添加了权限,执行了,我可以看到发布的结果。
【讨论】:
很好的插图。 +1以上是关于执行 Sonarqube 分析“权限不足”时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 SCM 提供程序自动检测执行 SonarQube 扫描仪时出错
在存储过程中创建动态表而在 PL/SQL 块表中创建时权限不足[重复]
SonarQube Scanner 执行期间出错错误:“您必须为‘未知’定义以下强制属性:sonar.projectKey”