• 使用sonarqube对java项目进行分析


    目前有两种办法,第一种是使用SonarQube-Scanner-Maven,第二种是结合gitlab-ci进行

    前提条件:已安装并启动sonarqube,知道访问地址和登录的用户名及密码,具体参考文档:https://www.cnblogs.com/sanduzxcvbnm/p/15770254.html

    第一种办法:使用SonarQube-Scanner-Maven

    官方文档地址:https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/

    要求

    1.maven版本:3.x (我这里使用的是3.5.4版本,配置好环境变量)
    2.至少SonarQube服务器支持的最低版本的Java正在使用中,也就是最低java版本是11

    我这里统一使用jdk-11.0.2版本
    下载地址:https://repo.huaweicloud.com/openjdk/11.0.2/

    SonarQube安装在centos 7系统上,使用的软件包是:openjdk-11.0.2_linux-x64_bin.tar.gz (配置好环境变量)
    本机电脑是windows10系统,使用的软件包是:openjdk-11.0.2_windows-x64_bin.zip (配置好环境变量)

    maven设置

    找到maven的配置文件:settings.xml,添加如下内容

    <settings>
        <pluginGroups>
            <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://192.168.2.161:9000  <!-- 这一行换成实际的sonarqube访问地址 -->
                    </sonar.host.url>
                </properties>
            </profile>
         </profiles>
    </settings>
    

    sonarqube获取token

    登录sonarqube,点击右上角的用户名,选中“我的账号”,切换到“安全”,输入令牌名称,点击生成令牌,复制这个。

    分析使用命令:mvn clean verify sonar:sonar -Dsonar.login=Token # 把Token换成上面生成的令牌

    mvn clean install
    mvn sonar:sonar -Dsonar.login=Token
    
    # 使用指定版本的sonar 
    mvn org.sonarsource.scanner.maven:sonar-maven-plugin:3.7.0.1746:sonar -Dsonar.login=Token
    

    在项目根目录下执行如下命令,就会自动拉取sonar使用的有关插件,然后进行分析,结果会在sonar的web页面上显示出来

    第二种办法:结合gitlab-ci进行

    前提:我这边的CI/CD工具使用的是gitlab-runner,本身项目中已经存在的有.gitlab-ci.yml文件了.

    1.先登录sonar的web页面,点击“项目,选择"更多",选择“来自GitLab”
    2.输入名称,gitlab的api接口地址,个人token
    3.输入个人令牌
    4.获取到个人有权限管理的项目后,点击管理,选择使用“gitlab-ci”
    5.按照页面提示在项目文件中添加内容,完成配置
    6.提交代码到该分支,sonar的web页面上查看效果




  • 相关阅读:
    Linux 线程池的简单实现
    m3u8(HLS) 抓包
    一个面试问题的思考
    简单实现无需密码 sudo
    转: NAT 穿透
    一个平均分配算法
    raft 算法扫盲
    20210615 JVM 优化
    20210614. 并发编程
    20210606 Java 并发编程之美
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15771406.html
Copyright © 2020-2023  润新知