阅读 869
小白篇 -- 前端人的 Sonar 搭建

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

前言

代码审查工具,优点很多自行 google,哈哈哈🤣🤣🤣。

准备

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

  • 使用目前最新版本 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下载地址

一般下载社区版即可,有条件可选择其它;

  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/ ,即可看到中文界面;

3. sonar-scanner扫描器安装

sonar-scanner扫描器下载地址

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

  2. 配置环境变量:

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

    • 配置 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 ,又踩很多坑写出来的,如有更好解决方案,欢迎指导。

文章分类
前端
文章标签