sonarqube 通过 mvn 扫描代码

项目场景:

提示:

独立部署项目,客户需要提供sonar代码扫描报告,作为一个java后端,没有用过sonar工具,就在网上扒拉最终实现了扫描

尝试过程中遇到的问题

jdk,sonar版本!!!

由于项目过于老旧,使用的jdk版本1.8,从官网下载的sonar包是最新的(需要jdk17),所以不匹配

需要找到sonar 7.8之前的版本,才能进行扫描

1.SonarQube 7.5
2.中文插件sonar-l10n-zh-plugin-1.25.jar(可选)  
3.PDF输出报告插件sonar-pdfreport-plugin-3.0.3.jar(可选,需要导出PDF结果报告则添加) 
4.mysql 5.6~8.0
5.jdk8

链接:https://pan.baidu.com/s/157XQPYUHvozFyLV1MWIhKA 
提取码:zalv


一、SonarQube服务 搭建步骤:

1. 上传SonarQube至服务器:

2. 解压zip包至当前目录:
    unzip sonarqube-7.5.zip

3. 上传中文插件sonar-l10n-zh-plugin-1.25.jar(可选,需要中文界面则添加)
        将插件移动至目录./sonarqube-7.5/extensions/plugins下 

4.上传PDF输出报告插件sonar-pdfreport-plugin-3.0.3.jar(可选,需要导出PDF结果报告则添加)
        将插件移动至目录./sonarqube-7.5/extensions/plugins下 

5.修改配置文件 ./sonarqube-7.5/conf/sonar.properties,如下:主要修改数据库配置:
        注意:要提前在数据库实例上建库 sonar

 sonar.jdbc.username=用户名
    sonar.jdbc.password=密码
    sonar.jdbc.url=jdbc:mysql://主机ip地址:3306/sonar?allowMultiQueries=true&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false&allowPublicKeyRetrieval=true

6.修改配置文件./sonarqube-7.5/conf/wrapper.conf,如下:主要修改jdk配置

    

7.启动sonarqube服务:
         注意:不能使用root用户启动,需要自建用户启动,因为启动时会启动es组件,而es组件要求不能以root用户身份启动。(示例使用sonaruse启动,需要将sonarqube的所有文件的所属都改为sonaruse,使用命令: chown -R sonaruse:sonaruse sonarqube-7.5

启动:

    ./bin/linux-x86-64/sonar.sh start

8.通过浏览器访问SonarQube服务:
        注意:访问失败请排查进程和端口9000是否正常监听,之后排查防火墙和安全组策略,日志正常却访问不了应该是防火墙或安全组问题。
        地址:http://host:9000/
        默认账号:admin
        默认密码:admin

9.SonarQube服务的PDF报告输出插件的相关配置:

      

    如下配置:

      

    SonarQube服务的配置结束

二、SonarScanner 扫描配置:

参考官方文档 SonarScanner for Maven

先决条件

  • Maven 3.2.5+
  • 至少使用 SonarQube 服务器支持的最低 Java 版本

    settings.xml 文件中添加如下配置

<pluginGroups>
    <!-- pluginGroup
     | Specifies a further group identifier to use for plugin lookup.
    <pluginGroup>com.your.plugins</pluginGroup>
    -->
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>


<profiles>
    <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!-- Optional URL to server. Default value is http://localhost:9000 -->
            <sonar.host.url>http://ip:9000</sonar.host.url>
            <!-- 配置自己的账号、密码,就无需每次使用token密钥 -->
            <sonar.login>admin</sonar.login>
            <sonar.password>admin</sonar.password>
        </properties>
    </profile>
 </profiles>

 项目 pom.xml文件添加配置

<build>
	   <plugins>
            <plugin>
		        <groupId>org.sonarsource.scanner.maven</groupId>
		        <artifactId>sonar-maven-plugin</artifactId>
		        <version>3.9.1.2184</version>
		    </plugin>
		</plugins>
</build>

三、扫描

在项目pom.xml所在位置,打开shell窗口,执行 mvn clean compile sonar:sonar

扫描完成,生成报告

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值