Sonarqube for Dockerized multimodule project(JaCoCo and Lombok issue)

问题描述 投票:0回答:0

我有一个 dockerized 多模块项目,其中两个模块使用 Java。当我启动项目时,JacoCo 形成报告并将其放入容器中(我可以在容器中找到它,它肯定在那里)。然后当 SonarQube 开始分析时,它没有找到这个报告,可能是因为报告在我的容器中。此外,SonarQube 不读取 Lombok 注释,因此它会产生很多错误的代码味道。 我尝试使用“sonar.java.libraries”属性修复此问题,但这不起作用。这些问题我该怎么办? 我用这个 docker-compose 文件运行声纳:

version: "3.7"

services:
  sonarqube:
    image: sonarqube:8.9.0-community
    depends_on:
      - sonarqube-db
    ports:
      - "9000:9000"
    expose:
      - "9000"
    networks:
      - sonarnet
    environment:
      SONAR_JDBC_URL: jdbc:postgresql://sonarqube-db:5432/sonar
      SONAR_JDBC_USERNAME: sonar
      SONAR_JDBC_PASSWORD: sonar
      SONAR_SEARCH_JAVAADDITIONALOPTS: "-Dbootstrap.system_call_filter=false"
    volumes:
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_temp:/opt/sonarqube/temp
  sonarqube-db:
    image: postgres:12
    networks:
      - sonarnet
    environment:
      POSTGRES_USER: sonar
      POSTGRES_PASSWORD: sonar
    volumes:
      - postgresql:/var/lib/postgresql
      # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52
      - postgresql_data:/var/lib/postgresql/data
  sonar-cli:
    image: sonarsource/sonar-scanner-cli:4.6
    init: true
    volumes:
      - ./:/usr/src/app
    command: sonar-scanner -Dsonar.projectKey=outprf -Dsonar.language=java -Dsonar.java.source=11 -Dsonar.qualitygate.wait=true -Dsonar.sources=outprf-batch/src/main,outprf-web/src/main -Dsonar.java.binaries=. -Dsonar.java.libraries=root/.m2/**/*.jar -Dsonar.scm.exclusions.disabled=true -Dsonar.exclusions=_data/**,_deploy/**,_script/**,outprf-mobile/**,outprf-ui/**,outprf-heartbeatlogs/**,**/**.html -Dsonar.coverage.jacoco.xmlReportPaths=outprf-batch/target/test-results/coverage/jacoco/jacoco.xml,outprf-web/target/test-results/coverage/jacoco/jacoco.xml
    environment:
      - SONAR_PROJECT_BASE_DIR=/usr/src/app
      - SONAR_HOST_URL=http://sonarqube:9000
      - SONAR_PROJECT_KEY=outprf
      - SONAR_LOGIN=admin
      - SONAR_PASSWORD=sonaradmin
    networks:
      - sonarnet
    depends_on:
      - sonarqube

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_logs:
  sonarqube_temp:
  postgresql:
  postgresql_data:

我尝试在 dockerized 多模块项目中运行 SonarQube,但声纳不读取 Lombok 注释和 JaCoCo 报告

docker docker-compose sonarqube lombok jacoco
© www.soinside.com 2019 - 2024. All rights reserved.