当前位置:   article > 正文

本地部署sonarqube并进行代码审查_sonar-scanner

sonar-scanner

目录

背景

思路

安装docker

安装JDK17

安装pg

初始化sonar的数据库、角色、用户信息

部署sonarqube和sonar-scanner

下载

本地配置

启动

执行扫描

手动创建项目

配置项目名

生成sonar指令


背景

        最近在搞代码审查,配置过程中遇到了一些版本、配置导致的各种启动运行报错的问题,今天抽空整理了一下相关的资源,希望能够帮到需要用到的同学。

思路

安装docker

这个教程很多,自己找,后面有空再输出

安装JDK17

Sonar 7.9 以上需要安装JDK11以上

安装pg

sonarqube 7.0+以上不再支持mysql

本地有docker环境的戳这里

初始化sonar的数据库、角色、用户信息

新建数据库

找个client连上去,建库名: sonar

新建角色

用户名填 sonar 密码填 sonar,如下图勾选。

部署sonarqube和sonar-scanner

下载

---------------------云盘---------------------

链接: 百度网盘 请输入提取码 提取码: zmrt

---------------------官网---------------------

sonarqube官网下载地址

sonar-scanner下载地址

中文补丁包

本地配置

1、解压到某个目录,比如 /Users/{你的用户名}/dev/sonarqube

2、配置环境变量

  1. # 配置环境变量
  2. $ vim ~/.bash_profile
  3. # 刷新
  4. $ source ~/.bash_profile

3、修改 sonar.properties

$ vim /Users/scylla/dev/sonarqube/sonarqube-9.9.0.65466/conf/sonar.properties

增加如下配置,如下图。

  1. sonar.jdbc.url=jdbc:postgresql://127.0.0.1:54321/sonar?currentSchema=public
  2. sonar.host.url=http://localhost:9000/sonarqube
  3. sonar.jdbc.username=sonar
  4. sonar.jdbc.password=123123
  5. sonar.login=admin
  6. sonar.password={sonar的登录密码,设置自己的即可}

启动

  1. $ cd /Users/scylla/dev/sonarqube/sonarqube-9.9.0.65466/bin/macosx-universal-64
  2. # 还有一些其他的命令 console start stop force-stop restart status dump
  3. $ ./sonar.sh console

启动成功如下:

访问 http://localhost:9000能出来页面,控制台没有报错,就算装好了。

执行扫描

手动创建项目

手动添加项目:

选择 Projects -> Create Project -> Manually, 还有一些其他方式,比如关联github、gitlab等。

配置项目名

Project display name: 项目名

Project key:项目key (最好全英文)

Main branch name:分支名

生成sonar指令

1、创建项目

上面创建好项目之后选择 Locally (扫描本地项目)

2、生成token

生成一个带有效期的token。用于在出报告后往sonar服务端回传数据。点击 Generate -> Countinue

3、选择构建方式

一般 springboot 或java 项目选 maven 或者 gradle、前端项目选 Other --> 此时会生成一个 maven脚本。

4、执行扫描

点击 Copy,复制扫描命令 --> 进入项目根路径 --> 执行脚本

  1. # 进入项目根路径
  2. $ cd /本地项目根路径
  3. # 执行脚本
  4. $ mvn clean verify sonar:sonar \
  5. -Dsonar.projectKey=sonar-test \
  6. -Dsonar.host.url=http://${sonar服务所在的ip地址}:9000 \
  7. -Dsonar.login=sqp_8d933ebca8e428de09f44abd24f9a3e3d02d9a04

5、扫描成功

完成扫描后,进入Projects 中即可查看结果

6、修复bug

找到概览Overview 查看相关的问题并修复。

扩展

Sonar支持自定义规则,如果有需要了解,可以参考如下内容:

如何在SonarQube自定义CheckSetyle规则 - 简书

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/849181
推荐阅读
相关标签
  

闽ICP备14008679号