SonarQube使用笔记
简介
SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二十几种编程语言的代码质量管理与检测。
环境&版本
- Centos6.10
- jdk8
- mysql5.7
- sonarqube-7.7
- sonar-scanner-2.8
- 特别注意:sonarqube 能支持jdk8和mysql的最高版本是sonarqube-7.7
下载
在SonarQube的下载页面:https://www.sonarqube.org/downloads/,下载需要的版本。社区版即可。
sonar
只要版本下对,问题基本不大。
# 1、将下载的zip上传至服务器
scp /Users/adg/Downloads/sonarqube-7.7.zip root@192.168.xx.xx:/usr/local/sonarqube
# 2、解压sonar
unzip sonarqube-7.7.zip -d .
# 3、conf中改配置
vim /usr/local/sonarqube/sonarqube-7.7/conf/sonar.application
## 配置sonar的配置文件
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.web.port=9000
# 4、新建一个系统的用户,启动sonar需要普通用户
useradd sonar
# 5、把文件夹权限交给sonar用户
chown -R sonar sonarqube-7.7
# 6、普通用户启动
su sonar sonar.sh console
## 或 打印日志
tail -f /usr/local/sonarqube/sonarqube-7.7/logs/sonar.log
mysql
jdk就常规配置就行,jdk8
至于mydql先说正常情况,假设已有mysql5.7
执行如下语句创建sonar数据库及账户:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'abc@123ABC';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'abc@123ABC';
FLUSH PRIVILEGES;
接下来是mysql已有其他版本,且不兼容时
# 更新超慢时记得换源,自行百度
yum update -y
sudo yum install -y wget
# 检查是否安装有MySQL数据库
rpm -qa | grep mysql
rpm -e mysql # 普通删除模式
rpm -e --nodeps mysql # 强力删除模式
# 下载MySQL官网的 yum repository,其中6-10是centos版本6.10
wget -c http://dev.mysql.com/get/mysql57-community-release-el6-10.noarch.rpm
# 本地安装下载下来的rpm包
yum localinstall mysql57-community-release-el6-10.noarch.rpm
# 查看可用的安装包
yum repolist enabled |grep mysql
接下来两步要注意下,如果报错如:
Error: failure: xxxxx: [Errno 256] No more mirrors to try.
执行:yum clean all
然后 yum makecache
# 安装前装gcc所有包,防止报错
yum install gcc*
# 安装mysql
yum install -y mysql-community-server
因为我是centos6,mysqld的启动
# centos6
service mysqld start
# centos7
systemctl start mysqld
附:mysql忘记root密码
https://www.linuxidc.com/Linux/2018-05/152586.htm
sonar-scanner
此处参考 https://www.cnblogs.com/zhongyuanzhao000/p/11686522.html
# 1、下载压缩包并解压(最好用sonar-scanner-2.8版本,支持jdk1.8,否则其他版本会出错) cd /usr/local
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip
# 解压后,目录名改为sonar-scanner
unzip sonar-scanner-2.8.zip
# 2、编辑 /etc/profile 文件 把以下配置添加到文件末尾,如下:
#set sonar-scanner environment
export SONAR_SCANNER_HOME=/usr/local/sonar-scanner
export PATH=${SONAR_SCANNER_HOME}/bin:${PATH}
然后执行命令: source /etc/profile
# 3、查看sonar-scanner版本:sonar-scanner -v
# 然后根据提示,编辑sonar-scanner.properties文件,如下:
vi /usr/local/sonar-scanner/conf/sonar-scanner.properties
# 修改SonarQube server的地址,改为前面SonarQube的地址
# Default SonarQube server
sonar.host.url=http://192.168.xx.xxx:9000
# 去掉mysql的注释
# ----- MySQL
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8