SonarQube简介
SonarQube是管理代码质量的一个开放平台,可以快速定位代码中潜在的或者明显的错误。支持Java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。安装PostgreSQL数据库
官网上已经声明
SonarQube7.9版本以上不再支持MySql了,所以我们使用PostgreSQL安装镜像
docker pull postgres:11
新建目录
mkdir -p /home/apps/postgres/{postgresql,data}
创建并启动
docker run -d --name postgres -p 5432:5432 \-v /home/apps/postgres/postgresql:/var/lib/postgresql \-v /home/apps/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 \postgres:11
SonarQube安装
安装镜像
docker pull sonarqube:8.9.2-community
新建目录
mkdir -p /home/apps/sonarqube/{extensions,logs,data}
修改内核参数
不修改启动会报错:ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log ```bash vim /etc/sysctl.conf
增加以下配置
vm.max_map_count=262144 fs.file-max=65536
使配置生效
sysctl -p
<a name="S6ogO"></a>### 创建并启动> 💡--link 这个参数,这个是数据库的容器名,后面的数据库连接地址,同样采用容器名进行连接```bashdocker run -d --name sonarqube -p 6004:9000 \--link postgres \-v /home/apps/sonarqube/extensions:/opt/sonarqube/extensions \-v /home/apps/sonarqube/logs:/opt/sonarqube/logs \-v /home/apps/sonarqube/data:/opt/sonarqube/data \-e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar \-e SONARQUBE_JDBC_USERNAME=sonar \-e SONARQUBE_JDBC_PASSWORD=sonar \--restart always \--privileged=true \sonarqube:8.9.2-community
查看日志
docker logs sonarqube
开放6004端口
# 添加6004端口firewall-cmd --zone=public --add-port=6004/tcp --permanent# 重新载入firewall-cmd --reload
页面访问
http://127.0.0.1:6004 ,默认账号:admin,密码:admin
sonar安装中文插件
方式一:Administration->Marketplace->搜索chinese pack,进行相应版本的安装,如下图

- 方式二:下载地址:https://github.com/xuhuisheng/sonar-l10n-zh/tags ,找到自己版本对应的中文包,将 jar 包放入 /home/apps/sonarqube/extensions/plugins ,重启 sonarqube
