SonarQube安装与多分支扫描分析插件安装
1. 前言
SonarQube是一个开源的代码质量管理平台,提供了代码质量管理的各种功能,例如静态检查、代码度量、代码审查等等。
作为一个开源的开发者,对自己写的开源项目还是很有必要进行扫描一下,没有人能保证他写出没有bug 的程序,但是通过一些工具可以降低我们写bug的概率。
2. SonarQube的安装
你可以直接去SonarQube的官网查看安装文档,上面写的还是非常详细的。
链接:https://docs.sonarqube.org/latest/setup-and-upgrade/install-the-server/
2.1 安装环境
这里使用的安装环境是:centos7 + docker
使用数据库为:PostgreSQL
SonarQube所支持的数据库有:Oracle, Microsoft SQL Server,所以如果你的DB不是PostgreSQL也没关系。
2.2 创建SonarQube对应的文件夹
mkdir /dockerData/sonarqube/sonarqube_data
mkdir /dockerData/sonarqube/sonarqube_extensions
mkdir /dockerData/sonarqube/sonarqube_logs
这里创建的三个文件夹是用来放置SonarQube之后会存放的数据和插件以及日志,在SonarQube的官网安装教程中更加推荐我们使用docker volume create 的方式,这是因为 volume 存储在 Docker Host 文件系统的一个路径下,这个路径是由 Docker 来进行管理,路径默认是 /var/lib/docker/volumes/,非 Docker 的进程不能去修改这个路径下面的文件,所以说 Volumes 是持久存储数据最好的一种方式。
相关知识:Docker 数据存储
这里为了方便我们之后安装插件,所以没有采取这种方式的安装。
2.3 拉取镜像
docker run -d --name sonarqube \
-p 9000:9000 \
-e SONAR_JDBC_URL=jdbc:postgresql://ip:port/sonarqube?currentSchema=sonar_schema \
-e SONAR_JDBC_USERNAME=postgresql \
-e SONAR_JDBC_PASSWORD=password \
-v /dockerData/sonarqube/sonarqube_data:/opt/sonarqube/data \
-v /dockerData/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
-v /dockerData/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
sonarqube:9.9.0-community
在这个命令当中,我们指定了容器的启动的端口,和SonarQube连接DB的地址,可以根据你使用的DB进行调整。最后通过-v 命令挂载了服务器的目录到docker容器当中
启动完成之后,使用你的ip:端口 进行访问,应该有这样的界面。帐号名和密码都是admin,第一次登录之后便会要求你更改密码。

如果你的SonarQube启动失败,可以通过docker logs sonarqube 查看错误日志,一般情况下主要的原因有:
- 连接DB失败:检查用户名和密码,或者防火墙
- sonarqube写入文件没有权限:因为我们是通过挂载文件夹的形式,sonarqube会对
dockerData/sonarqube/下进行写入文件,需要检查sonarqube是否有足够的权限