SonarQube Data Center Edition安装使用教程SonarQube Data Center Edition 是代码质量和代码安全解决方案,专为高可用性而设计,自动代码审查工具,用于检测代码中的错误、漏洞和代码问题,可以与您现有的工作流程集成,以实现跨项目分支和拉取请求的持续代码检查。使所有开发人员能够编写更清洁、更安全的代码。轻松捕获错误并提高代码质量,修复 危害您的应用程序的漏洞,并通过安全热点学习 AppSec,最终可以有效提升开发人员的工作效率,并获得更干净可维护的代码库,支持多种编程语言,全面满足开发需求!

安装使用教程

代码编写器SonarQube Data Center Edition V10.4.0.87286 免费安装版

  • 类型:编程工具
  • 大小:550MB
  • 语言:英文软件
  • 时间:2024-02-08

查看详情

配置数据源

打开配置文件:..\sonarqube-7.4\conf\sonar.properties

增加配置:以下是mysql的配置

  • #—– DEPRECATED
  • #—– MySQL >=5.6 && <8.0
  • # Support of MySQL is dropped in Data Center Editions and deprecated in all other editions
  • # Only InnoDB storage engine is supported (not msyISAM).
  • # Only the bundled driver is supported. It can not be changed.
  • #sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
  • sonar.jdbc.url=jdbc:mysql://127.0.0.1:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
  • sonar.jdbc.username=root
  • sonar.jdbc.password=root
  • sonar.sorceEncoding=UTF-8
  • sonar.login=admin
  • sonar.password=admin

启动

..\sonarqube-7.4\bin\windows-x86-64\StartSonar.bat

原先配置的数据源是Oracle,启动的时候提示连接oracle的jar包不存在,将连接oracle的jar放到路径

..\sonarqube-7.4\extensions\jdbc-driver\oracle\ojdbc14-10.2.0.1.0.jar

如果启动的时候 提示“另一程序正在使用此文件”

由于之前启动的sonar进程未关闭,有冲突;打开资源管理器(ctrl+shift+esc),杀掉java进程重新启动,问题解决

再次启动的时候,启动过会儿窗口会自动关闭,那是因为报错了,打开log文件..\sonarqube-7.4\logs\sonar.log,发现提示“远程主机强迫关闭了一个现有的连接”,如下所示:

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

2

然后打开web.log,发现提示如下:

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

3

这是因为连接的oracle的jar的版本过低

还有官方要求oracle的版本:

  • #—– Oracle 11g/12c
  • # The Oracle JDBC driver must be copied into the directory extensions/jdbc-driver/oracle/.
  • # Only the thin client is supported, and only the versions 11.2.x or 12.2.x must be used. See
  • # https://jira.sonarsource.com/browse/SONAR-9758 for more details.
  • # If you need to set the schema, please refer to http://jira.sonarsource.com/browse/SONAR-5000
  • #sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/XE

想想算了,不想去找jar包了于是便升级mysql版本到mysql5.7,然后mysql的连接上面已经提供了

配置好重新启动,由于第一次需要创建表,所以可能有点慢

登陆系统

访问http://localhost:9000

初始用户名 密码 admin admin

登陆系统后按照如下步骤下载安装 中文汉化包

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

4.安装好插件重启sonar,登录后如下(已经创建了一个项目,首次登录后界面有些许差异)

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

5.接下来创建第一个项目

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

6.将

  • mvn sonar:sonar \
  • -Dsonar.host.url=http://localhost:9000 \
  • -Dsonar.login=0006282044b5a5098d23d999c93f9c11eef16025

复制到maven项目的根目录下启动检查即可

检查后可以在SonarQube平台里看到一些代码的问题,如下:

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

7

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

8

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

9.Windows下重启sonar:(这一步不清楚有没有更好的方法,如有请指出)

  • 首先关闭SonarQube.bat窗口
  • 再Ctrl+Shift+Esc调出windows资源管理器
  • 在进程中关闭所有java.exe进程
  • 然后重新进入.\sonarqube-7.4\bin\windows-x86-64\,运行StartSonar.bat文件

IDEA集成SonarLint

SonarLint 是一个插件,可以集成到开发工具里,有以下功能

  • 当打开java文件时可自动分析静态文件,也可以手动对整个项目做分析;
  • 可连接到SonarQube同步分析规则、质量规则与自定义设置;

由于鹅主只使用IDEA,接下来就说明下IDEA如何集成

首先配置maven的settings.xml文件,目的是为了将结果同步到SonarQube平台上

配置代码如下:

sonar

true

jdbc:mysql://127.0.0.1:3306/sonarqube

com.mysql.jdbc.Driver

root

root

http://127.0.0.1:9000

安装插件sonarLint

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

10.配置SonarQube servers

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

11.如果勾选 Automatically tigger analysis ,将会自动对打开的文件进行分析

绑定上一步骤创建的,以及选择项目对应的SonarQube的项目

这一步是由于上面步骤已经在SonarQube里分析了一次所以这里可以选择SonarQube project,不清楚有没有其他方法,如果有的话请指出

如何免费安装使用SonarQube Data Center Edition代码编辑器-风君雪科技博客

12.执行命令 ,即可将项目进行分析,以及将分析的结果同步到SonarQube平台上,如果只是用插件进行项目分析的话,测试发现是不会同步到平台上的,不清楚是不是哪里步骤有问题…

mvn clean install

mvn sonar:sonar

至此整个过程讲解结束

功能特色

1、发布质量代码

捕获棘手的错误以防止未定义的行为影响最终用户。

2、应用安全

修复危害您的应用程序的漏洞,并通过安全热点学习AppSec。

3、技术债务

确保您的代码库干净且可维护,以提高开发人员的速度!

4、适用于29种编程语言

我们拥抱进步——无论是多语言应用程序、由不同背景组成的团队,还是现代与传统混合的工作流程,SonarQube都能满足您的需求。

5、您的工作流程,增强

SonarQube适合您现有的工具,并在您的代码库的质量或安全性面临风险时主动伸出援助之手。

6、通过持续的代码质量和代码安全性增强您的工作流程

数以千计的自动化静态代码分析规则,从多个方面保护您的应用程序并指导您的团队