SonarQube7.7+sonar-scanner部署(小白零基础教程,超细全流程)

1.0   简介

       SonarQube是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。通过插件形式,可以支持众多计算机语言,截止至目前,最新版本已更新至8.9;

       基于上次安装的SonarQube8.8,实际运行中,公司绝大部分项目不支持运行在java11上,在同一台PC上跑项目和SonarQube相对来说比较麻烦(需要更换jdk配置或者项目运行配置),故部署SonarQube7.7,支持运行于jdk1.8上;

       建议用电脑浏览器打开,效果较好。

2.0   环境

       JDK环境:java1.8、SonarQube7.7工具、汉化包1.25、sonar-scanner工具(代码扫描工具)、npp编辑器、node.js、MySQL5.7、Navicat for MySQL等。

3.0   部署流程

3.1.1    JDK环境

3.1.1.1    检查当前电脑JDK环境

       在电脑桌面的左下角的搜索中输入“cmd”,回车后弹出命令提示符窗口,输入java –version命令,查看当前电脑是否安装了jdk。

查看jdk版本

3.1.1.2    安装jdk

       这里介绍的是免安装版的jdk1.8,解压jdk压缩包后,开始配置java环境变量,右键我的电脑,点击属性,进入系统的设置页面后,点击高级系统设置,点击环境变量,进行系统环境变量的编辑。

系统变量编辑页窗口

       新建环境变量,1.变量名:JAVA_HOME,变量值:jdk解压缩地址;2.编辑变量path,新增值:jdk解压缩地址\bin

JAVA_HOME地址
Path地址

       环境变量配置完成后,进入cmd命令,输入java version,出现下图信息,即java1.8环境配置完成。

查看jdk版本

3.1.2    数据库配置

       SonarQube7.7需要连接对应的MySQL数据库,MySQL安装可以参考下方链接:

       https://blog.csdn.net/qq_39052339/article/details/99765471

       安装完mysql后,可验证是否安装成功,打开cmd命令,输入mysql –u root –p,输入对应的root用户的密码,登录对应的数据库中。

MySQL登录

3.1.2.1    MySQL配置(一)

       方法一:使用root登录数据库后,开始数据库配置。

       CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;  #创建sonar数据库

       CREATE USER 'sonar' IDENTIFIED BY 'sonar';  #创建sonar用户

       GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';  #sonar设置权限

       GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';  #给sonar设置对应的密码

       FLUSH PRIVILEGES;  #权限刷新

3.1.2.2    MySQL配置(二)

       方法二:解压Navicat for MySQL,通过该数据库管理工具来实现相关的数据库配置:

       右键本地localhost连接,新建数据库,输入数据库名称sonar,设置utf8字符集。

创建sonar数据库

3.1.2.3    MySQL用户、权限配置

       点击上方的用户,点击新建用户,输入用户名:sonar,主机:localhost,密码/确认密码:sonar,输入完毕后,进行保存。

新增sonar用户

       接下来设置对应的权限,点击权限管理员,选择sonar数据库,进行权限添加操作,勾选sonar数据库,勾选授予右侧所有权限,勾选完毕后点击确定,完成权限配置。

权限配置
选择对应的人员
配置权限

3.1.3    SonarQube7.7部署汉化

3.1.3.1    配置SonarQube环境变量

       解压SonarQube7.7压缩包后,开始配置环境变量,编辑变量path,新增值:SonarQube解压地址\bin

解压bin目录

3.1.3.2    启动SonarQube

       进入解压后的bin目录,点击windows-x86-64,双击StartSonar.bat,启动服务。(① 如果期间有弹出相关的防火墙提示,选中允许即可;② 启动服务后,即使关闭运行窗口,服务仍开着,如需关闭整个服务,需要去任务管理器关闭对应进程)

启动文件

       启动完成后,在浏览器输入http://localhost:9000,会进入如下页面,默认账号密码均为admin。(如果提示修改密码,按照提示修改即可)

登录页面

3.1.3.3    SonarQube汉化

       首先要知道获取到对应SonarQube版本的汉化包,访问下方链接,https://github.com/xuhuisheng/sonar-l10n-zh,下拉页面可查看对应的版本信息。

