SonarQube7.4安装和使用

声明

本文转自:https://www.jianshu.com/p/dd4a4bc59fc3?from=singlemessage

正文

近期比较关注代码的检测,以前因为用的findbugs,所以没有可视化的界面
因此便搜索了一些代码检测管理平台,因而便搜索到了这一款平台,接下来就开始搭建吧css

前期准备

  • jdk 1.8.0._131
  • maven 3.5.3
  • mysql 5.7

开始搭建

  1. 软件下载
    登录网址 https://www.sonarqube.org/downloads/
    直接下载最新的社区版便可java

     
    1

     

  2. 配置数据源
    打开配置文件:..\sonarqube-7.4\conf\sonar.properties
    增长配置:如下是mysql的配置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
  1. 启动
    ..\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.jarweb

若是启动的时候 提示“另外一程序正在使用此文件”
因为以前启动的sonar进程未关闭,有冲突;打开资源管理器(ctrl+shift+esc),杀掉java进程从新启动,问题解决sql

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

 
2


而后打开web.log,发现提示以下:ruby

 
3


这是由于链接的oracle的jar的版本太低服务器

 

还有官方要求oracle的版本: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的链接上面已经提供了
配置好从新启动,因为第一次须要建立表,因此可能有点慢maven

  1. 登录系统
    访问http://localhost:9000
    初始用户名 密码 admin admin

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

 
4

 

安装好插件重启sonar,登陆后以下(已经建立了一个项目,首次登陆后界面有些许差别)

 

 
5

接下来建立第一个项目

 

 
6

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

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

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

 

 
7

 

 
8

 

 
9
  1. 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如何集成

  1. 首先配置maven的settings.xml文件,目的是为了将结果同步到SonarQube平台上
    配置代码以下:
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.jdbc.url> jdbc:mysql://127.0.0.1:3306/sonarqube </sonar.jdbc.url> <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver> <sonar.jdbc.username>root</sonar.jdbc.username> <sonar.jdbc.password>root</sonar.jdbc.password> <sonar.host.url>http://127.0.0.1:9000</sonar.host.url> <!-- your_sonar_host是你的服务器地址,若是你的服务在本机则使用localhost --> </properties> </profile> 
  1. 安装插件sonarLint


     
    10
  2. 配置SonarQube servers


     
    11

若是勾选 Automatically tigger analysis ,将会自动对打开的文件进行分析

  1. 绑定上一步骤建立的,以及选择项目对应的SonarQube的项目
    这一步是因为上面步骤已经在SonarQube里分析了一次因此这里能够选择SonarQube project,不清楚有没有其余方法,若是有的话请指出
     
    12
  2. 执行命令 ,便可将项目进行分析,以及将分析的结果同步到SonarQube平台上,若是只是用插件进行项目分析的话,测试发现是不会同步到平台上的,不清楚是否是哪里步骤有问题...
mvn clean install 
mvn sonar:sonar 

至此整个过程讲解结束,若是有疑问或者指点的话欢迎留言(`・ω・´)

相关文章
相关标签/搜索