随着项目团队规模日益壮大,项目代码量也愈来愈多。且不说团队成员编码水平层次不齐,即使是老手,也不免由于代码量的增长和任务的繁重而忽略代码的质量,最终的问题即是bug的增多和代码债务的堆积。所以,代码review便日益提上了日程。固然人工review的效率仍是至关低下的,因而咱们采用了自动化代码review的工具,即是今天的主角:SonarQube。html
本系列主要讲述sonarqube的安装部署以及如何集成jenkins自动化分析.netcore项目。目录以下:java
SonarQube® 是一种自动代码审查工具,用于检测代码中的错误,漏洞和多余的代码。它能够与您现有的工做流程集成,以便在项目分支和拉取请求之间进行连续的代码检查。好比:mysql
总之,SonarQube是能够配合一切好用的CI/CD工具进行自动化分析代码并生成代码报告,经过报告咱们能够看到代码中可能存在的bug和代码债务。linux
官方网站:https://www.sonarqube.org/git
打开官网(上述官网地址),即可以很容易看到官方文档的菜单,安装步骤在官网很清楚了,咱们参考文档进行安装,这里记录整个安装的过程以便帮助一些看文档迷惑的学者。web
官方文档地址:https://docs.sonarqube.org/latest/sql
左侧有下拉框能够选择sonarqube的各个版本,咱们能够选择切换不一样的版本以查看不一样时期的文档数据库
咱们首先打开 Requirements ,查看当前版本的软硬件支持。浏览器
由于我用到了Mysql数据库,综合软硬件说明我选择了7.6版本的SonarQube进行下载安装。服务器
一样在左侧菜单找到 Setup and Upgrade 选项,打开之后按步骤找到 Download 连接,下载对应版本的安装包。
SonarQube 的安装包是不分平台的,默认把全部平台的运行命令都下载下来,使用者根据不一样环境运行不一样的运行脚本。
下载完成后,咱们把安装包 sonarqube-7.6.zip 放在linux服务器的安装目录(喜欢的任意位置),而后用解压命令解压
unzip sonarqube-7.6.zip
进入文件夹,咱们了解几个重要的目录
关于jdk的安装这里就很少说了,咱们直接进入sonarqube 的配置。
咱们首先须要经过配置文件修改 sonarqube 的 mysql 链接字符串等信息,打开 conf 目录的 sonar.properties
咱们只须要修改mysql部分就ok了,其余不用过多设置
#----- DEPRECATED #----- MySQL >=5.6 && <8.0 # Support of MySQL is dropped in Data Center Editions and deprecated in all other editions # Only InnoDB storage engine is supported (not myISAM). # Only the bundled driver is supported. It can not be changed. sonar.jdbc.url=jdbc:mysql://localhost:39901/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&maxAllowedPacket = 16777216&useSSL=false sonar.jdbc.username=sonarqube sonar.jdbc.password=xxxxx
这里的配置是按照官方文档的介绍,在mysql添加了一个 sonarqube 的用户,而且建立了一个数据库叫 sonarqube ,且将数据库的读写执行权限赋给 sonarqube用户,用于在站点初始化以及后续存储设置数据时对数据库进行修改。
sonarqube web 默认端口号为 9000 若是想修改为其余端口能够经过下面这个设置修改其余端口号。
wrapper.conf 这个配置文件里配置了java命令地址,sonarqube 的日志文件目录等,能够关注下本身的 java 命令路径,其余不用太过关注。
打开 sonarqube 的下载目录的bin目录,里面列举了各个平台的启动脚本
启动以前先使用 chown 命令将sonarqube-7.6及其子目录受权给一个非root的用户,sonarqube及其es等软件禁止 root帐户启动,所以须要切换一个非root帐户,受权的用户须要有bin目录及其子目录的读取和可执行的权限。
而后咱们找到对应平台的脚本,个人系统是64位的linux,进入 linux-x86-64 目录
启动sonar,执行 sonar.sh 脚本,并添加 start 参数
./sonar.sh start
若是不添加参数,会出现以下提示,是由于该脚本有必要的参数,包含了sonar服务的启动/中止/重启/dump等操做,能够根据使用场景提供不一样的参数。
启动以后,咱们浏览器访问对应服务器ip地址的9000端口(防火墙要提早放行9000端口)
若是没有成功,那么就在logs目录查看启动日志。通常有几种:
若是一切顺利的话,就会进入登录页面,帐号密码都是 admin。
关于插件我自己使用很少,若是看不惯英文界面,那么就先装个中文插件吧。
在顶部的菜单栏,配置里面,按下图步骤,在下面插件搜索栏输入chinese,便可搜到中文插件,而后点安装。
等待安装完毕,提示重启sonar后,便自动切换到了中文界面。
那么到此,sonar的安装与配置便告一段落了,若是有任何问题欢迎留言区讨论~