SQLE+GitLab-Runner 快速实现 SQL 自动审核
介绍
随着 Devops 概念的普及,越来越多的事情都在往自动化方向发展。目前 Devops 可以使用的各类工具非常丰富,包括打包工具 Maven,代码扫描工具 Sonar,部署工具 Docker 等。本文将介绍一个新的可以集成到 Devops 工具链中的应用 SQLE,这个工具弥补了 Devops 中对 SQL 的合规性审核功能。
1.1 基础环境介绍
工具类型 | 工具名称 |
---|---|
操作系统 | CentOS |
代码仓库 | GitLab |
Devops工具 | GitLab-Runner |
SQL 审核工具 | SQLE |
1.2 预期效果
在代码提交时自动触发 SQL 的审核任务,并将扫描结果上传。
安装配置
2.1 各工具安装方式
本次主要目的不在各种环境的安装,建议参考以下各官方文档进行安装。
- GitLab:https://gitlab.cn/install/
- GitLab-Runner:https://docs.gitlab.com/runner/install/
- SQLE:https://actiontech.github.io/sqle-docs/docs/quick-usage
2.2 SQLE 中创建扫描任务
创建完成后我们可以看到这个任务,复制一下里面的访问凭证,后续需要使用这个访问凭证配置我们的 CI/CD,之后我们的扫描结果将会可以在这个任务中查看。
2.3 自动化配置
2.3.1 配置文件
首先需要在项目中,创建一个 .gitliab-ci
文件。这个文件是 Git 触发 GitLab-Runner 的入口,所有流水线任务均在此文件配置。
stages: - sqle # SQLE 执行扫描 master-deploy: image: ubuntu:20.04-ssh stage: sqle before_script: - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts script: - scp -r ../rbac centos@IP:/opt/code/ - ssh centos@IP "cd /opt/code/ && scannerd mybatis -D /opt/code/rbac/src/main/resources/ -N auto --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcG4iOiJhdXRvIiwiZXhwIjoxNzI5ODQxODg3LCJpc3MiOiJhY3Rpb250ZWNoIGRtcyIsInVpZCI6IjcwMDIwMCJ9.XBVBlVPGFDp-Isu39pBKgVDpYkr_PKJ-KavbnIB55yI -P 10001" only: - master tags: - gitlab-runner
注意:替换 IP
2.3.2 配置简要说明
通过一个 ubuntu:20.04-ssh
容器,将代码上传到我们 SQLE 所在服务器,并执行 SQLE 扫描。
scannerd 是 SQLE 自带的扫描客户端,使用方法如下,其中的 Token 就是上一步中的访问凭证。
[root@sqle-server bin]# ./scannerd mybatis --help Parse MyBatis XML file Usage: SQLE mybatis [flags] Flags: -D, --dir string xml directory -h, --help help for mybatis -S, --skip-error-query skip the statement that the scanner failed to parse from within the xml file Global Flags: -H, --host string sqle host (default "127.0.0.1") -N, --name string audit plan name -P, --port string sqle port (default "10000") -A, --token string sqle token
- only:表示 GitLab 中的分支
- tag:表示 GitLab-Runner 的 tag
2.3.3 CI/CD 环境变量配置
CI/CD 执行过程中需要使用 scp
以及 ssh
传输文件调用扫描命令,我们需要给服务器配置证书登录。配置证书登录方式自行查找,这里就说一下在哪里添加变量。
2.3.2 完成
完成以上操作后,就可以在每次提交代码之后,看到对应的 SQL 扫描记录。可以根据扫描情况,确定是否通过审核,是否可以上线。
总结
SQLE 的出现为 Devops 工具链又出了一个很好的工具,避免了一些 SQL 上的性能问题,可以提前识别风险,改善风险,降低上线问题出现的概率。希望 SQLE 以后越来越好!
更多技术文章,请访问:https://opensource.actionsky.com/
关于 SQLE
SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。
SQLE 获取

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
开源日报:百度输入法在候选词区域植入广告;大神用 Excel 构建 CPU
欢迎阅读 OSCHINA 编辑部出品的开源日报,每天更新一期。 # 2024.1.29 今日要点 OpenSource Daily 贾扬清最新开源项目 —— 500 行代码构建的 AI 搜索工具 贾扬清前几天在社交平台介绍了自己开发的 AI 应用 Lepton Search —— 一个用 500 行 Python 代码构建的对话式 AI 搜索工具。Lepton Search 的后端是 Mixtral-8x7b 模型,托管在 LeptonAI,输出速度能达到每秒大约 200 个 token,搜索引擎采用了 Bing 的搜索 API。 目前 Lepton Search 已正式开源,包含完整前后端源代码,采用 Apache License,可商用。 大神只用 Excel 就构建了一颗 CPU:具有 128kb RAM、配备汇编语言 YouTube 科技博主「Inkbox」近日发布视频介绍如何在 Microsoft Excel 的限制下构建功能齐全 CPU。Inkbox 称没有使用任何 Visual Basic 脚本或插件 —— 完全用 Excel 实现。 据介绍,这是一颗 16 位 CPU,...
- 下一篇
探索图像检索:从理论到实战的应用
本文深入探讨了图像检索技术及其在主流APP中的应用,涵盖了特征提取、相似度计算、索引技术,以及在电商、社交媒体和云服务中的实际应用案例。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人 一、引言 在当今数字化时代,图像成为了最直观、最丰富的信息载体之一。从社交媒体到电子商务平台,从云存储服务到内容发现应用,图像内容无处不在,它们的快速增长与管理已成为当代科技领域的一大挑战。在这个背景下,图像检索技术的发展与应用变得尤为重要。图像检索,即通过特定图像或图像特征,在大型数据库中查找并获取相关图像的技术,已成为智能信息检索领域的核心组成部分。 与传统的文本检索相比,图像检索面临着更多的挑战。图像的高维特性和视觉内容的多样性使得从海量图像数据中快速准确地提取信息成为一项复杂任务。这不仅要求算法能够处理高维数据,还需要具备理解图像内容和上下文的能力。为应对这些挑战,近年来,深度学习技术在图像检索领域的应用迅速发展。尤其是卷积神经网...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19