SonarQube的安装与使用

news/2024/10/9 12:52:07/文章来源:https://www.cnblogs.com/skystrive/p/18453985

SonarQube的安装与使用

 

一、说明:

SonarQube 7.8以上只支持jdk 11版本并且不支持mysql数据库

本次安装为Windows环境 版本信息如下:

1、sonarqube         — 7.7

2、Sonar-scanner-cli    —4.5.0

3、Postgre            —10.1

 

二、解压附件中的sonarqube-7.7.zip,sonar-scanner-cli-4.5.0.2216-windows.zip

 

三、安装运行

1、下载好sonarqube后,解压打开bin目录,启动相应OS目录下的StartSonar。如本文演示使用的是win的64位系统,则打开G:\sonar\sonarqube-7.7\bin\windows-x86-64\StartSonar.bat

 

 

2、点开后,如图所示,则表示运行成功

 

 

3、有可能碰到启动失败的问题,如图:

 

出现如上问题的原因:

(1)电脑的任务管理器中出现Java(TM)Platform SE binary(一般是三个),关闭即可

(2)配置sonarqube的sonar.properties文件和sonar-scanner的sonar-scanner.properties文件的数据库名称与创建的数据库名称对不上,会报错(后续会说明)

 

4、启动浏览器,访问http://localhost:9000,如出现下图则表示安装成功

 

注意:如果要关闭sonarqube服务,在服务窗口界面,快捷键Ctrl+C,然后输入Y退出,如图所示:

 

不要直接关闭,不然再次启动时会出现如下报错:

 

如果再次启动的时候失败了,你可以启动进程管理器,关闭所有java.exe服务,然后再次启动该服务即可

 

 

