详细安装Sonarqube7.7教程

1. 下载

可以有很多种方式使用sonarqube分析,这里列举几种:

  • 使用Maven命令分析
  • 使用IDEA插件
  • 使用Sonarqube Scanner扫描工具

博主这里介绍第一种方式:

下载sonarqube-7.7

链接:https://pan.baidu.com/s/1NDY145lVGKWJOQnL3brHiw
提取码:pt4h

博主使用环境是Windows,所以:
解压后,运行\bin\windows-x86-64\StartSonar.bat

浏览器访问http://localhost:9000
能够成功访问页面即安装成功:右侧有登录按键,默认用户admin,密码admin
在这里插入图片描述

2. 配置MySQL数据库

注意再sonarqube-7.7下,MySQL的版本为5.6<=x<8.0。

  • 使用root用户登录数据库,创建数据库和新用户:
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
flush privileges;
  • 设置sonarqube配置文件
    sonarqube-7.7\conf\sonar.properties

去掉前面的# 号,写上用户名和密码:
在这里插入图片描述

  • 重启sonarqube
    这一步博主不确定是否关闭其中一个还是所有都关闭,才是真正的关闭了sonarqube,你可以挨个尝试关闭:
    第一个:ctrl + c 关闭
    在这里插入图片描述
    第二个:sonarqube的界面有一个重启选项,但是博主点击重启会卡死,你可以尝试
    在这里插入图片描述
    第三个:任务管理器后台服务,结束这些服务即可
    在这里插入图片描述

注意:
配置了MySQL后,可能下一次的启动会出现这样的情况,并且卡在这里,访问http://localhost:9000 提示需要升级数据库:
在这里插入图片描述
解决办法:
访问:http://localhost:9000/setup,按照提示升级即可,然后按照上面的步骤重启sonarqube。

同时,如果连接顺利你可以在数据库看到相关内容:
在这里插入图片描述

3. 配置Maven和项目

  • 在你Maven的安装路径下,settings.xml文件中添加如下内容:
    注意添加的位置(因为博主有配置其他内容,行数可能不准确,注意找到对应为止):
    在这里插入图片描述
    <pluginGroups>
        <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
    </pluginGroups>

在这里插入图片描述

    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>
              http://localhost:9000
            </sonar.host.url>
        </properties>
    </profile>
  • 首先你需要有一个Maven项目(这里就不演示了,并且确保里面有运行代码),在pom.xml 中添加内容:
	<build>
		<plugins>
			<plugin>
				<groupId>org.sonarsource.scanner.maven</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.6.0.1398</version>
			</plugin>
		</plugins>
	</build>

项目根目录或者resources目录创建sonar-project.properties(不过感觉没起作用啊),内容如下:

sonar-project.properties
# must be unique in a given SonarQube instance
# 改为你自己的
sonar.projectKey=jindouyun

# --- optional properties ---

# defaults to project key
# 改为你自己的
sonar.projectName=jindouyun
# defaults to 'not provided'
#sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Defaults to .
sonar.sources=src

# Encoding of the source code. Default is default system encoding
sonar.sourceEncoding=UTF-8

4. Maven命令运行

在项目路径下运行:
有两条命令,直接运行第二天命令即可出结果,但是无法分析出测试代码覆盖率,所以需要分别执行两条命令:

不过,博主这里用的是一个成品项目,执行第一条命令会卡死。。。。

mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true

mvn sonar:sonar

执行第二条命令构建成功如下,访问黄框内的链接:
在这里插入图片描述
你可以看到,其他信息已经分析出来,但是单元测试并没有分析出来:
在这里插入图片描述

若有错误,请指正!

参考:
官网:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/
https://blog.csdn.net/weixin_40861707/article/details/82117232#commentBox
https://www.jianshu.com/p/e384595d0b14

完!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章