docker安装Sonarqube

简介

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

vim /opt/sonarqube/conf/sonar.properties

sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

去掉 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

 

5)创建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

 

6)测试验证
浏览器输入http://ip:9090,开始初始化数据库,这个时间过程比较长,大概几分钟。初始化成功后进入登录界面,账号:admin 密码:admin

中文语言包下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tags 找到自己版本对应的中文包

将下载的 jar 包放入 /opt/sonarqube/extensions/plugins ,重启 sonarqube

[root@k8s-master plugins]# ll
total 72
-rwx------ 1 1000 1000   737 Dec 20  2021 README.txt
-rw-r--r-- 1 root root 65884 Oct 16 19:22 sonar-l10n-zh-plugin-9.2.jar
[root@k8s-master plugins]# docker restart sonarqube
sonarqube

 

posted @ 2022-10-16 19:07  杰宏唯一  阅读(1022)  评论(0编辑  收藏  举报