1. 在Parallels Desktop中新建Ubuntu虚拟机
在虚拟机设置中,设置共享文件夹,自定义本机的“下载”文件夹为共享文件夹,则可以在虚拟机的/media/psf/下看到共享的“下载”文件夹。
2. 终端ssh连接虚拟机
3. 安装软件
在Linux系统中的软件下载可以有两种方式,一是从网络上下载安装包,即使用wget下载网络资源(jdk不可用这种方式,因为下载时需要登录Oracle账户且同意声明),此方式适合Sonar的两个软件;二是手动下载网络资源之后,如jdk,在Oracle官网下载Linux的安装包.tar.gz文件之后,通过共享文件夹在虚拟机中访问文件,此方式适合jdk。
Linux系统软件的安装方式,一可以使用类似于yum的在线软件管理中的install命令直接安装;二可以使用离线安装包,然后在源码文件夹中进行检查,编译,安装的操作,如configure检查及指定安装目录,make编译,make install安装。
3.1 安装jdk
在oracle官网登录之后去下载jdk的linux的64位的.tar.gz安装包
下载完成之后,放到“下载”目录下,在虚拟机中访问共享目录“下载”下,拷贝jdk安装包到/opt下。
在/usr下创建/usr/local/java目录,mkdir /usr/local/java
cd /usr/local/java
将jdk解压到java目录中,tar xzvf /opt/jdk-8u181-linux-x64.tar.gz
,在环境变量中增加jdk配置。
vim /etc/bash.bashrc
source /etc/bash.bashrc
使用java -version测试配置是否正确
3.2 安装MySQL
安装mysql:
Ubuntu下安装mysql,默认安装版本为5.6,安装完成之后,需要升级,mysql5.6升级5.7操作
3.3 安装Sonarqube,Sonar-Scanner
- 安装sonarqube,sonar-scanner
cd /opt
(下载的文件自定义放在了opt下)
sudo wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.7.5.zip
sudo wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip
解压到usr/sonar (sonar 是自己创建的文件夹mkdir /usr/sonar
)
解压zip文件,需要先安装unzip命令,sudo apt-get install unzip
在/usr/sonar下,执行解压,unzip /opt/sonarqube-6.7.5.zip
,unzip /opt/sonar-scanner-cli-3.2.0.1227-linux.zip
- sonar配置修改
1、vim /usr/sonar/sonarqube-6.7.5/conf/sonar.properties
2、vim /usr/sonar/sonarqube-6.7.5/conf/wrapper.conf
3、vim /usr/sonar/sonar-scanner-3.2.0.1227-linux/conf/sonar-scanner.properties
4、在profile中增加sonar-scanner的配置
vim /etc/profile
增加如下的配置export SONAR_HOME="/usr/sonar/sonarqube-6.7.5" export SONAR_RUNNER_HOME="/usr/sonar/sonar-scanner-3.2.0.1227-linux" export PATH=$SONAR_RUNNER_HOME/bin:$PATH
source /etc/profile
4. 创建数据库信息
```sql
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;
```
5. 启动sonar服务
在sonarqube下的bin目录下的linux的64位的文件夹下的sonar.sh脚本执行启动,./sonar.sh start
6. sonar-scanner运行结果
成功运行,在本地浏览器中打开http://10.211.55.4:9000/about,即可查看soanr-scanner结果,如图
运行过程中的问题记录
1、由执行权限原因,导致sonar服务一直启动失败
解决办法:对/usr/sonar文件夹进行权限修改,sudo chmod -R 777 /usr/soan
2、运行过程中报:Process exited with exit value [es]: 143
解决方案见链接:https://blog.csdn.net/qq_35981283/article/details/81072852
3、启动过程中web启动失败,数据库链接一直异常
解决方案:先删除mysql中的sonar数据库,然后从新创建soanr数据库,重启sonar服务即可。
4、导入py项目,到/usr/sonar目录下,开始运行,在/usr/sonar下运行 sonar-scanner时提示没有py插件
解决方案:去网上下载py插件,然后放到sonarqube的extension目录下,重启sonar服务