专栏首页原创个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

平台架构

如下图所示,整个代码管理平台由,Analysers, Server , Database 组成。 当然,根据需求不同 SonarQube 也支持 Eclipse 等IDE的集成。

在这里我们主要介绍由   Analysers, Server , Database 组成的平台。

Server : 指的是SonarQube 服务器,提供代码管理与分析的源数据(例如,分析规则—Rules)和展示平台。

Database : 用来存储Server 的信息和Analyser的 分析数据。

Analysers: 准确来说,这里的Analysers 指的是由不同方式集成于项目,或独立的代码分析程序或插件。

例如,Analyser 可以集成在 Maven 里, Jenkins里 或者独立的 Sonar-Runner.

 TO 'sonar'@'%' IDENTIFIED BY 'sonar';

mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';

mysql> FLUSH PRIVILEGES;

安装 Sonar-Qube 服务器

下载最新版本的 Sonar-Qube , 解压缩到本地安装路径。

Sonar-Qube 提供非常简单有效的配置方式,本例中我们只需要修改位于 Conf 文件下的 sonar.properties 文件。

主要修改项目如下:

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:mysql://“数据库IP地址”:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

sonar.web.host=”sonar web 界面地址”

sonar.web.context=“sonar web 环境路径” 默认用 /

sonar.web.port=”sonar web 端口”

安装,配置Jenkins  SonarQube 插件

进入Jenkins 插件管理页面,安装SonarQube 插件。

安装完后,Jenkins 主要有SonarQube 和 Sonar-Runner 两个配置项。(默认SonarQube 登陆账户为admin , 密码为admin。)

Jenkins服务器安装Sonar-Runner 

下砸并解压Sonar-Runner 到本地安装路径,并配置Jenkins sonar-runner 指向安装路径

本地机 安装Sonar-Runner 

下载并解压Sonar-Runner 到本地安装路径,并添加本地环境变量为 sonar-runner-2.4/bin

本地机器必须修改位于sonar-runner-2.4/conf 文件夹下的sonar-runner.properties文件。(Jenkins 服务器可选,因为Jenkins 会缺省加载SonarQube的配置)。 主要配置项如下:

sonar.host.url=http://localhost:8100

sonar.jdbc.url=jdbc:mysql://”数据库IP地址”:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance (这里使用的是Mysql 数据库)

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.login=admin

sonar.password=admin

代码质量管理

配置完所有工具以后,就可以进入SonarQube 安装路径的bin 文件,并找与服务器操作系统想对应的文件夹。 然后运行 sonar start,来启动SonarQube 服务器。

代码分析配置: 

在Jenkins 里的配置如下图。具体配置项可参考http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Runner

本地运行Sonar-Runner 则需要在待分析的项目根目录里创建一个名为sonar-project.properties 的文件,然后添加 Analysis properties 的代码分析配置项。然后在命令行里进入到待分析项目根目录并执行 sonar-runner。

这样代码既可以通过Jenkins Job来监控代码库,也可以让程序员自己先检查然后在集成入主代码库。

代码分析执行完后,根据SonarQube里web 选项中所配置的信息,登陆查看分析结果。

默认地址为 localhost:9000。 具体分析结果如下图:

总结

当模块之间的联系越来越复杂,代码质量管理也面临越来越多的困难,SonarQube 代码质量管理系统给个推解决了很大的难题,这套解决方案帮助个推更好的进行产品迭代和优化,由此个推也能给广大开发者们提供更优质的推送技术服务!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

    平台架构 如下图所示,整个代码管理平台由,Analysers, Server , Database 组成。 当然,根据需求不同 SonarQube 也支持 Ec...

    个推君
  • 【ArchSummit干货分享】个推大数据金融风控算法实践

    众所周知,金融是数据化程度最高的行业之一,也是人工智能和大数据技术重要的应用领域。随着大数据收集、存储、分析和模型技术日益成熟,大数据技术逐渐应用到金融风控的各...

    个推君
  • 安卓推送技术手册——使用透传消息的正确姿势

    目前的消息推送方式主要有两种:通知和透传。 什么是透传?透传即是透明传送,即传送网络无论传输业务如何,只负责将需要传送的业务传送到目的节点,同时保证传输的质量即...

    个推君
  • 项目有BUG?代码审查没做好?没关系!SonarQube详细使用教程

    现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

    互扯程序
  • SonarQube部署及代码质量扫描入门教程

    参考:https://ken.io/note/centos-mysql57-setup

    KenTalk
  • 个推如何管理亿级代码的质量?持续集成SonarQube 代码质量管理系统

    平台架构 如下图所示,整个代码管理平台由,Analysers, Server , Database 组成。 当然,根据需求不同 SonarQube 也支持 Ec...

    个推君
  • Mac上sonar插件的安装及使用

      sonqube下载地址:http://www.sonarqube.org/downloads/

    用户7798898
  • sonarQube

    SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C...

    一滴水的眼泪
  • sonar+Jenkins 构建代码质量自动化分析平台

    Sonar 是一个用于管理代码质量的开源工具,可以分析代码中的bug和漏洞以及Code Smells,支持20多种编程语言的检测,如java,c/c++,pyt...

    民工哥
  • 配置sonarqube+maven

     Maven与Sonar配合使用       准备工作:下载sonarqube源码即可  步骤: 1)、安装sonar           解压,启动sonar...

    庞小明

扫码关注云+社区

领取腾讯云代金券