简介
sonarqube是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息.
首先需要安装数据库,开源的可以用 mysql 或者 postgresql 。官网上已经声明 sonarQube 7.9 版本以上不再支持 mysql 了,我们为了以后升级新版本不做数据库迁移,尽量使用 postgresql
1.安装 postgresql
1)下载镜像
# docker pull postgres
2)创建本地挂载目录
# mkdir -p /opt/postgres/postgresql
# mkdir -p /opt/postgres/data
3)创建postgresql容器
# docker network create sonarqube
# docker run --name postgres -d -p 5432:5432 --net sonarqube \
-v /opt/postgres/postgresql:/var/lib/postgresql \
-v /opt/postgres/data:/var/lib/postgresql/data \
-v /etc/localtime:/etc/localtime:ro \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar \
-e TZ=Asia/Shanghai \
--restart always \
--privileged=true \
--network-alias postgres \
postgres:latest
2.安装sonarque
1)下载镜像
# docker pull sonarqube
2)创建挂载目录&修改系统配置
# mkdir -p /opt/sonarqube
# echo "vm.max_map_count=262144" > /etc/sysctl.conf
# sysctl -p
3)创建sonarqube容器(目的获取sonarqube配置,修改配置数据信息)
# docker run -d --name sonarqube sonarqube
# docker cp sonarqube:/opt/sonarqube/conf /opt/sonarqube
# docker cp sonarqube:/opt/sonarqube/data /opt/sonarqube
# docker cp sonarqube:/opt/sonarqube/logs /opt/sonarqube
# docker cp sonarqube:/opt/sonarqube/extensions /opt/sonarqube
# docker stop sonarqube
# docker rm sonarqube
# chmod -R 777 /opt/sonarqube/
4)最好先更改数据库链接地址,否则连不上数据库
#修改/opt/sonarqube/conf路径下的文件 sonar.properties
# 找到如下配置去掉注释。并赋值 username,password
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
5)去掉 sonar.jdbc.url 注释,配置url
#----- PostgreSQL 9.3 or greater
# By default the schema named "public" is used. It can be overridden with the parameter "currentSchema".
sonar.jdbc.url=jdbc:postgresql://postgres:5432/sonar
6)创建sonarqube容器
# docker run -d --name sonarqube -p 9000:9000 \
-e ALLOW_EMPTY_PASSWORD=yes \
-e SONARQUBE_DATABASE_USER=sonar \
-e SONARQUBE_DATABASE_NAME=sonar \
-e SONARQUBE_DATABASE_PASSWORD=sonar \
-e SONARQUBE_JDBC_URL="jdbc:postgresql://postgres:5432/sonar" \
--net sonarqube \
--privileged=true \
--restart always \
-v /opt/sonarqube/logs:/opt/sonarqube/logs \
-v /opt/sonarqube/conf:/opt/sonarqube/conf \
-v /opt/sonarqube/data:/opt/sonarqube/data \
-v /opt/sonarqube/extensions:/opt/sonarqube/extensions\
sonarqube
7)测试验证
浏览器输入http://ip:9090,开始初始化数据库,这个时间过程比较长,大概几分钟。初始化成功后进入登录界面,账号:admin 密码:admin
中文语言包下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tags 找到自己版本对应的中文包
将下载的 jar 包放入 /opt/sonarqube/extensions/plugins ,重启 sonarqube