SonarQube的安装与使用

ps:

      SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误.

1、准备环境

Centos7.5, jdk8,mysql 5.6-5.7, sonarqube-7.8

请先确保linux已经安装了jdk8,并且已经配置好了环境变量;

以下是我的虚拟机环境:(ps:jdk、mysql已装好)

[root@localhost ~]# mysql -V
mysql  Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using  EditLine wrapper
[root@localhost ~]# java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
[root@localhost ~]#  cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

数据库安装完毕后需要建立一个数据库,sonarQube ,sonarQube 在使用过程中用到这个数据库:

[root@localhost ~]# mysql -uroot -p
Enter password:
mysql> create database sonar charset=utf8;
Query OK, 1 row affected (0.00 sec)

2、安装sonarQube

  2.1解压

  2.2配置:

[root@localhost local]# cd sonarqube-7.8/
[root@localhost sonarqube-7.8]# ll
total 12
drwxr-xr-x. 6 root root   94 Jun 17  2019 bin
drwxr-xr-x. 2 root root   50 Jun 17  2019 conf
-rw-r--r--. 1 root root 7651 Jun 17  2019 COPYING
drwxr-xr-x. 2 root root   24 Jun 17  2019 data
drwxr-xr-x. 7 root root  131 Jun 17  2019 elasticsearch
drwxr-xr-x. 4 root root   40 Jun 17  2019 extensions
drwxr-xr-x. 6 root root  123 Jun 17  2019 lib
drwxr-xr-x. 2 root root   24 Jun 17  2019 logs
drwxr-xr-x. 2 root root   24 Jun 17  2019 temp
drwxr-xr-x. 7 root root 4096 Jun 17  2019 web
[root@localhost sonarqube-7.8]# cd conf/
[root@localhost conf]# ll
total 24
-rw-r--r--. 1 root root 20422 Jun 17  2019 sonar.properties
-rw-r--r--. 1 root root  3217 Jun 17  2019 wrapper.conf
[root@localhost conf]# vim sonar.properties
[root@localhost conf]# cd ..

配置 sonar.properties:

# Mysql数据用户名
sonar.jdbc.username=root
sonar.jdbc.password=123456
# 配置mysql数据库
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?
useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=
maxPerformance&useSSL=false
# 设置sonar服务
sonar.web.host=0.0.0.0
sonar.web.context=/sonarqube
sonar.web.port=9000

 注意:不能用root用户启动,原因是ElasticSearch的安全问题,所以需要新建一个用户,为该用户赋予sonarQube的文件访问权限,再用该用户登录.

[root@localhost sonarqube-7.8]# su esuser
[esuser@localhost sonarqube-7.8]$ su root
Password:
[root@localhost sonarqube-7.8]# chown -R esuser.esuser /usr/local/sonarqube-7.8/
[root@localhost sonarqube-7.8]# ll
total 12
drwxr-xr-x. 6 esuser esuser   94 Jun 17  2019 bin
drwxr-xr-x. 2 esuser esuser   50 Mar 11 22:48 conf
-rw-r--r--. 1 esuser esuser 7651 Jun 17  2019 COPYING
drwxr-xr-x. 2 esuser esuser   24 Jun 17  2019 data
drwxr-xr-x. 7 esuser esuser  131 Jun 17  2019 elasticsearch
drwxr-xr-x. 4 esuser esuser   40 Jun 17  2019 extensions
drwxr-xr-x. 6 esuser esuser  123 Jun 17  2019 lib
drwxr-xr-x. 2 esuser esuser   24 Jun 17  2019 logs
drwxr-xr-x. 2 esuser esuser   24 Jun 17  2019 temp
drwxr-xr-x. 7 esuser esuser 4096 Jun 17  2019 web
[root@localhost sonarqube-7.8]# chmod 777 -R /usr/local/sonarqube-7.8/
[root@localhost sonarqube-7.8]# vim elasticsearch/config/elasticsearch.yml
[root@localhost sonarqube-7.8]# su esuser
[esuser@localhost sonarqube-7.8]$ cd bin
[esuser@localhost bin]$ ls
jsw-license  linux-x86-64  macosx-universal-64  windows-x86-64
[esuser@localhost bin]$ cd linux-x86-64/
[esuser@localhost linux-x86-64]$ ls
lib  sonar.sh  wrapper
[esuser@localhost linux-x86-64]$ ./sonar.sh start
Starting SonarQube...
Started SonarQube.

mysql数据库sonar这个库,会出现大量的表。

访问浏览器http://192.168.160.130:9000/sonarqube,如图:

ps:

1.sonar.properties配置文件中sonar.web.context=/sonarqube配置的就是http://192.168.160.130:9000/sonarqube后的

sonarqube。

2.使用admin/admin登录,页面会多出这个Administration菜单。使用无账号无密码登录,则没有。

附:sonar-l10n-zh

因此,下载sonar-l10n-zh-plugin-1.28

[esuser@localhost plugins]$ pwd
/usr/local/sonarqube-7.8/extensions/plugins
[esuser@localhost plugins]$ wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.28/sonar-l10n-zh-plugin-1.28.jar

 下载好,然后重启sonar。

[esuser@localhost linux-x86-64]$ ./sonar.sh restart
Gracefully stopping SonarQube...
Stopped SonarQube.
Starting SonarQube...
Started SonarQube.

 重新访问:http://192.168.160.130:9000/sonarqube,页面已经是中文版本了。

3.使用SonarQube Maven插件分析代码

在maven的安装目录:如:D:\Program Files (x86)\apache-maven-3.3.9\conf中的settings.xml,加入如下内容:

ps:添加到 <profiles></profiles>标签中。

  <profile>
      <id>sonar</id>

      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>

      <properties>
        <sonar.host.url>http://192.168.160.130:9000/sonarqube</sonar.host.url>
      </properties>
    </profile>

在项目路径下,使用cmd,执行mvn sonar:sonar

 等待执行完毕。。。。

重新打开浏览器访问:http://192.168.160.130:9000/sonarqube/projects

发布了187 篇原创文章 · 获赞 146 · 访问量 49万+

猜你喜欢

转载自blog.csdn.net/qq_37495786/article/details/104820420