前言

        一个爬行在测试路上的🐦,请多指点,该文章日常练习使用。

简介

        Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测,是代码审查利器;可以帮助我们分析bug,漏洞,异味,代码覆盖率和重复代码问题。

SonarQube由服务器、数据库、扫描仪和插件4部分组成。

环境搭建

采用docker容器搭建Sonarqube平台,数据库使用Postgres。

获取Sonarqube镜像

docker  pull postgres    拉取镜像

 启动Sonarqube容器

docker run -d --name sonarqube \
    --link postgresql \
    -p 9000:9000 \
    -e sonar.jdbc.url=jdbc:postgresql://postgresql:5432/sonar \
    -e sonar.jdbc.username=sonar \
    -e sonar.jdbc.password={数据库密码} \
    -v /tmp/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
    -v /tmp/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
    -v /tmp/sonarqube/sonarqube_data:/opt/sonarqube/data \
    sonarqube:8.4.0-community

内容说明:

--name  容器名称

--link 连接postgres容器

-e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar 连接数据库

-e SONARQUBE_JDBC_USERNAME=sonar 用户名

-e SONARQUBE_JDBC_PASSWORD=123456 密码

-v /tmp/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions  本地文件挂载到容器目录

sonarqube:8.4.0-community 选择镜像版本

启动Postgres容器

docker run --name postgresql -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /home/postgresql/data:/var/lib/postgresql/data --privileged=true -d postgres:latest

POSTGRES_USER=sonar  数据库用户名

POSTGRES_PASSWORD=123456  数据库密码

-p 5432:5432 数据库端口

--privileged=true 开放权限

查看容器列表

docker ps -a

开始访问sonarqube服务端

 访问http://xxxx:9000,初始账号admin,密码admin

生成令牌,在我的账号中设置

 

手动创建项目 

 

使用已生成的令牌

 

安装SnonarScanner

下载地址 SonarScanner | SonarQube Docsicon-default.png?t=LA92https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

设置本地环境变量。

查看安装是否生效

测试项目主要使用github上开源的项目。

使用sonar-scanner执行maven项目

 

注意jdk的版本和sonarqube的版本,有坑😭。

 

官方文档:SonarQube Documentation | SonarQube Docshttps://docs.sonarqube.org/latest/ 后续会集成Jenkins。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