一、下载安装包
官网地址: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
访问成功!
有问题请加博主微信进行沟通!
全部评论