天天看点

centos7搭建sonarqube环境

centos7搭建sonarqube环境

    • 一、简介
    • 二、环境搭建,基于centos7
    • 创建sonar数据库

一、简介

sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量

  1. 不遵循代码标准

    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写。

  2. 潜在的缺陷

    sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检 测出潜在的缺陷。

  3. 糟糕的复杂度分布

    文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员 难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。

  4. 重复

    显然程序中包含大量复制粘贴的代码是质量低下的,sonar可以展示 源码中重复严重的地方。

  5. 注释不足或者过多

    没有注释将使代码可读性变差,特别是当不可避免地出现人员变动 时,程序的可读性将大幅下降 而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。

  6. 缺乏单元测试

    sonar可以很方便地统计并展示单元测试覆盖率。

  7. 糟糕的设计

    通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则 通过sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况, 检测藕合。

通过以下介绍SonarQube的安装、使用说明。

二、环境搭建,基于centos7

安装准备:

1.下载jdk安装包,因为sonarqube环境是依赖JVM运行的,所以需要安装jdk

见之前的分享:https://blog.csdn.net/tetsuki/article/details/99637210#java_48

2.下载sonarqube安装包:

官网:https://www.sonarqube.org/

个人分享链接:https://pan.baidu.com/s/1eqNvWA6oegp5wUL74EskNw

3.使用wincp工具将sonarqube安装包传输到centos7中

4.安装解压和压缩工具

yum install -y unzip zip

解压sonarqube-7.7.zip

unzip sonarqube-7.7.zip

centos7搭建sonarqube环境

5.配置sonarqube环境变量

vim /etc/profile

export SONAR_HOME=/opt/sonarqube-7.7
export PATH=$PATH:$SNOAR_HOME/bin/linux-x86-64
           

source /etc/profile

6.赋予执行权限,解决后续权限不足的问题

chmod 777 sonarqube-7.7

启动sonarqube服务

cd /opt/sonarqube-7.7/bin/linux-x86-64

/opt/sonarqube-7.7/bin/linux-x86-64

centos7搭建sonarqube环境

启动成功

浏览器输入http://192.168.126.130:9000/,无法访问

查看日志

tail -f /opt/sonarqube-7.7/logs/sonar.log

centos7搭建sonarqube环境

sonarqube服务停止,查找资料后发现原因是root用户不能启动es,留意此坑

7.创建普通用户权限

adduser sonaruser

passwd sonaruser

8.给普通用户赋sonar执行权限,以及Java执行权限

chown -R sonaruser:sonaruser /opt/sonarqube-7.7

chown -R sonaruser:sonaruser /usr/java/jdk1.8.0_144

9.切换普通用户

su sonaruser

10.启动服务

./sonar.sh start

tail -f /opt/sonarqube-7.7/logs/sonar.log

11.浏览器再次输入http://192.168.126.130:9000

centos7搭建sonarqube环境

启动成功

12.登录web初始用户账号

用户名:admin

密码:admin

centos7搭建sonarqube环境

创建sonar数据库

centos搭建mysql见之前的分享博客

https://blog.csdn.net/tetsuki/article/details/99718920

1.进入mysql

mysql -uroot -p

2.创建数据库,创建用户,赋予用户权限

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; 
 mysql> CREATE USER 'sonar' IDENTIFIED BY '123456';
 mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY '123456';
 mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY '123456';
 mysql> FLUSH PRIVILEGES;
           

3.使用navicat测试连接

centos7搭建sonarqube环境

连接成功

4.创建成功后,将MySQL的配置文件写入sonar.properties

vim /opt/sonarqube-7.7/conf/sonar.properties

#sonar JDBC连接池配置
sonar.jdbc.username=sonar
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://192.168.126.130:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.jdbc.driverClassName=com.mysql.jdbc.Driver
sonar.sorceEncoding=UTF-8
#sonarWEB登录用户密码
sonar.login=admin
sonar.password=admin
#端口不写也可以默认9000
sonar.web.port=9000
           

5.重启sonarqube服务

/opt/sonarqube-7.7/bin/linux-x86-64/./sonar.sh restart

刷新浏览器,无响应

tail -f /opt/sonarqube-7.7/logs/sonar.log

查看日志

centos7搭建sonarqube环境

发现Wrapper停止服务

切换root用户,赋予整个文件夹所有权限

su root

chmod -R 777 sonarqube-7.7

切换sonaruser用户

重启服务

/opt/sonarqube-7.7/bin/linux-x86-64/./sonar.sh restart

查看日志

tail -f /opt/sonarqube-7.7/logs/sonar.log

tail -f /opt/sonarqube-7.7/logs/web.log

刷新浏览器

centos7搭建sonarqube环境

进入成功

sonar服务启动会启动sonar服务,elasticsearch服务、MySQL服务

ps -ef | grep elasticsearch

ps -ef | grep soanr

ps -ef | grep mysqld

可通过以上命令查看服务进程

6.安装中文插件

centos7搭建sonarqube环境

安装完后重启生效

安装插件推荐:checkstyle、findbugs

参考地址: https://blog.csdn.net/weixin_40686603/article/details/90208627

继续阅读