一、引言
上一篇文章之后 我们应该已经成功的部署了sonarqube程序,这一篇文章我们就来进行一次简单的本地扫描。
优点:
- 安全性:你可以在任何你信任的环境下执行扫描工作,而不是依赖外部安全能力
- 即时反馈: 开发者可以在编写代码时获得即时反馈,了解其代码的质量和潜在问题,从而及时做出调整。
- 灵活性: 开发者可以根据需要轻松地自定义扫描配置,以满足特定的需求或标准。
缺点:
-
资源消耗: 在开发者的本地机器上运行静态代码分析工具可能会消耗大量的系统资源,特别是对于较大的代码库。
-
依赖问题: 本地扫描的结果可能会受到开发者本地环境中使用的工具版本和配置的影响,这可能会导致与在其他环境中运行的扫描结果不一致。
二、基础配置
由于通常情况下扫描会在服务器上执行,本篇的配置会涵盖mac和linux 2个部分,方便本地调试和服务器定时任务。
这一篇主要通过手动操作来让大家了解一下流程,下一篇的话会通过代码来执行全自动扫描。
2.1 sonarqube配置
登录sonarqube,选择 项目 -〉新增项目 -〉手工
这里我们需要为项目配置名称。
注:项目标识是唯一的,不允许重复,而显示名是可以重复的,为了便于区分我们可以将显示名和项目标识设置为同一个。
这里我们创建test项目。
选择本地。
我们需要创建一个令牌来实现授权,这样本地执行的扫描才能通过权限认证。可以根据自己的需要来选择过期时间,如果项目长期存在可以选择永不过期。
注:
- 这里的创建的令牌只允许在该项目使用,如果想偷懒的话需要创建全局令牌。
- 令牌创建好后 只会显示一次,需要手动保存,如果未存储也不无法再次查看 ,只能重新创建。
- 令牌的创建步骤不是每个项目都需要点击一次,实际上每个扫描项目只需要在扫描时提供一个可用的令牌即可。
成功创建令牌之后点击下一步就会生成一个执行命令,sonarqube支持maven、gradle、.net和其他一些语言的运行方式。本地就以主流的java maven为例。
注: - projectKey就是对应的项目标识。
- url为sonarqube的访问地址,可以根据实际环境自行修改。
- login为上一步生成的令牌。
sonarqube的配置在这就结束了,接下来我们只需要在项目根目录下执行该命令即可。
2.1.2 配置通用令牌
上一节说到,如果想要在所有项目中使用一个通用令牌的话,可以单独创建一个。
点击 头像 -〉我的账号 -〉安全
这里我们示范创建一个test的扫描令牌,类型为全局分析令牌则表示该令牌只能用执行扫描任务,无其他的用户操作权限。
2.2 java配置
java环境的配置相对简单,本文就简单介绍一下相对复杂的mac下安装java13的场景。
直接使用brew进行安装可能会出现报错,下文提供一个手动安装的方法。
首先打开https://jdk.java.net/archive/ 找到mac对应jdk13版本进行下载。
解压文件得到
此时右键访达 -》前往 ,输入 /usr/local/opt,将解压好的文件放到该目录下。为了方便将文件夹改名为jdk-13.0.2
注: /usr/local/opt为插件安装的默认地址,你也可以在你喜欢的任何地方作为安装目录。
由于文件是