概述

由于sonarqube7.8版本之后不再支持JDK1.8,但大部分项目仍采用JDK1.8,所以本文还是以sonarqube7.8为例。

一、拉取两个Docker镜像

docker pull sonarqube:7.8-community

docker pull postgres

二、运行数据库容器

docker run --name postgresql -d -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e PGDATA=/var/lib/postgresql/data/pgdata -v D:\data\docker\postgresql:/var/lib/postgresql/data  -d postgres

三、运行sonarqube

docker run --name sonarqube -d --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d sonarqube:7.8-community

检查一下是否出错
docker logs -f sonarqube

如果出现 vm.max_map_count 65530 is too low 错误,
windows可以修改wsl

wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
sysctl -p

四、运行成功后打开

http://localhost:9000/
默认用户名密码:
admin
admin

五、安装中文插件

sonarqube默认是英文的,如果需要汉化需要安装中文插件。
我们这里的sonarqube是7.8对应的插件版本是1.28

重新登录即可看到界面是中文的了。

六、maven项目java代码上报

  • 创建项目
    image.png
  • 生成token
    image.png
  • 复制token,配置pom.xml中到<sonar.login>
    image.png
  • maven依赖

    <properties>
      <sonar.host.projectKey>test</sonar.host.projectKey>
      <sonar.host.url>http://127.0.0.1:9000</sonar.host.url>
      <sonar.login>42b6dd7790828e4b3eadbc84d19bdbe7e7ec5b91</sonar.login>
    </properties>
    
    
    <pluginManagement>
      <plugins>
          <plugin>
              <groupId>org.sonarsource.scanner.maven</groupId>
              <artifactId>sonar-maven-plugin</artifactId>
              <version>3.6.0.1398</version>
          </plugin>
      </plugins>
    </pluginManagement>
  • 执行mvn

    mvn sonar:sonar

    或者在不配置参数的情况下直接执行

    mvn sonar:sonar \
    -Dsonar.projectKey=hspf \
    -Dsonar.host.url=http://127.0.0.1:9000 \
    -Dsonar.login=42b6dd7790828e4b3eadbc84d19bdbe7e7ec5b91 \

    等待执行完成后,刷新一下界面,即可看到生成的代码质量检查报告。

  • 如果提示SVN错误
    svn: E170001: Authentication required for '<svn://192.168.1.95:3690> 6f205048-4e01-0010-937d-7723a8b4cf5f'
    可以在管理界面关闭SCM
    image.png

FrontNg
41 声望3 粉丝

Java/Spring Cloud/微服务/Dev-Ops/Linux/Vue.js