5、创建test数据库(PG

select version() 查询数据库版本 需要Postgre版本 > 9.3

数据库名称可以自行定义,此处以test为例

 

 

6、进入sonarqube解压缩之后的文件目录中,进入conf文件夹下,找到sonar.properties文件,并在postgre节点下添加数据库的连接配置信息如下:

sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/test

sonar.jdbc.username=mes 

sonar.jdbc.password=hk2019!

sonar.sorceEncoding=UTF-8

sonar.login=admin

sonar.password=admin

 

7、进入sonar-scanner解压缩之后的文件目录中,进入conf文件下,找到sonar-scanner.properties文件,并向其中添加Postgre数据库的连接配置信息如下

sonar.jdbc.url=jdbc:postgresql://127.0.0.1:5432/test

sonar.jdbc.username=mes 

sonar.jdbc.password=hk2019!

   

8、sonar-scanner配置环境变量

(1)      windows环境下进入高级系统设置环境变量下进行配置

新建环境变量:
变量名:SONAR_RUNNER_HOME
变量值:C:\soft\SonarQube\sonar-scanner (此处是你所下载的sonar-scanner解压之后所在的文件)

(2)      新建Path环境变量,输入内容: %SONAR_RUNNER_HOME%\bin

(3)     以管理的身份启动cmd命令窗口,查看sonar-scanner的版本信息:sonar-scanner -v 出现以下信息,则表示环境变量设置成功

 

9、新建配置文件sonar-project.properties

打开要进行代码分析的项目根目录,新建sonar-project.properties文件,输入以下信息

JAVA代码配置:

#projectKey是项目的唯一标识,不能出现重复,可随意起

 

sonar.projectKey=项目标识,随便起即可

 

# this is the name displayed in the SonarQube UI,不能是中文

 

sonar.projectName=你的项目名称

 

# 项目的版本号

 

sonar.projectVersion=0.5

 

# 项目的代码的编码格式

 

sonar.sourceEndcoding=UTF-8

 

# 项目的语言

 

sonar.language=java

 

# 项目的源代码目录

 

sonar.sources=src

 

# 项目的编译生成的class文件的所在目录

 

sonar.java.binaries=target

VUE代码配置:

 

#项目唯一标识(不能出现重复)

sonar.projectKey=fszc_admin-pro-master

 

# this is the name displayed in the SonarQube UI,不能是中文

sonar.projectName=fszc_admin-pro-master

 

# 项目的版本号

 sonar.projectVersion=1

 

#源代码目录

sonar.sources=src

 

# 检查语言

sonar.language=vue

 

 项目的代码的编码格式

sonar.sourceEncoding=UTF-8

 

10、重新启动StartSonar.bat服务,并以管理员的身份启动一个cmd命令窗口,cd命令进入项目的根路径下,执行命令:sonar-scanner,开始对你的代码进行质量审核。你会看到如下信息,代表成功运行:

 

Issues -> Bug

 

11、配置Host支持他人访问

配置成功后重启sonarQube服务,关闭防火墙后可支持其他人访问。(配置host以后执行sonar-scanner会报错,如需执行扫描操作注释掉即可)

配置host: sonar.web.host=192.168.10.37

 

 

配置Host以后执行sonar-scanner报错信息如下:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/810488.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sealos Devbox 发布,珍爱生命,远离 CI/CD

水滴攻击太阳系用的是最原始的攻击方式:撞击!却又如此有效率。 当我们搞了一堆容器、编排、CI/CD、DevOps,发明了一大堆没什么用的名词之后,最终发现这些操作都是花里胡哨,让开发者越陷越深。 最终你会发现一个真理:原来十年前、二十年前的线上直接改代码是效率最高的方式…

【日记】我不想调回去啊啊啊(341 字)

正文新电脑不知道为什么有时键盘会突然没反应。今天没有客户,工作上几乎没什么可说的。唯一听到的消息,似乎是我可能不久之后就要被调回去,因为市分行有人要人事调动。救命啊!我不想回市分行。在下面吃住都比市分行好,而且我买的舞蹈课还没上完呢,甚至只上到了一半多一节…

适用于海外业务的在线客服系统

我们系统的前端访客界面支持多语种展示 默认会根据浏览器语言进行自动切换URL聊天链接中传递参数,例如:lang=ja-JP 则界面就展示为日文 界面上的文案部分,是可以通过语种文件进行转换展示,但是内容部分是不会跟着变的所以,建议每一个语种建立一个商家。例如:英文客服,中…

日本语版本在线客服系统

我们系统的前端访客界面支持多语种展示 默认会根据浏览器语言进行自动切换URL聊天链接中传递参数,例如:lang=ja-JP 则界面就展示为日文 界面上的文案部分,是可以通过语种文件进行转换展示,但是内容部分是不会跟着变的所以,建议每一个语种建立一个商家。例如:英文客服,中…

回溯法

算法导论 这个文档是学习“算法设计与分析”课程时做的笔记,文档中包含的内容包括课堂上的一些比较重要的知识、例题以及课后作业的题解。主要的参考资料是 Introduction to algorithms-3rd(Thomas H.)(对应的中文版《算法导论第三版》),除了这本书,还有的参考资料就是 Al…

随机算法

算法导论 这个文档是学习“算法设计与分析”课程时做的笔记,文档中包含的内容包括课堂上的一些比较重要的知识、例题以及课后作业的题解。主要的参考资料是 Introduction to algorithms-3rd(Thomas H.)(对应的中文版《算法导论第三版》),除了这本书,还有的参考资料就是 Al…

分治法

算法导论 这个文档是学习“算法设计与分析”课程时做的笔记,文档中包含的内容包括课堂上的一些比较重要的知识、例题以及课后作业的题解。主要的参考资料是 Introduction to algorithms-3rd(Thomas H.)(对应的中文版《算法导论第三版》),除了这本书,还有的参考资料就是 Al…

贪心法

算法导论 这个文档是学习“算法设计与分析”课程时做的笔记,文档中包含的内容包括课堂上的一些比较重要的知识、例题以及课后作业的题解。主要的参考资料是 Introduction to algorithms-3rd(Thomas H.)(对应的中文版《算法导论第三版》),除了这本书,还有的参考资料就是 Al…

Nuxt.js 应用中的 page:finish 钩子详解

title: Nuxt.js 应用中的 page:finish 钩子详解 date: 2024/10/9 updated: 2024/10/9 author: cmdragon excerpt: page:finish 是 Nuxt.js 中用于处理页面加载完成事件的钩子,特别是与 Suspense机制相关。这个钩子允许开发者在页面加载完成后执行自定义操作,以优化用户体验…

智驾仿真测试实战之自动泊车HiL仿真测试

1.引言汽车进入智能化时代,自动泊车功能已成为标配。在研发测试阶段,实车测试面临测试场景覆盖度不足、效率低下和成本高昂等挑战。为解决这些问题,本文提出一种自动泊车HiL仿真测试系统方案,可大幅度提升测试效率及测试场景覆盖度、缩短测试周期、加速产品迭代升级。2.自动…

直接跳转接入在线客服系统

PC网站或H5网站可以通过多种方式接入客服系统,直接访问或跳转聊天链接,是最简单的一种方式 很多人说,我这里的需求是根据xxxx规则进入某个客服(巴拉巴拉一大堆) 这个是前端自行处理的,你们随意任何规则,最终跳到我们这边指定的聊天连接上就行了 至于你们的规则是什么,我…

如何自己动手实现一个图片解答小助手

本文介绍了如何自己动手实现一个图片解答小助手。有一张图片如下所示:Kimi上有一个功能,就是解析图片内容,给出回答:这样可以用于拍照向AI提问的场景,我自己也有这方面的需求,因此动手实践了一下。 自己动手实现的效果如下所示:那么自己如何实现呢? 可以通过添加一个OC…