Jenkins SonarQube质量管理

SonarQube是开源的代码分析平台,用来持续分析和评测项目源代码的质量。
通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。

代码质量注意点

  • 编码规范:是否遵守了编码规范,遵循了最佳实践
  • 潜在的BUG:可能在最坏的情况下出现问题的代码,以及存在安全漏洞的代码
  • 文档和注释:过少,缺少必要信息,过多,没有信息量,过时的文档或者注释
  • 重复代码:违反了Don’tRepeatYourself 原则
  • 测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够
  • 设计与架构:是否高内聚,低耦合,依赖最少

SonarQube架构

在这里插入图片描述

安装

#安装MySQL,版本一定大于等于5.6

官网:www.sonarqube.org

在这里插入图片描述

安装mysql

卸载之前的mysql全部删除

rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
rpm -qa | grep -i mysql
rpm -e MySQL-client-5.6.38-1.el7.x86_64

删除服务

chkconfig --list | grep -i mysql //查看服务
chkconfig --del mysql //删除服务

删除mysql分散的文件夹

whereis mysql
rm -rf /use/lib/mysql
rm -rf /etc/my.cnf #删除系统默认的配置文件)

安装8.0的mysql

yum localinstall -y  https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server -y
systemctl start mysqld
grep 'temporary password' /var/log/mysqld.log    #获取到mysql初始密码
#mysql -uroot -p’,LW:N3)&hQ8h’     #登录到mysql
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;   #创建sonar数据库
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar@pw'; #配置sonar本机登录密码
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar@pw'; #配置sonar远程登录密码
FLUSH PRIVILEGES;

配置并启动Sonar

安装java

yum install -y java-1.8.0

安装Sonar

cd /usr/local/src
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.9.3.48735.zip  #下载官方安装包
unzip sonarqube-8.9.3.48735.zip 
mv sonarqube-8.9.3.48735.zip /usr/local/
ln -s /usr/local/sonarqube-8.9.3.48735.zip/ /usr/local/sonarqube

Sonar的配置文件主要是配置相关启动参数和数据库的信息,数据库不需要初始化,Sonar启动的过程中会自动初始化。

cd /usr/local/sonarqube/conf/
vim sonar.properties   #编写配置文件,修改数据库配置
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar@pw
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.host=0.0.0.0    #你的公网IP
sonar.web.port=9000       #自定义你想要配置的未被占用的端口

启动Sonar

/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start

安装SonarQube会自带Elasticsearch

Elasticsearch 一定要非root用户启动

Jenkins与SonarQube集成

在Jenkins上安装插件,搜索Sonar,安装下列插件

在这里插入图片描述

进入Jenkins系统配置,找到SonarQube

在这里插入图片描述

从SonarQube网址的admin/我的账户,生成token,复制到Jenkins里,添加一个认证

在这里插入图片描述

填写完名称网址后,选择上面新添加的token

在这里插入图片描述

Pipline使用SonarQube

在脚本里添加一个sh,用于启动sonar-scanner (node上一定安装有SonarQube)
集成
在这里插入图片描述

stage('质量扫描'){
	withSonaQubeENV('SonarQube'){
       sh '/usr/local/sonar-scanner/bin/sonar-scanner'
	}
}

在这里插入图片描述

有了小图标,点击直接就跳转到SonarQube

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值