代码质量检测神器——SonarQube
SonarQube是一款代码检测工具,支持对Java、C#、、Python、Go、Html、JavaScript、CSS等代码的质量检测。
因为SonarQube依赖数据库,可以用MySQL或PostgreSQL。SonarQube7.9以上版本不再支持MySQL,所以这里用PostgreSQL。
1、安装PostgreSQL
(1)拉取PostgreSQL镜像
docker pull postgres:11
(2)创建PostgreSQL挂载目录
mkdir -p /usr/local/postgresql/postgresql
mkdir -p /usr/local/postgresql/data
(3)启动PostgreSQL
docker run -d --name postgres -p 5432:5432 -v /usr/local/postgresql/postgresql:/var/lib/postgresql -v /usr/local/postgresql/data:/var/lib/postgresql/data -v /etc/localtime:/etc/localtime:ro -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRES_DB=sonar -e TZ=Asia/Shanghai --restart always --privileged=true postgres:11
2、安装SonarQube
(1)拉取SonarQube镜像
docker pull sonarqube:8.9.2-community
(2)创建SonarQube挂载目录
mkdir -p /usr/local/sonarqube/extensions
mkdir -p /usr/local/sonarqube/logs
mkdir -p /usr/local/sonarqube/data
(3)启动SonarQube,同时连接数据库(PostgreSQL容器实例)
docker run -d --name sonarqube -p 9000:9000 --link postgres -v /usr/local/sonarqube/extensions:/opt/sonarqube/extensions -v /usr/local/sonarqube/logs:/opt/sonarqube/logs -v /usr/local/sonarqube/data:/opt/sonarqube/data -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar --restart always --privileged=true sonarqube:8.9.2-community
(4)访问SonarQube
SonarQube访问地址为http://宿主机ip:9000
,初次访问SonarQube,速度比较慢(初次启动需要初始化数据库),需要耐心等待下。
可以通过docker logs sonarqube
查看SonarQube是否启动
打开后就是登录页面,默认用户名密码为admin/admin,初次登录需要重置密码。刚开始SonarQube的项目(projects)栏目是空的,需要新增项目或者主动检测项目后才会出现项目列表。
(5)汉化
SonarQube默认是英文版,需要汉化的可以在 https://github.com/xuhuisheng/sonar-l10n-zh/tags 下载对应版本汉化包(.jar文件),放到SonarQube挂载目录/usr/local/sonarqube/extensions/plugins中,重启SonarQube实例即可
3、用SonarQube检测Maven项目
(1)在maven的conf/settings.xml中添加配置
<profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><!-- SonarQube登录用户名 --><sonar.login>admin</sonar.login><!-- SonarQube登录密码 --><sonar.password>Wy0RCBI2ts</sonar.password><!-- SonarQube访问地址 --><sonar.host.url>http://10.246.131.47:9000</sonar.host.url><!-- 代码分析包括哪些文件需要分析,英文逗号分隔 --><sonar.inclusions>**/*.java,**/*.xml</sonar.inclusions></properties></profile><activeProfiles><activeProfile>sonar</activeProfile></activeProfiles>
(2)在需要检测的maven项目跟目录下执行mvn sonar:sonar
,执行完再返回到SonarQube管理台,会发现出现了一个新项目及其检测结果的快照:
点进项目,就可以查看具体的Bug、漏洞、安全点、坏味道等检测结果及具体代码了:
代码质量检测神器——SonarQube相关推荐
- 代码质量检测-SonarQube
文章目录 前言 一.SonarQube是什么? 二.SonarQube安装步骤 1.docker安装 2.docker-compose安装 3. 访问SonarQube 4. 配置SonarQube ...
- 代码质量检测平台架构设计
「前言」 你是否清楚的了解自己的项目有多少个文件夹.多少个文件.多少行代码.多少个函数.多少个字符数? 你是否在项目中引入过代码质量检测相关的工具? 你是否在不同项目的切换中饱受indent=2还是i ...
- 皕杰报表之小程序代码质量检测
最近在被云开发免费的份额,由于一些原因把小程序开发工具升级到了最新版本,新版本上传需要代码质量检测. 一.主包 其中按照官方说明需要提前知道的可优化项: 1. 代码包不包含插件大小超过 1.5 M [ ...
- Gitlab集成阿里巴巴P3C-PMD代码质量检测插件
1. 获取P3C-PMD (1) 下载源码 源码地址:https://github.com/alibaba/p3c p3c-pmd-2.1.1-jar.zip: https://pan.baidu.c ...
- java检测工具_常用Java代码质量检测评估工具
常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...
- 【IDEA】代码质量检测工具 QAPLug
[IDEA]代码质量检测工具 QAPLug 代码质量检测工具 情景: 写完代码一定要别人review才发现bug或不好的语法或多余的变量是一件多么尴尬的事情,如果想在写代码时或者写代码后自己能发现问题 ...
- python代码检测工具及区别_flake8-python代码质量检测工具
flake8是python代码质量检测工具. 描述 flake8是一个命令行实用程序,用于在整个Python项目中加强样式的一致性. 默认情况下,它包括PyFlakes项目提供的lint检查,PyCo ...
- 代码质量检测(jacoco pmd pipeline)
代码质量检测 一.静态代码分析 静态代码分析是指在不运行程序的前提下,对源代码进行分析或检查,范围包括代码风格.可能出现的空指针.代码块大小.重复的代码等. pipeline中,静态代码分析通常被安排 ...
- Docker运行sonarqube (代码质量检测平台)
onarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 l ...
最新文章
- windows计算器
- Arch Linux 安装 Xerox Phaser 3125N 网络打印机备忘录
- 【新手教程】如何向App Store提交应用
- Linux 查看进程和删除进程
- Canvas2~茜色的调色盘可奈线12月2日剧情翻译
- 2021 年,Java 开发者值得学习的 13 项技能
- 谷歌身份认证 Python实现
- Google TakeOut图片下载器
- (转)那些年,被自己的技术者思维虐过的项目经理们
- python实现mysql的读写分离及负载均衡
- netty实现 http 长连接
- 人力资源管理专业知识与实务(初级)【6】
- Oracle获取拼音简码
- Matlab代码区出现中文乱码的情况
- Shadowify(PS投影插件)v1.0版本更新
- 商汤科技2018校招C /算法笔试题
- 计算机计算统计学fx991,A-level最受欢迎的计算器FX991,这样用才最高效!
- matlab美白磨皮源代码,PS人物美白磨皮动作及脚本Delicious Skin 2.0 (含视频教程)
- 基于优先数系选择分压电阻
- 大学生创业交流会计算机二级,我校举行第七届中国国际“互联网+”大学生创新创业大赛交流研讨会...