• Jenkins


    1 - 简介

    可以在一个Jenkins的全局系统配置中设置多个SonarQube服务器。
    在每个具体的任务中,可以指定特定的SonarQube服务器来完成代码扫描。

    2 - 配置

    默认已安装并启动Jenkins与SonarQube。

    2.1 安装SonarQube Scanner插件

    2.2 配置 SonarQube Server 信息

    Jenkins---》系统管理----》系统设置,配置 SonarQube Server 信息

    在SonarQube上生成令牌

    将令牌添加到Jenkins

    选择应用令牌

    2.3 配置 SonarQube Scanner

    Jenkins---》系统管理---》全局工具配置, 配置 SonarQube Scanner

    2.4 Jenkins任务配置

    设置源码仓库

    指定构建前的操作

    • Path to project properties:指定sonar-project.properties 文件,默认使用项目根目录的sonar-project.properties文件
    • Analysis properties:传递给 SonarQube的配置参数,优先级高于 sonar-project.properties 文件的参数
    • Additional arguments:附加的参数,例如-X表示启用Debug 模式输出更多的日志信息

    指定构建参数

    3 - 执行构建

    3.1 查看扫描报告

    控制台输出

    在任务界面会出现多个Sonar的链接

    点击Sonar链接 即可看到扫描报告

    3.2 直接在SonarQube Server上查看

    4 - 覆盖率扫描

    需要借助JaCoCo插件,才能获取到代码的真实单元测试覆盖率,否则在有单元测试的情况下也只会显示为0%。
    单击“覆盖率”可看到详细的代码统计展示。

    安装JaCoCo插件

    通过指定构建的Goals and options参数

    注意:添加如下参数-Dmaven.test.failure.ignore=false可以忽略失败的单元测试,以便完成对覆盖率的统计。

    5 - 多分支扫描

    在SonarQube社区版本中,可以通过配置构建的Goals and options参数,来简单地进行不同分支的扫描。
    只需要增加参数-Dsonar.branch=<branch name>
    针对同一项目的不同分支进行构建后,在Sonar界面,会看到根据“ ”的扫描任务和状态。

  • 相关阅读:
    虚拟机Linux环境搭建所遇到的 问题
    Java-字节流读写文件
    [ZJOI2019]语言
    [CTSC2006]歌唱王国
    CF500F New Year Shopping
    CF438E The Child and Binary Tree
    [GXOI/GZOI2019]旧词
    [LNOI2014]LCA
    [CTSC2017]吉夫特
    [SDOI2014]旅行
  • 原文地址:https://www.cnblogs.com/anliven/p/12057469.html
Copyright © 2020-2023  润新知