SonarQube-代码质量平台实践
SonarQube 插件
- ✅官网: http://sonarqube.org
- ✅中文插件: https://github.com/xuhuisheng/sonar-l10n-zh/tree/master
1.1 SonarQube 简介
SonarQube®是一种自动代码审查工具,可检测代码中的错误,漏洞和代码味道。它可以与您现有的工作流程集成,以实现跨项目分支和拉取请求的持续代码检查。
开发人员在IDE开发代码,可以安装SonarLint插件进行提交前代码扫描 当开发人员提交代码到版本控制系统中,自动触发jenkins进行代码扫描。
代码扫描过程
- 开发人员: IDEA写代码 (SonarLnt插件本地自己扫描) - 提交代码: Gitlab,SVN,Bitbucket 版本控制系统 - 提交流水线: CI Server (Jenkins/GitlabCI)(Build,UniTest,Sonar) - 扫描成功: - 扫描失败: 邮件通知提交人 - 扫描报告
SonarQube组成
- Server - Client(scanner扫描仪) - rules (plugins java go python )不同语言不同插件 - db (data) mysql(不支持),pg,oracle
1.2 SonarQube平台安装配置
1.2.1 组件与服务组成
- SonarQube Server启动3个主要进程:
- Web服务器,供开发人员,管理人员浏览高质量的快照并配置SonarQube实例
- 基于Elasticsearch的Search Server从UI进行搜索服务。
- Compute Engine服务器,负责处理代码分析报告并将其保存在SonarQube数据库中。
- SonarQube数据库要存储:SonarQube实例的配置(安全,插件设置等)项目,视图质量快照。
- 服务器上安装了多个SonarQube插件,可能包括语言,SCM,集成,身份验证和管理插件。
- 在持续集成服务器上运行一个或多个SonarScanner,以分析项目。
1.2.2 安装配置
- Java (Oracle JRE 11 or OpenJDK 11)
下面是基于Docker的方式安装部署SonaQube
## 创建数据目录 [root@jeekins ~]# mkdir -p /data/sonarqube8.9.2/{sonarqube_conf,sonarqube_extensions,sonarqube_logs,sonarqube_data} chmod 777 -R /data/sonarqube8.9.2/ ## 运行 docker run -itd --name sonarqube \ -p 9000:9000 \ -v /data/sonarqube8.9.2/sonarqube_conf:/opt/sonarqube/conf \ -v /data/sonarqube8.9.2/sonarqube_extensions:/opt/sonarqube/extensions \ -v /data/sonarqube8.9.2/sonarqube_logs:/opt/sonarqube/logs \ -v /data/sonarqube8.9.2/sonarqube_data:/opt/sonarqube/data \ sonarqube:8.9.2-community ## 验证 docker logs -f sonarqube ## lib目录(低于SonarQube8.9.1可以配置持久化,以支持多分支插件。) mkdir -p /data/cicd/sonarqube/sonarqube_lib cd /data/cicd/sonarqube/sonarqube_lib docker cp sonarqube:/opt/sonarqube/lib/* ./ docker run -itd --name sonarqube \ -p 9000:9000 \ -v /data/cicd2/sonarqube/sonarqube_conf:/opt/sonarqube/conf \ -v /data/cicd2/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \ -v /data/cicd2/sonarqube/sonarqube_logs:/opt/sonarqube/logs \ -v /data/cicd2/sonarqube/sonarqube_data:/opt/sonarqube/data \ -v /data/cicd2/sonarqube/sonarqube_lib:/opt/sonarqube/lib \ sonarqube:8.9.1-community
访问: http://192.168.1.110:9000/ admin admin
1.2.3 安装中文插件
在线安装或者手动上传插件
在线安装:操作如下图
在容器里默认的插件安装目录为 /opt/sonarqube
1.2.4 手动安装插件
继续阅读

我的微信
这是我的微信扫一扫
评论