版本兼容列表

       访问下方链接,下载对应的jar包,修改链接后的1.27,可跳转至其他版本;https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.27。

1.27版本jar包下载

       关闭SonarQube服务(快捷键Ctrl+Alt+Delete,打开任务管理器,关闭对应的服务,见下图),关闭后将汉化包置于下方文件夹中,重新启动SonarQube服务,汉化完成。

SonarQube服务
汉化包存放地址
汉化后界面

 3.1.3.4   配置文件修改

       接下来进行SonarQube配置,打开解压目录,进入\sonarqube-7.7\conf文件夹,修改sonar.properties配置文件。(在执行该步骤前,先安装npp.7.7.1.Installer.x64.exe,便于文件的编辑,双击该文件进行安装即可)

配置文件位置
编辑内容

       源码如下:

       #----- 连接数据库        sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar? useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false         

       sonar.jdbc.username=sonar

       sonar.jdbc.password=sonar

       #-----Default source code encoding 

       sonar.sorceEncoding=UTF-8

       #-----SonarQube登录的账号密码 

       sonar.login=admin

       sonar.password=admin

3.1.3.5   获取相关项目的值(用于后续Sonar-Scanner的扫描)

       汉化完成后,进入对应的系统中,点击右上角的“新建项目”,输入对应的项目名称sonar-l10n-zh-master。(扫描项目源码)

新建被测项目
设置项目名称

       设置成功后,即可创建对应的令牌,令牌的值在后续的Sonar-Scanner中相关配置会用到,包括对应的项目标识,令牌名称输入“admin”(名称自己设置),点击右侧的“创建”按钮,创建令牌完成,创建完毕后,复制下方的令牌的值,令牌值为随机生成,故本安装手册中令牌值在新的部署环境中无效,不通用。

设置令牌名称
admin对应的令牌

3.1.4    Sonar-Scanner配置

3.1.4.1    配置环境变量

       解压sonar-scanner压缩包,解压完成后,进行环境变量配置,新建环境变量,1.变量名:SONAR_RUNNER_HOME,变量值:sonar-scanner解压路径;2.编辑变量path,新增值:%SONAR_RUNNER_HOME\bin 或sonar-scanner解压路径\bin

解压压缩包
SONAR_RUNNER_HOME配置
path配置

       环境变量配置完成后,cmd命令,输入sonar-scanner,回车,出现下方信息后,环境变量配置完成。

验证配置情况

3.1.4.2    Sonar-Scanner配置

       接下来进行sonar-scanner配置,打开解压目录,进入\sonar-scanner\conf文件夹,修改sonar-scanner.properties配置文件。

Sonar-Scanner配置文件修改
修改内容

       源码如下:

       #-----

       SonarQube服务的链接

       sonar.host.url=http://localhost:9000

       #-----

       SonarQube服务的令牌

       sonar.login=fb1d09769aea83e6057a6e0d053f2970e69913fb(该值需替换为3.1.2.4中的admin的值)

       #-----Default source code encoding

       sonar.sourceEncoding=UTF-8

3.1.4.3    被测项目配置

       在被测项目的根目录,添加sonar-project.properties配置文件,配置文件补充内容如下。

被测项目配置

       源码如下:

       #------ 被检测项目的名称

       sonar.projectKey=sonar-l10n-zh-master

       sonar.projectName=sonar-l10n-zh-master

       #------ 被检测源文件所在目录,.代表的是当前目录

       sonar.sources=.

       sonar.java.binaries=./target/classes

        sonar.sourceEncoding=UTF-8

3.1.5    代码扫描

       进入目标代码根目录,点击对应的路径,cmd进入定位到当前目录,具体执行步骤如下。

被测项目根目录
对应的命令窗口

       输入命令如下:sonar-scanner,进行当前代码扫描操作。(注意:扫描前,需要开启SonarQube服务,即双击StartSonar.bat进行启动,中途若弹出防火墙提示,允许即可)

扫描执行命令

       扫描完成后,自动提交至SonarQube中对应的项目中进行后台分析,分析后,即可查看对应的报告信息,其他项目扫描也是按照这种方法。

扫描成功
查看扫描结果

你可能感兴趣的:(SonarQube7.7+sonar-scanner部署(小白零基础教程,超细全流程))