环境要求
-
ubuntu16.04
-
jdk1.8
-
mysql-server-5.7
-
sonarqube7.7(目前最新版)下载地址:https://www.sonarqube.org/downloads/ 下载后解压即可
安装jdk
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
检测:java -version
安装mysql-server
ubuntu上安装mysql非常简单只需要几条命令就可以完成。
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:
sudo netstat -tap | grep mysql
通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。
登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。
创建数据库(用于sonar数据的存储)
创建一个sonar的数据库,并创建一个sonar的mysql用户
mysql -u root -p
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
安装sonarqube
sonarqube支持zip文件安装和Docker安装,以下为zip文件安装
Docker安装需要依赖Docker环境,建议参考https://hub.docker.com/_/sonarqube
官网下载sonarqube,下载后解压至你想要存放的目录(例如/opt/sonar)
unzip /xxx/xxx/sonarqube-7.7.zip
配置sonar环境
sonar配置修改
sudo vim /opt/sonar/sonarqube-7.7/conf/sonar.properties
修改如下内容(注意修改后去除#注释)
sonar.jdbc.username=数据库用户名(前面数据库设置的sonar的账户)
sonar.jdbc.password=数据库密码(前面数据库设置的sonar的密码)
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonaruseUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
此处sonar默认使用9000端口,如果需要更换端口(或加一个根路径)则需要修改该配置文件中的如下信息(注意修改后去除#注释)(在WEB SERVER中)
sonar.web.host=0.0.0.0
sonar.web.context=/sonar (访问根路径)
sonar.web.port=9000 (访问端口)
配置环境变量
- 配置环境变量
sudo vim /etc/profile #打开环境变量配置文件,写入如下内容(位置根据实际的存放位置为准)
export SONAR_HOME=/opt/sonar/sonarqube-7.7
source /etc/profile # 重启环境变量
启动sonarqube
cd /opt/sonar/sonarqube-7.7/bin/linux-x86-64/
./sonar.sh start
如果启动失败,使用如下查看原因
./sonar.sh status
如果不是因为权限问题启动失败,可以在/sonar/log下查看日志文件;
启动后如果相应的数据库sonar中自动创建很多新表即配置成功
注意ubuntu权限
-
如果sonar存放的目录是home下面的文件就不需要权限问题,可以直接启动
-
如果存放在opt等根目录下面,需要给文件权限才能使其完成内部文件的读写,才能启动成功
sudo chmod -R 777 /opt/sonar/
汉化sonar
访问你配置的URL,localhost:9000/sonar(根据上面你的配置,如果没配置就是默认locahost:9000);
使用默认帐号admin、密码admin登录;
进入Administration—Marketplace,找到“Chinese Pack”点击install,之后顶部会提示点击Restart,再次确认点击Restart,之后等待重启完成即可。
修改配置
点击配置->PHP,将File Suffixes的值改为“.php .php3 .php4 .php5 .phtml .inc”;
点击配置->Python,将File Suffixes的值改为“.py”。
额外说明
-
sonarqube与sonar-scanner可以不安装在同1台设备上,当两者不安装在同1设备上时sonar-scanner的配置文件中“sonar.host.url"、"sonar.jdbc.url”值写成指定的url即可
-
此处的说明主要为了引入sonarlint插件、sonar服务器搭建、jenkins自动构建(写到这里感觉这个工具还是有点意思的,哈哈)