您的位置:首页 > 其它

SonarQube---在具体项目中的使用

2019-08-03 07:53 232 查看
原文链接:https://www.geek-share.com/detail/2734628001.html

一、简介

SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量。

Sonar官网文档

Sonar Scanners:是用于将项目发布到Sonar进行审查的工具。如果项目使用Maven,请根据Scanner的[官方文档]进行配置。

SonarQube Scanners

SonarLint:是Eclipse最新版的Sonar插件。

 如上图:

1. 开发人员在本地使用 SonarLint 运行分析 IDEs 上的代码;
2. 开发者将自己的代码上传到持续集成服务器上,例如:git,SVN,TFVC,……;
3. 持续集成服务器触发自动构建,SonarQube 扫描仪执行代码分析;
4. 分析报告发送到 SonarQube 服务器进行处理;
5. SonarQube 服务器分析和存储分析报告结果到 SonarQube 数据库中,并显示结果在 UI 界面中;
6. 开发人员通过修改、评审代码来管理和减少他们 SonarQube UI 页面上的问题;
7. 项目经理收到分析报告
运维使用 api 来从 SonarQube 自动化配置和提取数据
运维使用 JMX 监控 SonarQube 服务器

二、部署安装(Linux环境)

2.1 环境准备

安装mysql数据库服务端(推荐5.7+),

设置为utf-8编码,创建相应sonar数据库,设置相应用户名、密码,启动mysql

1. wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

//生成MD5值并确保同官方网站上的MD5值相同。   注意:建议运行此命令以确保文件无损坏。
2. md5sum mysql57-community-release-el7-11.noarch.rpm

//确认MD5无误后,安装YUM源RPM安装包。
3. rpm -ivh mysql57-community-release-el7-11.noarch.rpm

4. yum install mysql-server

//输入
5. systemctl start mysqld        //即可启动MySQL服务。
systemctl status mysqld          //即可查看当前MySQL服务状态。
systemctl disable mysqld        //由于MySQL默认开机自动启动,用于取消开机自动启动

//初次进入mysql
6. mysql -uroot -p                   //进入mysql
grep 'temporary password' /var/log/mysqld.log
//查看MySQL root用户临时密码。 注意:此密码仅供第一次登陆MySQL使用,登录后必须

//修改密码规则
7. mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

//修改编码格式为UTF-8
8. mysql> show variables like 'character_set_%';    //    查看当前mysql的字符编码
修改用
vim /etc/my.cnf

 

1. service mysqld restart

2.
mysql> show variables like 'character_set_%';
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

3. //创建用户
CREATE USER 'sonar'@'LOCALHOST' IDENTIFIED BY 'sonar';
//查询用户
SELECT HOST,USER,AUTHENTICATION_STRING FROM mysql.user;

4.//建库赋值
CREATE DATABASE sonar CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'LOCALHOST' IDENTIFIED BY 'sonar';

2.2、安装SonarQube

1.下载sonarQube安装包

并上传安装包到CentOS操作系统,放置在/home目录下,并将压缩包解压到/usr/local目录下:

#cd /home

#unzip sonarqube-7.0.zip -d /usr/local

2. 修改配置文件

#cd /usr/local/sonarqube-7.0/conf

#vi sonar.properties

修改:数据库配置,及其用户名,密码

3. 启动sonar

#cd /usr/local/sonarqube-7.0/bin/linux-x86-64

#./sonar.sh start

 

注:由于elasticsearch 出于安全方面考虑,不允许root用户启动,所以

#chmod -R  777 /usr/local/sonarqube-7.0

#./sonar.sh start

4.sonar 汉化

1.  github地址 下载(参照兼容列表说明,下载已安装的SonarQube版本对应的兼容插件)。

2.  放入sonar如下目录: sonarqube-7.0\extensions\plugins

3.  然后重启sonar就可以了。

5.测试验证

默认由9000端口提供UI管理页面,从浏览器访问:http://localhost:9000 (管理员:admin,密码:admin),如访问失败,则可以在 ../logs/sonar.log 文件中查看日志。

安装服务

打开 StartSonar.bat 文件所在目录,运行文件 InstallNTService.bat 安装服务即可

 

2.2、安装SonarScanner

 

2.3、Eclipse+ SonarLint插件(连接到SonarQube平台)

3.1  打开Eclipse,选择Help->Eclipse Marketplace,在Find里面输入SonarQube,点击install  3.2  在SonarQube平台新建项目 3.3  

在项目上右键—> Run as—>Run configuration—>Maven Build 下面新建 sonar:sonar

 

 

转载于:https://www.cnblogs.com/liuyitan/p/8798194.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: