为了代码质量,保证代码符合最基本的规范,可以使用SonarQube进行代码检查。SonarQube是一个静态代码质量检查工具,可以检查出代码中明显或潜在问题。
下面介绍在linux系统中,搭建Sonar服务器的方法。windows系统中的搭建方法,参照另一篇《Sonar服务器搭建(windows)》。
1. 配置JDK
下载JDK
官方下载地址:https://www.oracle.com/technetwork/java/javase/downloads
下载时,选择SonarQube需要的版本下载。下载解压缩后,存放在待进行代码走查的服务器,如下图所示。
我选择的SonarQube的版本是6.7,官网(https://docs.sonarqube.org/6.7/Requirements.html)说明6.7版本,需要JDK8。不同版本SonarQube需要不同版本的JDK,具体参照官网要求。
![aff44cc2b4dae68bb8ae85b561064adb.png](https://img-blog.csdnimg.cn/img_convert/aff44cc2b4dae68bb8ae85b561064adb.png)
配置JDK环境变量,如下:
vi ~/.bashrc # 也可以在其他文件(/etc/environment等,根据自己需要来。我比较懒,每次都加在bashrc中)中设置环境变量
在bashrc文件中加入如下内容
JAVA_HOME=/home/xxxx/tools/java/jdk1.8.0_161
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
检查JDK环境变量配置结果,在命令行中的输入“java -version”命令,正确配置时,输出如下信息:
![c8d69cd3fba402778b7f9cb1c4b58aff.png](https://img-blog.csdnimg.cn/img_convert/c8d69cd3fba402778b7f9cb1c4b58aff.png)
2. 配置Maven(非Maven项目不需要)
下载Maven
官方下载地址:http://maven.apache.org/download.cgi
下载最新版本,解压缩后,存放在待进行代码走查的服务器。
![fb3be5d7ce62eff7aa6bb41c7f16eab1.png](https://img-blog.csdnimg.cn/img_convert/fb3be5d7ce62eff7aa6bb41c7f16eab1.png)
配置Maven环境变量
vi ~/.bashrc # 继续配置在bashrc文件中,在bashrc文件中加入如下内容
export MAVEN_HOME=/opt/maven/apache-maven-3.2.5
export MAVEN_HOME
export PATH=$PATH:$MAVEN_HOME/bin
Meven配置确认:mvn -version
![980976b56bea334725171e8ea478cfc2.png](https://img-blog.csdnimg.cn/img_convert/980976b56bea334725171e8ea478cfc2.png)
3. 配置MySQL
安装
官方下载地址:https://dev.mysql.com/downloads/mysql/
rpm -ivh mysql-XXX.rpm
变量配置
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
为了保证代码走查时,能正常上传走查报告,在my.cnf文件中追加如下两项配置:
max_allowed_packet=256M
innodb_log_file_size=640M
启动
/usr/bin/mysql_install_db # 初始化数据库
service mysql start # 启动mysql
chkconfig –list # 确认MySQL服务已启动 如果mysql服务后面“3、4、5”的值都显示“on”,则启动成功。
![b6b5cbf4920b905659df8d2c0b968192.png](https://img-blog.csdnimg.cn/img_convert/b6b5cbf4920b905659df8d2c0b968192.png)
开启MySQL远程访问
more /root/.mysql_secret # 查看默认生成的root临时密码
![1f6343332f07e2b77acd04493976603f.png](https://img-blog.csdnimg.cn/img_convert/1f6343332f07e2b77acd04493976603f.png)
mysql -uroot -p # 输入上一步的临时密码进入数据库
![03f6b2a6e149429b7504a3b718acf036.png](https://img-blog.csdnimg.cn/img_convert/03f6b2a6e149429b7504a3b718acf036.png)
4. 配置SonarQube
Sonarqube下载
官方下载地址:Download | SonarQube
下载需要的版本,解压缩,注意跟JDK版本相匹配。
![1d944d3d0a95279a325fb6a828921985.png](https://img-blog.csdnimg.cn/img_convert/1d944d3d0a95279a325fb6a828921985.png)
Maven 中配置Sonar(非Maven项目不需要)
vi /opt/maven/apache-maven-3.2.5/conf/settings.xml # 编辑setting.xml,在文件中追加sonar节点及其以下内容。
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
5. 运行SonarQube
sh /opt/sonarqube-6.7.5/bin/linux-x86-64/sonar.sh # 启动sonar
在浏览器中输入http://xxx.xxx.xxx.xxx:9000,确认sonar已启动。