背景

由于公司需要,所以开搞 sonarqube 静态代码扫描,linux 版本不支持 ios 的代码检查,因为需要 xcode 相关工具,所以要想扫描 ios 的代码,则需要在 mac 上部署 sonarqube ,本文主要以 linux centOS 系统为主来部署 sonarqube

前期环境准备

开始解压及安装

1. 在桌面中打开终端,并输入命令 unzip sonarqube-5.6.6.zip ,解压 sonarqube

2. 在终端中输入 unzip sonar-scanner-cli-3.0.3.778-linux.zip ,解压 sonar scanner

3. 在终端中输入 unzip sonar-runner-dist-2.4.zip ,解压 sonar runner

4. 在终端中输入 cp -r sonarqube-5.6.6/ /usr/local/sonarqube ,将 sonarqube-5.6.6 文件夹内容复制至 /usr/local/sonarqube 文件夹内

5. 在终端中输入 cp -r sonar-scanner-3.0.3.778-linux/ /usr/local/sonarscanner ,将 sonar-scanner-3.0.3.778-linux 中的内容复制到 /usr/local/sonarscanner 文件夹内

6. 在终端中输入 cp -r sonar-runner-2.4/ /usr/local/sonarrunner ,将 sonar-runner-2.4 文件夹内的内容复制到 /usr/local/sonarrunner 文件夹内

7. 安装好 mysql 后,需要创建 sonar 的数据库

7.1. 在终端中输入 mysql -uroot -p ,输入 mysql 的密码,进入 mysql 命令输入界面

7.2. 输入 create user 'sonar'@'%' identified by '123456'; ,创建名为 sonar 的用户,除本地以外的主机均可连接,通过密码 123456

7.3. 输入 CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; ,创建名为 sonar 的数据库,设置字体编码为 utf8

7.4. 输入 grant all privileges on sonar.* to 'sonar'@'%'; ,赋予用户 sonar 通过除本机以外其他主机连接到 sonar 数据库,且得到所有操作 sonar 下所有表的权限

7.5. 输入 flush privileges; 然后输入 quit 退出数据库

8. 进入 sonarqube 下 conf 文件夹内,配置 sonar.properties 文件

8.1. 在终端输入 vim /usr/local/sonarqube/conf/sonar.properties

8.2. 修改以下项,然后将前面的 # 去掉,然后保存退出
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.10.168:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

8.3. 一般来讲,sonarqube 服务的端口默认为 9000,但是 linux 自带的防火墙会屏蔽所有端口,所以需要设置防火墙,打开 9000 端口

在终端中输入 vim /etc/sysconfig/iptables,添加内容如下图红框:

设置完之后,保存退出,在终端输入 service iptables restart 重启防火墙服务

8.4. 在终端中输入 /usr/local/sonarqube/bin/linux-x86-64/sonar.sh start ,启动 sonar 服务

在终端中输入 tail -f /usr/local/sonarqube/logs/sonar.log ,实时查看 log 信息,如果出现以下图片内容,代表开启成功

1. 在主机中,打开浏览器,在网址输入框中,输入虚拟机 ip + 端口号,192.168.10.168:9000,出现下图后,代表 sonarqube 环境部署成功


↙↙↙阅读原文可查看相关链接,并与作者交流