前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL审核 | 如何使用 SQLE 进行开发阶段 SQL 审核

SQL审核 | 如何使用 SQLE 进行开发阶段 SQL 审核

作者头像
爱可生开源社区
发布2022-04-06 21:36:07
1.2K0
发布2022-04-06 21:36:07
举报

作者:孙健

孙健,爱可生研发工程师,负责 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 。

本文关键字:#SQLE# #SQL审核# #事前审核#

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 爱可生开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、 SQLE 介绍
  • 二、 功能介绍
  • 三、 效果演示
    • 1. 创建审核任务
      • 2. 在 jenkins 对应的任务上加一个构建流程
        • 3. 当 jenkins 任务触发时会进行SQL审核
          • 4. SQLE 页面查看结果
          • 四、总结
          相关产品与服务
          持续集成
          CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
          http://www.vxiaotou.com