centos7搭建sonarqube环境

服务器初始化 同时被 2 个专栏收录
3 篇文章 0 订阅
7 篇文章 0 订阅

一、简介

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
在这里插入图片描述
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
在这里插入图片描述
启动成功

浏览器输入http://192.168.126.130:9000/,无法访问
查看日志
tail -f /opt/sonarqube-7.7/logs/sonar.log
在这里插入图片描述
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
在这里插入图片描述
启动成功

12.登录web初始用户账号
用户名:admin
密码:admin
在这里插入图片描述

创建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测试连接
在这里插入图片描述
连接成功

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
查看日志
在这里插入图片描述
发现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

刷新浏览器
在这里插入图片描述
进入成功
sonar服务启动会启动sonar服务,elasticsearch服务、MySQL服务
ps -ef | grep elasticsearch
ps -ef | grep soanr
ps -ef | grep mysqld
可通过以上命令查看服务进程

6.安装中文插件在这里插入图片描述
安装完后重启生效
安装插件推荐:checkstyle、findbugs
参考地址: https://blog.csdn.net/weixin_40686603/article/details/90208627

  • 2
    点赞
  • 2
    评论
  • 4
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值