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相关推荐

  1. 代码质量检测-SonarQube

    文章目录 前言 一.SonarQube是什么? 二.SonarQube安装步骤 1.docker安装 2.docker-compose安装 3. 访问SonarQube 4. 配置SonarQube ...

  2. 代码质量检测平台架构设计

    「前言」 你是否清楚的了解自己的项目有多少个文件夹.多少个文件.多少行代码.多少个函数.多少个字符数? 你是否在项目中引入过代码质量检测相关的工具? 你是否在不同项目的切换中饱受indent=2还是i ...

  3. 皕杰报表之小程序代码质量检测

    最近在被云开发免费的份额,由于一些原因把小程序开发工具升级到了最新版本,新版本上传需要代码质量检测. 一.主包 其中按照官方说明需要提前知道的可优化项: 1. 代码包不包含插件大小超过 1.5 M [ ...

  4. Gitlab集成阿里巴巴P3C-PMD代码质量检测插件

    1. 获取P3C-PMD (1) 下载源码 源码地址:https://github.com/alibaba/p3c p3c-pmd-2.1.1-jar.zip: https://pan.baidu.c ...

  5. java检测工具_常用Java代码质量检测评估工具

    常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...

  6. 【IDEA】代码质量检测工具 QAPLug

    [IDEA]代码质量检测工具 QAPLug 代码质量检测工具 情景: 写完代码一定要别人review才发现bug或不好的语法或多余的变量是一件多么尴尬的事情,如果想在写代码时或者写代码后自己能发现问题 ...

  7. python代码检测工具及区别_flake8-python代码质量检测工具

    flake8是python代码质量检测工具. 描述 flake8是一个命令行实用程序,用于在整个Python项目中加强样式的一致性. 默认情况下,它包括PyFlakes项目提供的lint检查,PyCo ...

  8. 代码质量检测(jacoco pmd pipeline)

    代码质量检测 一.静态代码分析 静态代码分析是指在不运行程序的前提下,对源代码进行分析或检查,范围包括代码风格.可能出现的空指针.代码块大小.重复的代码等. pipeline中,静态代码分析通常被安排 ...

  9. Docker运行sonarqube (代码质量检测平台)

    onarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 l ...

最新文章

  1. windows计算器
  2. Arch Linux 安装 Xerox Phaser 3125N 网络打印机备忘录
  3. 【新手教程】如何向App Store提交应用
  4. Linux 查看进程和删除进程
  5. Canvas2~茜色的调色盘可奈线12月2日剧情翻译
  6. 2021 年,Java 开发者值得学习的 13 项技能
  7. 谷歌身份认证 Python实现
  8. Google TakeOut图片下载器
  9. (转)那些年,被自己的技术者思维虐过的项目经理们
  10. python实现mysql的读写分离及负载均衡
  11. netty实现 http 长连接
  12. 人力资源管理专业知识与实务(初级)【6】
  13. Oracle获取拼音简码
  14. Matlab代码区出现中文乱码的情况
  15. Shadowify(PS投影插件)v1.0版本更新
  16. 商汤科技2018校招C /算法笔试题
  17. 计算机计算统计学fx991,A-level最受欢迎的计算器FX991,这样用才最高效!
  18. matlab美白磨皮源代码,PS人物美白磨皮动作及脚本Delicious Skin 2.0 (含视频教程)
  19. 基于优先数系选择分压电阻
  20. 大学生创业交流会计算机二级,我校举行第七届中国国际“互联网+”大学生创新创业大赛交流研讨会...

热门文章

  1. CentOS7离线安装perl5
  2. 零基础入门推荐系统(新闻推荐)
  3. ehcache(1)---简介
  4. app挂起token失效解决方案
  5. 源码管理工具VSN的安装与使用--eclipse
  6. VS code 的简单入门使用方法(汇总版本)
  7. LeetCode1109-航班预订统计
  8. 使用 amMap 轻松添加互动效果的 JavaScript 地图
  9. 极路由3 刷 OpenWrt 教程
  10. C语言程序——stdlib库的函数应用(100以内两个随机数求和)