gradle - 使用 Gradle 在本地执行 SonarQube 分析,无需推送

标签 gradle sonarqube

在我的 build.gradle 中,我有一个来自 'org.sonarqube' 插件的 sonarqube 任务。每当我运行 gradle sonarqube 时,我都会收到以下错误:

You're only authorized to execute a local (preview) SonarQube analysis without pushing the results to the SonarQube server. Please contact your SonarQube administrator.

我没有组织中 SonarQube 服务器的管理员访问权限,请让我知道如何在本地运行 SonarQube analysys(预览分析)而不将结果推送到服务器

(我知道 IntelliJ 有一个 SonarLint 插件,可以使用 IDE 分析代码,但安装它的过程涉及一个漫长的寻求批准过程:) 所以我不得不这样做它)

更新添加我的sonarqube任务配置

sonarqube {
    def shortBranchName = versionDetails().branchName

    properties {
        property "sonar.host.url", 'http://dummy.net/'
        property "sonar.forceAnalysis", "true"
        property 'sonar.projectName', "[" + shortBranchName + "] " + rootProject.name
        property 'sonar.projectKey', "${sonarQubeProjectBaseKey}"
        property 'sonar.branch', shortBranchName
        property 'sonar.projectDescription', "[" + shortBranchName + "] " + rootProject.name
        property 'sonar.sourceEncoding', 'UTF-8'
    }
}

最佳答案

您可以通过传递这些额外属性来启用预览模式和本地 HTML 报告:

-Dsonar.analysis.mode=preview -Dsonar.issuesReport.html.enable=true

但是,此功能不久前已被弃用,并且可能根本不适用于最新版本的 SonarQube 和 Gradle 扫描仪。

无论如何,旧文档都在这里:

https://docs.sonarqube.org/display/SONARQUBE51/Getting+Issues+Report+in+Preview+Mode

关于gradle - 使用 Gradle 在本地执行 SonarQube 分析,无需推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47067526/

相关文章:

angular - 将 SonarTS 质量配置文件与 tslint.json Angular 项目同步

groovy - Gradle发行插件:将子项目中的文件添加到单独的文件夹中

java - 软件包io.tus.java.client不存在

gradle - 如何在Gradle中将整数转换为int

android - 按 ABI 分割时的后缀/前缀/之间的 .APK 名称

maven - 如何理解在 gradle 中使用 `configuration` 声明依赖关系?

java - Sonar 代码覆盖分析不合算

SonarQube 分析模式 : preview vs issues

java - 添加在 @PrepareForTest 中编写 Junit 的类可以使 Sonar 覆盖率为零

java - 在 Sonar 中修改规则