程序猿福音——sonarqube,代码质量检测一条龙服务,本文带你一探究竟
目的
- 借助sonar平台分析和管理项目代码质量
- sonar是一个用于代码质量管理的开放平台,sonar提供潜在bug、漏洞、代码重复率等指标,进而提升项目代码质量。
sonar-scanner 命令
- sonar-scanner作用是扫描项目代码并发送扫描结果到sonar平台
使用sonar-scanner的docker镜像可省去sonar-sanner命令所需环境搭建,更现代化:
$ docker pull kiwicom/sonar-scanner:4.3
$ cd 项目代码目录
$ docker run -it --user=root --net=host --rm --name sonar-scanner -v `pwd`:/usr/src kiwicom/sonar-scanner:4.3 sonar-scanner -X -Dsonar.projectKey=项目名称 \-Dsonar.sources=./gateway \-Dsonar.host.url=地址\-Dsonar.login=240b6e0e62XXXXXXXXX
- -it:交互形式执行
- –user=root:容器中使用root用户权限
- –net=host:容器使用宿主机网络环境
- –rm:容器执行完后即删除
- –name sonar-scanner:容器名称
- -v:当前项目目录挂载到容器/usr/src目录下
- -X:sonar-scanner命令参数,能打印出有用info信息
gitlab-ci中集成sonar-scanner命令
.gitlab-ci.yml文件中的内容:以JS语言为例,检测需要排除node_modules文件夹
stages:- lintlint_code:stage: lintimage:name: kiwicom/sonar-scanner:4.3allow_failure: trueonly:- mastervariables:SONAR_HOST_URL: 'http://sonar.某某.com/'SONAR_LOGIN: 'dcbc13e某某某'SONAR_PROJECTKEY: '项目名称某某'SONAR_SOURCES: './src'script:- sonar-scanner -X -Dsonar.projectKey=$SONAR_PROJECTKEY -Dsonar.sources=$SONAR_SOURCES -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN- sonar-scanner -X -Dsonar.projectKey=$SONAR_PROJECTKEY -Dsonar.sources=$SONAR_SOURCES -Dsonar.host.url=$SONAR_HOST_URL -Dsonar.login=$SONAR_LOGIN -Dsonar.exclusions='**/node_modules/**'
- only:指定stage分支执行本任务
- SONAR_HOST_URL:sonar平台
- SONAR_LOGIN:sonar平台登录凭证,sonar平台【我的账户->安全->生成令牌】
- SONAR_PROJECTKEY:项目名称
- SONAR_SOURCES:项目扫描路径
将代码推到远程分支,sonar开始检测代码质量
出现绿色的Job succeeded
表明已完成,可以去sonar平台看看检测结果了。
查看结果
emm…勉勉强强吧,这重复率还是有点高的哈,继续看看详细的结果
都不是什么大的bug哈,全是一些可以进行优化的代码片段
有一说一,sonarqube是真的很贴心了
它不仅能把问题点标出来,还能给你提供相应的解决办法。
评级可还行,能拿五好学生,顺利毕业了。
支持哪些语言
各路英雄好汉最关心的问题来了,本文的示例是基于JavaScript语言,那么sonarqube还能支持哪些编程语言的代码检测呢?
- Java
- Python
- JavaScript
- PHP
- TypeScript
- HTML
- Kotlin
- Go
- YAML
- CSS
- XML
- JSP
不仅如此,连各种语言对应的规则都有详细介绍
这一波,我的确被圈粉了。
继续探索去了~
程序猿福音——sonarqube,代码质量检测一条龙服务,本文带你一探究竟相关推荐
- Docker运行sonarqube (代码质量检测平台)
onarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 l ...
- Docker搭建SonarQube代码质量检测工具
SonarQube简介 SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量. 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/S ...
- 基于SonarQube代码质量检测
基于SonarQube代码质量管理 SonarQube是什么? 官网:https://www.sonarqube.org/ Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. S ...
- 皕杰报表之小程序代码质量检测
最近在被云开发免费的份额,由于一些原因把小程序开发工具升级到了最新版本,新版本上传需要代码质量检测. 一.主包 其中按照官方说明需要提前知道的可优化项: 1. 代码包不包含插件大小超过 1.5 M [ ...
- 代码质量检测-SonarQube
文章目录 前言 一.SonarQube是什么? 二.SonarQube安装步骤 1.docker安装 2.docker-compose安装 3. 访问SonarQube 4. 配置SonarQube ...
- Docker搭建SonarQube代码质量检查平台
SonarQube是一个用于持续检查代码质量的开源平台 Docker搭建SonarQube代码质量检查平台 快速开始 version: '3' services:mydb:image: postgre ...
- DevOps之持续集成SonarQube代码质量扫描
SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查工具结果直接显示在 Web ...
- 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统
2019独角兽企业重金招聘Python工程师标准>>> 平台架构 如下图所示,整个代码管理平台由,Analysers, Server , Database 组成. 当然,根据需求不同 ...
- java检测工具_常用Java代码质量检测评估工具
常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...
最新文章
- python 使用 redis expire属性设置访问时间间隔
- spring cloud集成 consul源码分析
- 【分享】(性能优化)思考数据列表中“特殊的列”
- 百度之星12月30号题目之维基解密
- 使用笛卡尔积 cross join解决傻傻的问题
- leetcode161. 相隔为 1 的编辑距离
- LeetCode 1554. 只有一个不同字符的字符串(枚举)
- 知道路程时间求加速度_人教版高中物理必修一重点知识点—加速度分析与讲解...
- linux的文件与目录,linux-文件与目录
- The Python Debugger Command
- win7系统不能加入工作组计算机,技术员教你解决win7系统工作组计算机无法访问的修复办法...
- 小乌龟解决反向线上代码冲突
- 【收集】个人认为比较实用的电脑工具软件(附带安装包下载)
- EXCEL 中数据分析常用统计方法介绍(一)
- 计算机无线网络计算机文件共享,两台电脑怎么用无线网络共享文件?
- java.lang.null_java.lang.nullpointerexception 怎么解决
- 懒虫读诗 (树形dp+分组背包)
- iOS开发实用技术之音频播放(QQ音乐)
- DVWA通过攻略之SQL注入
- Android短视频开发
热门文章
- 11月编程语言排行冠军揭晓,稳
- EEGLAB安装、EDF数据导入、EEG预处理(Matlab)
- HDMI各版本的区别
- python-requests请求超时解决方案
- springboot使用arthas-spring-boot-starter引入arthas方案
- 阿里图标库在旧有的iconfont中添加新的图标
- U盘插入Mac电脑无反应什么原因?用NTFS for Mac解决简直人生开了挂!
- 《HTML入门笔记--HTML常用标签》
- 【MySQL】MyCat分库分表分片规则配置详解与实战(MySQL专栏启动)
- p设计一个Person类,属性有姓名、年龄、性别,创建方法personInfo,打印输出这个人的信息;创建Student类,继承Person类,属性有学院college,班级Group,重写父类Per