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
作者:杰宏唯一
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.