乐趣区

关于sql:SQL审核-如何使用-SQLE-进行开发阶段-SQL审核

作者:孙健

孙健,爱可生研发工程师,负责 SQLE 相干开发;

本文起源:原创投稿

* 爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。


一、SQLE 介绍

SQLE 是一款由爱可生开源社区发动,面向数据库开发与管理人员,实现了 SQL 的「开发」-「测试」-「上线」等全流程笼罩,资源与权限精细化治理,兼顾简洁与高效,易保护、易扩大的的开源我的项目,旨在为用户提供一套的安全可靠、自主可控的 SQL 品质管控计划。

二、性能介绍

SQLE 的开发阶段 SQL 审核次要是通过 SQLE 的性能审核工作来实现的,该功能定位是应答全场景 SQL 品质管控解决方案,可能在利用开发、测试、上线、生产等不同阶段对 SQL 进行品质管控。将 SQL 采集与 SQL 审核联合对数据库进行长期审核,目前反对 Mybatis 扫描,慢日志,库表元数据,TopSQL,应用程序 SQL 抓取(java 利用)的场景审核。利用开发阶段能够通过审核工作的 Mybatis 扫描类型的工作对利用代码做实时审核,Mybatis 扫描的审核工作须要通过 SQLE 提供的 Scanner 工具进行 SQL 采集并推送到 SQLE 进行 SQL 审核,以下是 SQLE 通过 Scanner 采集 SQL 的流程图:

目前开发阶段根本都是应用 CI/CD 平台进行继续集成,例如 Jenkins,GoCD,git 平台的 CI/CD 等,该阶段次要用来进行代码的查看,单测,打包。益处是标准化开发流程,缩小简单的工作量。因而在开发阶段也能够将 SQL 审核作为一个查看模块集成进 CI 流程。将 SQL 审核事宜前置到开发阶段可能缩小前期 SQL 审核的压力。目前应用 SQLE 的审核工作可能做到:

  1. SQLE 提供 Scanner 模式能够集成简直所有 CI/CD,配置简略,能够轻易集成进现有的开发流程;
  2. SQL 审核后果即时反馈,对于未通过的 SQL 审核,开发能够即时优化;
  3. 除了 CI 流程之外,也能够在 SQLE 界面进行 SQL 分类统计和审核报告查看。

三、成果演示

1. 创立审核工作

2. 在 jenkins 对应的工作上加一个构建流程

SQLE 的 Scanner 与 CI/CD 的集成形式是通过增加 bash 类型的工作,个别 CI/CD 都反对该形式。SQLE Scanner 实质上是一个二进制命令行工具,该工具集成在 SQLE 内,能够在 SQLE 平台装置目录的 bin 下找到,具体的应用形式和命令行参数解释参考:https://actiontech.github.io/…。

3. 当 jenkins 工作触发时会进行 SQL 审核

Jenkins 集成后进行 SQL 审核的成果如下两张图所示:


审核后果会立刻通过 Jenkins 的工作返回,当 SQL 不合规触发规定倡议,能够看到上图所示的构建失败的后果,此时 CI 流程会告诉开发,开发须要优化完不合规 SQL 后再次提交代码触发 CI 构建,如果 SQL 优化胜利则 SQL 审核会构建胜利。

4. SQLE 页面查看后果

开发负责人能够通过 SQLE 平台查看审核后果和 SQL 统计,提前理解目前我的项目中 SQL 的开发品质和碰到的问题。SQL 统计信息和审核后果如下两张图所示:


四、总结

以上最简略的 SQL 审核与 CI/CD 流程集成的试用,大家能够下载安装 SQLE 并联合本人公司 CI/CD 试一下,SQLE 的装置参考主页:https://github.com/actiontech…;

更多应用场景能够参考:https://actiontech.github.io/…。

退出移动版