代码检测sonar

1597人浏览 / 0人评论

一、下载安装包

官网地址:https://www.sonarqube.org/downloads/

链接:https://pan.baidu.com/s/1vKUlViVPzHCW8Q_14yE4PA

提取码:1234

压缩包上传

[root@jumpserver ~]# ls
sonarqube-8.4.2.36762.zip  sonarqube-developer-8.4.2.36762.zip
 

 

二、配置

1、 sonarqube是需要依赖于jdk的,目前我所使用的sonarqube-8.4的版本,需要依赖于java11的版本,否则在启动的时候会报错。

2、sonarqube安装后,数据默认是存储在H2数据库引擎中的,可以在配置文件中修改数据存储的相关信息,配置文件存放于conf/sonar.properties文件中,目前支持H2(默认使用这个,但是官方推荐仅用于测试 ,商业环境中不推荐使用)、Oracle、PostgreSQL和SQLServer。

在以前的版本中,会看到支持mysql,网上有很多教程都写的是配置mysql的数据源 ,从SonarQube v7.9版本开始,将不再支持mysql,具体可参考下面的官方申明:

https://community.sonarsource.com/t/end-of-life-of-mysql-support/8667

3、

1、SonarQube Server 包含3个主要服务进程①WebServer②SearchServer使用elastic search 做为搜索的工具ui ③ComputeEngineServer 分析并且保存到sonar数据库中

2、SonarQube Database ① 配置实例项、插件安装等 ② 项目质量快照视图

3、SonarQube Plugins 各种插件:如 语言插件、认证插件、编程语言检查插件等

4、SonarQube Scanners 分析项目的工具


 

4、集成

5、流程

1、在IDE中使用sonarlint插件运行本地分析

2、开发者将代码提交到scm工具中

3、持续集成工具自动触发检查代码执行SonarQube Scanner 运行sonarqube分析

4、分析报告传递给sonarqube server进行加工处理

5、进行处理分析、将数据保存到数据库中、将效果通过ui展示出来

6、开发者通过sonarqube ui查看自己的bug和技术债等

7、项目经理、运维经理、测试经理、开发人员通过代码报表进行查看管理

 

三、安装配置

https://blog.csdn.net/kaikai136412162/article/details/108307771

https://www.jianshu.com/p/b35674bd2fad

四、docker安装

整镜像

docker pull sonarqube
[root@kache ~]# docker pull postgres:12.3-alpine
[root@kache ~]# docker pull sonarqube:8.4.0-community

 启动数据库

[root@kache ~]# docker run -d -p 5432:5432 --name postgresql -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonarsonar -v /data/postgresql/data:/var/lib/postgresql/data -d postgres:12.3-alpine
2063ec26899f24beb45191ef37d5c7d40ab8ea5f9dbcee350ce15b1cd5b656b9
 

启动sonar

docker run -d --name sonarqube \
    --link postgresql \
    -p 9001:9001 \
    -e sonar.jdbc.url=jdbc:postgresql://postgresql:5432/sonar \
    -e sonar.jdbc.username=sonar \
    -e sonar.jdbc.password=sonarsonar \
    -v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
    -v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
    -v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \
    sonarqube:8.4.0-community 

一启动秒死,我服了呀!!!!

修改参数

直接办法修改宿主机参数

sysctl -w vm.max_map_count=262144 

vm.max_map_count 参数,是允许一个进程在 VMA 中拥有的最大数量(VMA:虚拟内存地址, 一个连续的虚拟地址空间),当进程占用内存超过时, 直接 OOM。

由于 Elasticsearch 占用内存较高。官方要求 max_map_count 需要配置到最小 262144。

max_map_count 配置文件写在系统的 /proc/sys/vm 中

通过 docker inspect 命令, 可查看 docker 使用宿主机的 /proc/sys 作为只读路径之一。说明镜像使用宿主机的 max_map_count 参数。因此直接修改宿主机的 max_map_count 参数即可。

这回一看,起来了我丢

[root@kache ~]# docker ps -a
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
9a8c523f562a        sonarqube:8.4.0-community   "bin/run.sh bin/sona…"   26 seconds ago      Up 25 seconds       0.0.0.0:9000->9000/tcp   sonarqube
2063ec26899f        postgres:12.3-alpine        "docker-entrypoint.s…"   41 minutes ago      Up 41 minutes       0.0.0.0:5432->5432/tcp   postgresql
 

访问成功!

 

全部评论