美文网首页
使用Sonar分析Golang代码

使用Sonar分析Golang代码

作者: 李小西033 | 来源:发表于2020-01-01 16:42 被阅读0次

为了保证项目代码质量,需要控制每个Pull Request的代码单元测试覆盖率。翻看了Sonar文档,发现Sonar是一款保证代码质量的工具,可以满足此类需求。

下面就用一个Demo来体验一下Sonar的功能。

安装SonarQube

  1. 以Docker容器运行:
docker run -d --name sonarqube -p 9000:9000 sonarqube
  1. 访问http://localhost:9000
    image.png
    使用默认的用户名密码admin/admin登陆。

注意:为了简化建立 SonarQube 的步骤,所有的内容我都使用了默认值。比如,我直接使用了 SonarQube 内建的数据库,端口也采用了默认的 9000。但是,在实际工程项目中,为了 Sonar 数据的长期可维护和升级,我们通常会使用自己的数据库。

安装Sonar Scanner

SonarQube平台搭建完成后,需要安装Sonar Scanner以及创建项目。可以从以下官方提供的Scanner中挑选满足需要的进行安装。

  1. 点击下载MacOS安装包


    image.png
  2. 下载完成之后解压,修改配置文件conf/sonar-scanner.properties,将sonar.host.url指向我们刚刚搭建的本地SonarQube平台http://localhost:9000

    image.png
  3. 将sonar-scanner/bin加入$PATH


    image.png
  4. 执行sonar-scanner -h可以验证我们已经成功安装了Sonar Scanner

    image.png

静态代码扫描

在进行静态代码扫描之前需要对项目进行配置,在项目目录下创建sonar-project.properties文件,以我这里分析的Golang项目为例

# must be unique in a given SonarQube instance
sonar.projectKey=play-golang

# --- optional properties ---

# defaults to project key
sonar.projectName=play-golang
# defaults to 'not provided'
sonar.projectVersion=1.0

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

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

完成之后在项目根目录下执行sonar-scanner进行静态代码分析,扫描结束后可以在SonarQube查看扫描结果。

image.png

参考:

https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
https://docs.sonarqube.org/latest/analysis/overview/
https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/

相关文章

  • 使用Sonar分析Golang代码

    为了保证项目代码质量,需要控制每个Pull Request的代码单元测试覆盖率。翻看了Sonar文档,发现Sona...

  • DevOps之集成Sonar Qube

    集成Sonar Qube 1、 Sonar Qube介绍 Sonar Qube是一个开源的代码分析平台,支持Jav...

  • 执行sonar-scanner时,报错JRE fatal err

    现象 在执行sonar-scanner进行代码扫描时,报JRE fatal error。 分析 sonar-sca...

  • sonarqube

    sonarqube 基于本地服务和mvn命令进行的代码分析,并将分析结果推送到sonar服务器中 sonar用于进...

  • 了解sonarqube

    一、sonar简介 sonar是一款静态代码质量分析工具,支持Java、Python、PHP、JavaScript...

  • SonarQube

    简介 Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具...

  • 使用 Sonar 进行代码质量管理

    Sonar 是一个开源的代码质量管理平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续...

  • sonar获取taskid

    先简单介绍一下sonar扫描的背景,sonar分为客户端sonar-scanner和服务端,客户端扫描代码并分析,...

  • 初识Sonar——代码质量管理平台

    Sonar介绍 Sonar是一个用于代码质量管理的开放平台。 通过插件机制,可以集成不同的测试工具、代码分析工具等...

  • 使用sonar检测代码

    springboot中使用sonar检测代码 org.sonarsource.scanner...

网友评论

      本文标题:使用Sonar分析Golang代码

      本文链接:https://www.haomeiwen.com/subject/rabwoctx.html