小白篇 -- 前端人的 Sonar 搭建

前言

代码审查工具,优势不少自行 google,哈哈哈🤣🤣🤣。css

准备

以mac安装sonar为例,但只是前端安装sonar的过程,不涉及后端数据等安装。html

  • 使用目前最新版本 SonarQube 8.5.1(注意看官网对应的版本 先决条件);
  • 使用的版本须要使用 java 版本 11;
  • SonarQube 若是须要 mysql 请下载7.8版本,由于7.8版本以上的再也不支持 mysql 数据库;
  • SonarQube版本7.7以上再也不支持项目中的 sonar.analysis.mode=preview ;(高版本没有使用数据库的话,直接是预览模式)
  • 多注意日志,有报错等异常信息; /usr/local/sonarqube-8.5.1.38104/logs/sonar.log
  • sonarQube 配置文件目录: /usr/local/sonarqube-8.5.1.38104/conf/sonar.properties

1. JDK 安装

JDK下载网址前端

2. sonar-SonarQube 安装

sonar-SonarQube下载地址java

通常下载社区版便可,有条件可选择其它;mysql

  1. 下载完成:解压缩到 /usr/local ;
  2. 终端进入:/usr/local/sonarqube-8.5.1.38104/bin/macosx-universal-64 ;
  3. 启动/中止/重启服务
    • ./sonar.sh start 启动服务
    • ./sonar.sh status 查看状态
    • ./sonar.sh stop 中止服务
    • ./sonar.sh restart 重启服务
  4. 打开网址 http://localhost:9000
    • 登陆(初始帐户:admin 初始密码:admin):
  5. 汉化
    • 搜索的 chinese ,而后 install ;
    • 不一样的 sonarQube 版本页面可能有部分差别,但大致安装方式是相同的;

安装成功后,重启 sonarQube 服务,再次访问 http://localhost:9000/ ,便可看到中文界面;sql

3. sonar-scanner扫描器安装

sonar-scanner扫描器下载地址数据库

  1. 下载完成:解压缩到 /usr/local ;macos

  2. 配置环境变量:后端

    • 输入命令 vi ~/.bash_profile,进入 bash.profile 文件,进行编辑文本模式(按 i);bash

    • 配置 sonar_homesonar_scanner_homepath(路径换成你的 sonarqubesonar-scanner 文件所在的绝对路径),如下为例:

      export SONAR_HOME=/usr/local/sonarqube-8.5.1.38104
      export SONAR_SCANNER_HOME=/usr/local/sonar-scanner-4.5.0.2216-macosx
      export PATH=$PATH:$SONAR_SCANNER_HOME/bin
      复制代码
    • 退出文本编辑模式(按 Esc:wq ),执行命令:source ~/.bash_profile ,使配置当即生效;

    • 测试 sonar-scanner 是否安装成功,输入命令: sonar-scanner -v ,成功安装以下图:

4. sonar 使用

建立项目

projectKey 是惟一的

在须要 review 的项目中根目录增长文件名为 sonar-project.properties 的文件;

sonar.projectKey=
sonar.projectName=
sonar.sources=src
sonar.projectVersion=0.1.0
sonar.host.url=http://localhost:9000
sonar.login=
sonar.exclusions=**/*.less,assets/images/**,assets/less/**
复制代码

项目执行

使用命令行工具进入项目的根目录执行 sonar-scanner ;

结果查看

5. 添加sonar的规则文件

  1. 用管理账号登陆SonarQube平台(初始帐户:admin 初始密码:admin):

  2. 从质量配置菜单进入配置页面新建:

  1. 输入规则名称,选择语言,点击建立:

  1. 建立完成:

  1. 进入质量配置,找到你选择的语言:

  1. 设置本身添件的规则文件:

  1. 能够设置本身规则为默认规则,去激活本身想要的规则

  2. 添加规则文件的另外一种方法:能够直接复制已有规则

两种添加规则文件的区别:

新的规则文件中会有复制那个规则文件里的全部规则;
新建的方式获取规则文件:新的规则文件是空的;
复制代码
说明:js,css等几种语言只能在如今已有的规则中去激活你想要的规则,不能添加规则表中没有的规则(目前本人没有找到自定义规则方法),java等语言能经过上传本身定义的规则文件进行自定义规则。
复制代码

查看某种语言已有的规则:

在【代码规则】中选择【语言】能够查看如今已有的规则列表中的全部规则:

6. 其它

sonarQube 配置文件目录: /usr/local/sonarqube-8.5.1.38104/conf/sonar.properties

若是须要配置数据库仍是其它的参数,打开上面的文件:

...

#--------------------------------------------------------------------------------------------------
# DATABASE
#
# IMPORTANT:
# - The embedded H2 database is used by default. It is recommended for tests but not for
#   production use. Supported databases are Oracle, PostgreSQL and Microsoft SQLServer.
# - Changes to database connection URL (sonar.jdbc.url) can affect SonarSource licensed products.

# User credentials.
# Permissions to create tables, indices and triggers must be granted to JDBC user.
# The schema must be created first.
#sonar.jdbc.username=
#sonar.jdbc.password=

sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
sonar.login=admin
sonar.password=admin

...
复制代码

最后

以上,也是各类百度、各类 google ,又踩不少坑写出来的,若有更好解决方案,欢迎指导。

相关文章
相关标签/搜索