java - 动态生成声纳 sonar-project.properties

标签 java jenkins maven-3 sonarqube-scan

我正在一个大型的多模块 java maven 项目中工作,我的工作是在构建后在 bitbucket 的拉取请求中设置报告 sonarQube 问题。

我已经根据项目结构创建了sonar-project.properties,并在jenkins中设置了作业,到目前为止工作正常。

现在的问题是,由于这是许多其他项目的父项目,因此项目中不断添加许多新模块/子模块。每次有新模块时,都必须相应地修改 sonar-project.properties 。虽然这是预料之中的,但有时会被遗忘。

这就是我想到的原因,有没有办法在声纳扫描仪开始执行之前动态生成sonar-project.properties

这是我们正在遵循的项目结构。

project-root/
    moduleA/
    .
    .
    moduleB/
    submoduleOfmoduleB/
    moduleC/
        submoduleOfmoduleC
        .

有没有办法通过读取pom文件或其他方式生成sonar-project.properties

最佳答案

您根本不需要使用sonar-project.properties。您可以使用 sonar-maven-plugin在您的 pom 中添加一些标准属性,并且新项目会自动添加。

我们使用以下设置

<sonar.host.url>http://sonar:9000</sonar.host.url>
<sonar.junit.reportsPath>target/surefire-reports</sonar.junit.reportsPath>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPaths>target/coverage-reports/jacoco-ut.exec, target/coverage-reports/jacoco-it.exec</sonar.jacoco.reportPaths>
<sonar.exclusions>file:**/generated-sources/**,file:**/pom.xml,file:**/node_modules/**</sonar.exclusions>

关于java - 动态生成声纳 sonar-project.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46465072/

相关文章:

continuous-integration - Jenkins(Hudson)使用什么后端来归档构建工件?

jenkins - 系统用户在 Jenkins 上更新作业的配置

java - "Error: Could not find or load main class” 在 Jenkins

maven-plugin - Maven Proguard 处理其他应用程序将依赖的库 jar

java - jetty+jersey servlet 映射不起作用

java - 使用 Java 8 流将数据分组到映射中

java - 解释 OOP 中的封装

java - "mvn clean install"与 "mvn install"有何不同?

java - NamedParameterJdbcTemplate 和组合键

java - 如何检测两个鼠标按钮是否同时松开?