【问题标题】:Maven Golang build is not scanning GoMaven Golang 构建未扫描 Go
【发布时间】:2020-02-15 14:07:42
【问题描述】:

我们使用 maven 来构建 Golang 项目,因为我们是一家混合语言商店,而 maven 是当前的构建标准。

我们的第一个 Go 应用程序是一组服务于 Vue 项目的服务。

jenkins 文件这样调用 mvn sonar:sonar:

    stage('Sonar') {
        steps {
            echo 'Building Sonar'
            withSonarQubeEnv('Sonar') {
                // requires SonarQube Scanner for Maven 3.2+
                withMaven(
                        maven: 'Maven 3.5.3',
                        globalMavenSettingsConfig: 'GlobalSettingsRepo',
                        jdk: 'Java 8 Oracle',
                        options: [
                                artifactsPublisher(disabled: true),
                                jacocoPublisher(disabled: true)]) {
                    sh 'mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar -U'
                }
            }
        }
    }

我已经更新了 Go 文件夹中的父 pom 和 pom 以包括:

<dependencies>
    <dependency>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>3.4.0.905</version>
    </dependency>
    <dependency>
        <groupId>org.sonarsource.go</groupId>
        <artifactId>sonar-go-plugin</artifactId>
        <version>1.0.0.1404</version>
    </dependency>
</dependencies>

我还在环境变量中将 GOPATH 硬编码到我的 Go 文件夹中。 但是,当我运行构建时,声纳扫描仪只扫描项目中的 xml 文件。如果我从命令行运行声纳扫描仪,它会分析 Go 代码和 Vue 代码。

有什么建议吗?

【问题讨论】:

  • 对于它的价值,这是成功扫描整个项目的命令行参数(不知道为什么,但如果没有我告诉它 sonar.java.binaries 目录它就不会运行)。 sonar-scanner.bat -D"sonar.projectKey=team-admin-client" -D"sonar.sources=." -D"sonar.host.url=localhost:9000" -D"sonar.login=supersecretkey" -D"sonar.java.binaries=C:\Users\me\Documents\projects\team-client-parent\team- client-go\target"

标签: maven go sonarqube-scan


【解决方案1】:

显然,sonar-scanner 默认会分析您的整个项目结构,并且需要显式排除以跳过显然不应该分析的目录,例如 node_modules。

Maven 声纳插件希望您明确枚举您的源目录。我将以下几行放在子 pom.xml 文件中,它按我预期的方式工作。

Golang pom.xml:

<properties>
    <sonar.sources>src/go</sonar.sources>
</properties>

Vue pom.xml:

<properties>
    <sonar.sources>src/views,src/components,src/assets/js,src/assets/css</sonar.sources>
</properties>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2016-05-22
    • 1970-01-01
    相关资源
    最近更新 更多