SonarQube7.9的特性

架构

  • 分析器:分析代码,并保存分析快照到数据库
  • 数据库:保存配置和代码分析快照
  • 插件
  • Sonar Server
    • web server
    • search server
    • compute Engine server

架构

集成方式

集成步骤

特性

  • 显示与上一个版本的差异,可以使用previous_version指定
  • 可以在Quality Gates中对New code的质量进行设置
  • 前面分析的源代码、目录和文件级别的度量,等等在新的分析结束时自动删除
    • Administration > General > Database Cleaner.中进行设置

Quality Gates

度量项目的整体情况,以判断其是否能够交付(在顶部导航栏中制定)

特性

  • 针对新代码
  • 质量控制条件必须使用差值
  • 度量失败会进行通知

权限

  • 任何用户(甚至是匿名用户)都可以访问Quality Gates
  • 需要 Administer Quality Profiles and Gates权限才能change(create, edit or delete) Quality Gates
  • project administrator能选择项目对应的quality gates规则

定义Quality Gates

需要组合一下条件

  • measure
  • comparison operator
  • error value

例如

  • measure: Blocker issue
  • comparison operator: >
  • error value: 0
    表示No blocker issues.

Issues

  • Issus:在代码分析后,每当一段代码违反编码规则时,
    SonarQube提出的问题
  • 编码规则在quality profile中自定义

类型

  • Bug
  • Vulnerability :漏洞,可能会被攻击
  • Codesmell :异味,令人疑惑的代码

严重程度

  • BLOCKER:阻断,必须马上修复
  • CRITICAL:严重,必须马上查看
  • MAJOR:主要
  • MINOR:次要
  • INFO:提示

生命周期

  • Open :SonarQube 自动设置,新建issues
  • Confirmed :手动设置,严重issue
  • Resolved :手动设置,下一个分析应该解决这个问题
  • Reopened :SonarQube 自动设置,没有正确改正issues
  • Closed :SonarQube 自动设置,关闭issues

决议(如何处理issues)

  • Closed issues
    • fixed
    • removed
  • Resolved issues
    • False Positive
    • Won’t Fix

工作流

  • 关闭(status: Closed)

自动关闭issues的情况:修复issue => 决议:fixed

代码弃用:启用issues => 决议:removed

  • 重开(status: Reopened)

手动标记fixed,但问题没有完全解决

新问题的标记

Sonar使用的标记算法依赖于报告问题所在行的内容散列(多行取第一行),根据散列值进行匹配,以识别历史问题。

issues的时间问题

取决于代码的最后修改时间,而不是首次发现的时间

自动issues分配

  • 新的issues会分配给“最近提交的,且与Sonar进行关联的“提交者。仅限file级别的issues࿰

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值