作者:孙健

孙健,爱可生研发工程师,负责 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/sqle-docs-cn/3.modules/3.6_auditplan/scanner_management.html 。

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/sqle ;

更多使用场景可以参考:https://actiontech.github.io/sqle-docs-cn/3.modules/3.6_auditplan/introduction.html 。

SQL审核 | 如何使用 SQLE 进行开发阶段 SQL审核相关推荐

  1. SQL Server 查询处理中的各个阶段(SQL执行顺序)

    http://www.cnblogs.com/chinabc/articles/1597198.html SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处 ...

  2. SQL Server 查询处理中的各个阶段

    SQL Server 查询处理中的各个阶段 SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管 ...

  3. sql重命名数据库_为什么要为SQL单元测试巧妙地命名数据库对象

    sql重命名数据库 This article is focussed on clever database object naming from both development and SQL un ...

  4. 基于百度AI的内容审核平台+Jsoup网络爬虫开发的一个自动审核小说程序(以纵横中文网为例)

    这个程序是我的毕业设计所设计的一个程序,由于时间原因,可能有些地方或者细节没有考虑清楚,请各位多多包涵 最后的源代码工程我已经上传,有需要的可以自取,希望可以帮助到大家 程序简介 此程序使用Java语 ...

  5. 【笔记】开发项目验收审核总结

    项目审核经验总结 审核种类 1.代码审核 2.接口文档审核 3.数据库工具.数据字典审核 4.服务器性能审核 5.项目总体架构设计 总结 审核种类 1.代码审核 1.审核代码质量,写法是否规范(命名规 ...

  6. 软件测试整理一:测试基础知识以及开发、测试模型、按照开发阶段进行测试

    文章目录 一.基础概念 1.什么是软件测试 2.软件测试的目的 3.软件测试的原则 4.软件测试的分类 4.1 按照开发阶段分类 4.2 按照软件特性分类 4.3 按照测试技术分类 4.4 按照测试运 ...

  7. 视频教程-python项目之学员CRM管理系统开发阶段二-Python

    python项目之学员CRM管理系统开发阶段二 TriAquae开源运维软件创始人,混迹IT运维领域多年,曾就职于松下.国政通.飞信.中金.NOKIA等公司,维护过少至几十台,多至数万台设备的IT系统 ...

  8. python项目之学员CRM管理系统开发阶段二-李杰-专题视频课程

    python项目之学员CRM管理系统开发阶段二-3394人已学习 课程介绍         面向初级开发一套含有角色,权限,内容为一体的学员管理,抛弃传统的每个页面繁琐的增删改查,开发公共组件,使得开 ...

  9. 获取oracle数据库war报告,Oracle 数据库开发及SQL基础实战

    Oracle 数据库开发及SQL基础实战 一.数据库基础 主键(Primary Key): 1.某一列或某些列的组合,构成一个主键,在这张二维表里,主键必须不重复.用于在这些行之间进行唯一的区别. 2 ...

  10. 软件开发环境-按开发阶段分类

    按开发阶段分类,有前端开发环境(支持系统规划.分析.设计等阶段的活动).后端开发环境(支持编程.测试等阶段的活动).软件维护环境和逆向工程环境等.此类环境往往可通过对功能较全的环境进行剪裁而得到.软件 ...

最新文章

  1. Fluent NHibernate之旅
  2. Exchange管理之:使用Telnet发送邮件
  3. 【Elasticsearch】Elasticsearch如何物理删除给定期限的历史数据?
  4. spring基于注解的 IOC 配置ioc实现crud
  5. JDBC10 Blob二进制对象
  6. Unity3D研究院之2D游戏开发制作原理(二十一) 【转】
  7. eclipse下彻底删除SVN插件
  8. Ubuntu桌面远程工具
  9. 微软雅黑字体包替换XP的宋体
  10. android屏幕刷新显示机制 前肩 后肩的解释
  11. iphone控制中心自定义没有计算机,如何在iPhone上自定义iOS 11控制中心功能
  12. 旭凤锦覓虐心 恋只愿共赴鸿蒙,香蜜:锦觅与旭凤4次同床,1次酒醉灵修,1次再续前缘,1次虐心!...
  13. 面向对象进阶 三大特性
  14. PHP3d地球,Photoshop制作真实3D立体地球
  15. 7-20 打印九九口诀表(分数 15)
  16. C#编程,输入里程数和耗油量,计算每升的里程数,程序中使用异常处理器,当输入的里程数或耗油量无法转换成double值时处理FormatException。
  17. 如何在Unity上开发Nintendo(任天堂)Switch平台游戏时让游戏patch包大小尽量小
  18. 小学语文三年级阅读理解专项练习附答案~寓言二则
  19. 【综述专栏】基于深度学习的深度图补全
  20. 解决win10服务主机:网络服务占用网络宽带的方法(自测有效)

热门文章

  1. 阿里巴巴Java开发手册(黄山版)正式亮相,新增11条规约
  2. Java web 部分参考手册(CHM)资源
  3. CGAL DEMO 演示
  4. PLSQL导入SQL文件
  5. Windows操作系统管理进程和线程:内核模式和用户模式
  6. delphi互联网消息服务器,Delphi2010中采用DataSnap的三层网络架构服务器获取客户端ip,端口信息...
  7. Win10系统定时开关机
  8. 清明节偷偷训练“熊猫烧香”,结果我的电脑为熊猫“献身了”!
  9. QTP10.0安装所遇问题-脚本调试器问题
  10. 冒险岛如何修改服务器wz,冒险岛怎么WZ修改攻击力说好了加100分