Maven SonarQube 6.1执行分析权限

Maven SonarQube 6.1执行分析权限,maven,sonarqube,user-permissions,sonarqube-scan,Maven,Sonarqube,User Permissions,Sonarqube Scan,我们希望允许任何用户运行SonarQube预览分析(无论是否经过验证)。但是,我们希望限制谁可以将分析上载到服务器 为了允许所有用户运行预览分析,文档指出任何用户都需要访问才能浏览和执行分析 然而,在命令行上运行maven sonar插件似乎仍然需要sonar.login和sonar.password 此外,我们希望限制只能将分析上载到sonar administrator组的用户 以下是我们项目权限的屏幕截图: 以下是我们全球权限的屏幕截图: 不成功的命令: mvn -o org.sona

我们希望允许任何用户运行SonarQube预览分析(无论是否经过验证)。但是,我们希望限制谁可以将分析上载到服务器

为了允许所有用户运行预览分析,文档指出任何用户都需要访问才能浏览和执行分析

然而,在命令行上运行maven sonar插件似乎仍然需要sonar.login和sonar.password

此外,我们希望限制只能将分析上载到sonar administrator组的用户

以下是我们项目权限的屏幕截图:

以下是我们全球权限的屏幕截图:

不成功的命令:

mvn -o org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.analysis.mode=preview -Dsonar.branch=$BRANCH -Dsonar.host.url=$SONAR_URL -Dsonar.skipPackageDesign=true -Dsonar.report.export.path=sonar-report.json
mvn -o org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.analysis.mode=preview -Dsonar.branch=$BRANCH -Dsonar.host.url=$SONAR_URL -Dsonar.skipPackageDesign=true -Dsonar.report.export.path=sonar-report.json -Dsonar.login=%SONAR_USERNAME% -Dsonar.password=%SONAR_PASSWORD%
成功命令:

mvn -o org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.analysis.mode=preview -Dsonar.branch=$BRANCH -Dsonar.host.url=$SONAR_URL -Dsonar.skipPackageDesign=true -Dsonar.report.export.path=sonar-report.json
mvn -o org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.analysis.mode=preview -Dsonar.branch=$BRANCH -Dsonar.host.url=$SONAR_URL -Dsonar.skipPackageDesign=true -Dsonar.report.export.path=sonar-report.json -Dsonar.login=%SONAR_USERNAME% -Dsonar.password=%SONAR_PASSWORD%
请帮助我微调我们的访问选项,以实现允许预览分析但不允许推送分析的目标

下面是这份失败工作的一些摘录。我删除了一些特定于公司的细节

    > mvn -o org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar -Dsonar.analysis.mode=preview -Dsonar.branch=$BRANCH -Dsonar.host.url=$SONAR_URL -Dsonar.skipPackageDesign=true -Dsonar.report.export.path=sonar-report.json
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=512m; support was removed in 8.0
...
[INFO] Performing issue tracking
[INFO] 772/772 components tracked
[WARNING] Console report is deprecated. Use SonarLint CLI to have local reports of issues
[INFO]
-------------  Issues Report  -------------
       +13 issues
        +1 blocker
        +1 critical
        +3 major
        +8 minor
     -------------------------------------------
     [INFO] Export issues to c:\Source\releases\vcmmigrationmgr\vcmmigrationmgr-app\target\sonar\sonar-report.json
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 35.933 s
[INFO] Finished at: 2017-04-25T10:59:46-05:00
[INFO] Final Memory: 100M/3582M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project vcmmigrationmgr-app: Not authorized. Analyzing this project requires to be authenticated. Please provide the values of the properties sonar.login and sonar.password. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
编辑:我从“任何人”权限中删除了“执行分析”。我还删除了
命令中的“-Dsonar.report.export.path=sonar report.json”。我不明白为什么预览模式需要用户名和密码。有没有办法允许匿名用户在预览模式下运行?

首先,运行预览分析不需要权限,但除此之外,由于“任何人”在全局和项目级别都有执行分析权限,很难相信这是一个权限问题。由于错误仅在尝试写出sonar-report.json时出现,因此您确定此路径可写吗?@G.Ann-SonarSourceTeam,此路径可写。但是,删除参数“-Dsonar.report.export.path=sonar report.json”确实可以完成分析!听起来我们需要移动到SonarLint CLI才能获取报告?如果我们对sonar.login、sonar.password和sonar.report.export.path尝试相同的命令,则作业成功。这(对我来说)表明它确实是一条可写路径。我试图减少服务器上的权限。我从所有项目的“任何人”用户组中删除了“执行分析”。在全球范围内,我从“任何人”组中删除了“执行分析”和“创建项目”。当我们在没有凭据和sonar.report.export.path的情况下运行时,会收到一个失败。如何允许所有用户执行分析,但不更新服务器?现在“任何人”都无法再使用“执行分析”,我们有许多报告显示用户尝试使用预览模式,但需要用户名和密码。如果我理解@G.Ann-SonarSourceTeam的评论,我们不需要sonar.login和sonar.password。