使用Docker搭建 代码质量平台 SonarQube

概述

由于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

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

41 声望
3 粉丝
0 条评论
推荐阅读
AWS-CLI查询EC2流量(互联网带宽)使用情况
安装aws-cli并安装jq {代码...} 配置 {代码...} 查询脚本以下是查询脚本query.sh {代码...} 查询结果bash query.sh {代码...}

FrontNg阅读 306

Java8的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft32阅读 27.4k评论 1

一文彻底搞懂加密、数字签名和数字证书!
微信搜索🔍「编程指北」,关注这个写干货的程序员,回复「资源」,即可获取后台开发学习路线和书籍来源:个人CS学习网站:[链接]前言这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视...

编程指北71阅读 33.3k评论 20

Java11的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft28阅读 19.2k评论 3

Java5的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft13阅读 21.7k

Java9的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft20阅读 15.2k

Java13的新特性
Java语言特性系列Java5的新特性Java6的新特性Java7的新特性Java8的新特性Java9的新特性Java10的新特性Java11的新特性Java12的新特性Java13的新特性Java14的新特性Java15的新特性Java16的新特性Java17的新特性Java...

codecraft17阅读 11.1k

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

41 声望
3 粉丝
宣传栏