【Linux】CentOs7下SonarQube7.2.1的安装部署

本文目录

Linux下SonarQube7.2.1的安装部署

虽然java语言有阿里规约插件,但使用一段时间以后,发现阿里规约插件只是简单的扫描了一些代码的规范,无法对代码质量进行检测,以及一些隐含的漏洞,如空指针等。因此,在了解sonar以后,发现sonar比阿里规约插件更强大,结合Idea,可以在每次提交代码时,自动扫描是否存在问题。

1. 环境说明

本次安装环境说明,目前SonarQube 使用最新的版本7.2.1,查看官网的要求说明 ,如下所示:
java要求说明
数据库要求说明
浏览器要求说明

从上图可知,jdk 最好是1.8,对于1.71.9都不支持。

软件版本

  • jdk : 1.8
  • Linux:CentOs7-64位
  • Mysql:5.7.21
  • SonarQube:7.2.1(点击下载)

相关IP

  • 本机IP:192.168.137.1
  • mysql:部署在本机,即192.168.137.1
  • 服务器IP:192.168.229.128

2. 安装部署

2.1 创建数据库

sonar支持多种数据库,本身默认使用的是内存数据库,但这里使用的是Mysql,因此需要做一些配置。

启动之前,需要创建相关数据库,这里创建一个名为sonar的数据库:

CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
 
 
  • 1

只需要创建数据库即可,sonar会自动为我们创建相关的表。

2.2 准备安装包

将下载好的安装包上传到/usr/tools/sonar/(自行创建)目录下,或者在该目录下执行wget命令在线下载:

[root@localhost sonar]# wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-7.2.1.zip
 
 
  • 1

执行unzip命令解压:

[root@localhost sonar]# unzip sonarqube-7.2.1.zip
 
 
  • 1

2.2 配置

进入到sonarqube-7.2.1/ 目录下,查看文件:

[root@localhost sonar]# cd sonarqube-7.2.1/
[root@localhost sonar]# ls
 
 
  • 1
  • 2

如下所示:
这里写图片描述
其中,bin 存放程序执行文件,conf 存放配置文件,logs 存放日志文件。

然后,进入到/conf目录下,配置数据库信息,修改sonar.properties文件,添加以下配置:

sonar.jdbc.url=jdbc:mysql://192.168.137.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.username=root
sonar.jdbc.password=root
sonar.sorceEncoding=UTF-8
 
 
  • 1
  • 2
  • 3
  • 4

这里写图片描述
url是数据库连接地址,username是数据库用户名,jdbc.password是数据库密码。

2.3 创建用户

由于sonar 是不允许root用户情况下运行的,因此需要先创建一个非root用户。
这里,创建一个名为sonar的用户,密码为123456

用root账号登录,使用以下命令:

#创建用户
[root@localhost user]# useradd sonar
#设置密码,enter回车后,两次输入123456即可
[root@localhost user]# passwd sonar
 
 
  • 1
  • 2
  • 3
  • 4

如下图所示:
这里写图片描述

赋予目录权限
新建的sonar用户,对于/usr/tools/sonar 目录是没有足够权限的,会导致服务启动失败。因此我们需要设置该目录权限:

chmod -R 777 /usr/tools/sonar/
 
 
  • 1

然后,执行以下命令,切换到sonar 用户:

[root@localhost usr]# su - sonar
 
 
  • 1

3. 启动

切换到sonar用户以后,进入到/usr/tools/sonar/sonarqube-7.2.1/bin/目录下:

[sonar@localhost ~]$ cd  /usr/tools/sonar/sonarqube-7.2.1/bin/
 
 
  • 1

使用ls命令,查看该目录:
这里写图片描述
发现存在多个目录,此时根据自己的服务器选择对应的目录,比如我的是Linux 64位,则选择linux-x86-64,进入到该目录下,执行以下命令,启动服务:

[sonar@localhost linux-x86-64]$ ./sonar.sh  start
 
 
  • 1

这里写图片描述

其它命令:

  • ./sonar.sh stop 停止服务
  • ./sonar.sh restart 重启服务

初次启动会稍微有点慢,因为要初始化数据库信息。
此时,查看日志:

tail -300f /usr/tools/sonar/sonarqube-7.2.1/logs/sonar.log
 
 
  • 1

这里写图片描述

出现以上信息,表示启动成功。

4. 访问及界面汉化

sonar默认监听的端口时9000,可以在sonar.properties中通过sonar.web.port=端口号来修改。

打开浏览器,访问http://192.168.229.128:9000,即会看到如下界面:
这里写图片描述

点击右上角的log in,到登陆界面,然后输入admin/admin(默认账户),初次登录成功以后,会跳转到该界面:
这里写图片描述
这里是让你输入一个用户名,生成一个token,主要用于后面其他插件如idea时,代替用户名、密码登录。可以后面需要的时候再生成,这里跳过,选择右上角的skip this tutorial

汉化
点击界面上的Adminstration,然后选择Marketplace,在Plugins一栏,搜索Chinese Pack,然后点击insatll进行安装,如下所示:
这里写图片描述

安裝完成以后,点击页面上Restart按钮,重启服务器,如下图所示:
这里写图片描述

等待一会儿,重启完毕以后,会自动跳转到登录界面。输入admin/admin登录以后,便会看到汉化成功:
这里写图片描述

至此,SonarQube安装部署完成。

5. 总结

安装的过程中可能会出现很多其他的错误,当出现错误时,请检查步骤是否出错。主要有以下注意点。

  • 一定要注意各软件的版本,比如jdk版本;
  • 服务启动之前必须创建对应的数据库,不需要创建表,sonar会自动初始化表;
  • root用户下是无法启动sonar服务,因此需要创建相关非root用,并对安装目录拥有足够权限;
  • sonar.properties中数据库的配置,一定要仔细,一般启动失败,很大可能是因为数据库配置有问题;
  • 初次启动时,由于需要初始化数据库表,因此会比较缓慢。

后续,会补充如何使用sonar-scanner扫描代码,及在idea中如何配置sonar插件。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值