Skip to main content

Command Palette

Search for a command to run...

sonarqube简易上手指南

Published
•1 min read•View as Markdown
黄

I am founder of https://some.im

sonarqube 是什么

Sonarqube 是一个开源的代码质量管理系统,支持超过25种编程语言:Java、C/C++、C#、PHP、Flex、Groovy、JavaScript、Python、PL/SQL、COBOL、Golang、Javascript等,目前已经与诸多外部工具做了很好的集成,分析报告中可以对重复代码、编码标准、单元测试、代码覆盖率、代码复杂度、潜在Bug、注释问题等提出建议。 下面两张图是几个界面,大家感受一下。

https://404.ms/file/xurenlu202202/19211300.7112.png

https://404.ms/file/xurenlu202202/69928200.5266.png

安装

可以从 https://www.sonarqube.org/ 下载安装版,解压后,执行 bin/{your-platform}/sonar.sh 即可。比如我的是mac,就执行bin/macosx-universal-64/sonar.sh来启动。

注意,现在sonarqube需要至少jdk11才能运行。

启动后,sonarqube会工作在9000端口,可以访问 http://127.0.0.1:9000 来访问。 访问时,默认的用户名、密码是admin/admin。 进入后,在右上解有一个MyAccount菜单,点进去: https://404.ms/file/xurenlu202202/52285700.7667.png 点[Security] 进入到token 管理页: https://404.ms/file/xurenlu202202/74438500.9902.png

生成一个新的token,记录它:https://404.ms/file/xurenlu202202/70573300.8815.png

与Maven 集成、分析java项目

  1. 修改 ~/.m2/settings.xml 的内容 加上这段sonar相关的profile,并指定acitiveProfile是sonar ```xml

default true 1.8 sonar http://172.17.0.1:9000 这里填上那个token sonar


其实就加上了sonar.host.url这一个配置。
接下来在java项目的根目录下运行 <kbd>mvn sonar:sonar</kbd>即可。

稍等一会,就会给出报告地址。
![https://404.ms/file/xurenlu202202/44183200.9746.png](https://404.ms/file/xurenlu202202/44183200.9746.png)


## 安装sonar-scanner 
对php、python等项目扫描,需要先安装sonar-scanner,在Mac上是执行:
<kbd>brew install sonar-scanner</kbd>即可。
安装完以后,根据您sonar-scanner的安装路径,修改配置。在我的电脑上是这个文件是
<kbd>/usr/local/Cellar/sonar-scanner/4.0.0.1744/libexec/conf/sonar-scanner.properties</kbd>
内容如下:

sonar.host.url=http://172.17.0.1:9000 sonar.login=您刚才在sonarqube后台复制的token


接下来在要扫描的php/python/golang项目的根目录下创建<kbd>sonar-project.properties</kbd>文件 ,重点指定好源代码目录 ,内容参照这个

sonar.projectKey=ll-admin sonar.projectName=ll-admin sonar.projectVersion=1.0 sonar.exclusions=node_modules sonar.sources=./src/ sonar.tests=./tests/ ```

然后在代码根目录下运行 sonar-scanner就好啦。

最后也是最重要的

sonarqube内置了超多规则,在指出代码问题的同时,讲解了为什么不可以这么做。多看一看,非常有收获。

6 views

More from this blog

heroku上部署vue项目

公司有一个前端项目,近期折腾了一下,改成从 heroku 的一个替代产品 dokku 部署了,记录一下过程。 不熟悉 dokku 的可以看这里,是一个 heroku 的个人级替代产品,用法基本差不多。 dokku 和 heroku 一样,只支持有后端的项目,所以对于 vue 项目,我们需要用 express 来提供服务。 方案如下,先安装 express 和@suntower/serve-static2 yarn add express @suntower/serve-static2 在 pa...

Feb 14, 20231 min read1

heroku上部署vue项目

公司有一个前端项目,近期折腾了一下,改成从 heroku 的一个替代产品 dokku 部署了,记录一下过程。 不熟悉 dokku 的可以看这里,是一个 heroku 的个人级替代产品,用法基本差不多。 dokku 和 heroku 一样,只支持有后端的项目,所以对于 vue 项目,我们需要用 express 来提供服务。 方案如下,先安装 express 和@suntower/serve-static2 yarn add express @suntower/serve-static2 在 pa...

Feb 14, 20231 min read2

heroku上部署vue项目

公司有一个前端项目,近期折腾了一下,改成从 heroku 的一个替代产品 dokku 部署了,记录一下过程。 不熟悉 dokku 的可以看这里,是一个 heroku 的个人级替代产品,用法基本差不多。 dokku 和 heroku 一样,只支持有后端的项目,所以对于 vue 项目,我们需要用 express 来提供服务。 方案如下,先安装 express 和@suntower/serve-static2 yarn add express @suntower/serve-static2 在 pa...

Feb 14, 20231 min read2
I

I am 404

39 posts