sonarqube SonarGo 搭建和golang代码检视的使用教程

先说下代码检视的好处

  • 让开发人员得到成长
  • 将代码质量提升形成可量化的数据
  • 提前发现bug节约成本

sonarqube docker搭建方法

本文介绍的搭建方法是使用docker的形式搭建,简单易学

1.拉取镜像,默认都是从 DockerHub 拉取
  • docker pull postgres 拉取数据库
  • docker pull docker.io/lu566/sonarqube-zh:7.7 拉取sonarqube中文版
2.启动镜像
  • 启动 postgres
docker run --name db -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
  • 启动 sonarqube 中文版
docker run --name sq --link db -e SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar -p 9000:9000 -d docker.io/lu566/sonarqube-zh:7.7

至此环境已搭建完毕

使用

浏览器访问 http://localhost:9000 用admin/admin 登录

image.png

golang配置与使用

使用参考:https://docs.sonarqube.org/display/PLUG/SonarGo

1.在sonarqube页面上新建项目,如图创建完项目后按照图示红色框内先下载扫描工具,再复制扫描命令


image.png

2.在待扫描的项目根目录下创建文件 sonar-project.properties,文件内容如下:
简单:

sonar.sources=.
sonar.exclusions=**/*_test.go,**/vendor/**

sonar.language=go
sonar.tests=.
sonar.test.inclusions=**/*_test.go
sonar.test.exclusions=**/vendor/**

复杂:

sonar.host.url=http://172.31.16.127:9000
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
sonar.projectKey=uchains
sonar.projectName=uchains
sonar.projectVersion=1.0
sonar.golint.reportPath=report.xml
sonar.coverage.reportPath=coverage.xml
sonar.coverage.dtdVerification=false
sonar.test.reportPath=test.xml
sonar.sources=./
sonar.sources.inclusions=**    /**    .go
sonar.sources.exclusions=**    /**    _test.go,**    /vendor/   *   .com/   ** ,**  /vendor/*  .org/**   ,**   /vendor/**
sonar.tests=./
sonar.test.inclusions=**   /**   _test.go
sonar.test.exclusions=**  /vendor/*  .com/**  ,**  /vendor/* .org/**  ,** /vendor/**

3.在项目目录下执行复制的命令

sonar-scanner \
  -Dsonar.projectKey=demo \
  -Dsonar.sources=. \
  -Dsonar.host.url=http://172.31.16.127:9000 \
  -Dsonar.login=a931bfa90418d4b4bceec6b4714426e619263304

执行效果图(只截图了结尾部分):


image.png

如上所示,成功后登录sonarqube页面就能看到如下分析概览,可以点进去查看详细


image.png

//如遇到问题欢迎留言

你可能感兴趣的:(sonarqube SonarGo 搭建和golang代码检视的使用教程)