Bytebase 提供了多种 SQL 审核模式以应对不同开发团队的工作习惯,在看 Bytebase SQL 审核七十二变中,我们提到 Bytebase 支持用户在数据库变更脚本文件合并入仓库前,自动触发 SQL 审核。
本文将手把手带你操作如何将 SQL 审核无缝集成到 GitHub 和 GitLab 的 CI/CD 流中。
本文以 GitLab 为例,GitHub 方式类似。
操作步骤
事先准备
开启 Bytebase 团队版(从 v1.8.0 开始,你可以直接开启 14 天的团队版免费试用)。
为你的 Bytebase workspace 和项目开启 VCS 工作流:https://www.bytebase.com/docs/vcs-integration/overview。
Step 1. 配置 SQL 审核 CI
在 Bytebase Console 中开启 VCS 工作流后,在项目中版本控制下,勾选基于 GitLab CI 开启 SQL 审核。
点击更新,Bytebase 将在你的 GitLab 仓库中创建一个合并请求(MR)来设置 SQL 审核的 CI。
你会被重新定向到 GitLab 仓库,可以看到已经生成了一个 MR(比如 chore: setup SQL review CI for Bytebase),请审核并合并此 MR,以完成 SQL 审核 CI 的设置。
Step 2. 通过 CI 进行 SQL 审核
设置完成后,在每个 GitLab 的 MR 中,SQL 审核策略将自动检查与含有 SQL 脚本文件的 MR。
下图为 SQL 审核详情页面,可以看到审核的结果。
类似地,在 GitHub 仓库中,SQL 审核策略会通过 GitHub Actions 检查与文件路径模板相匹配的变更文件。
可以参考此文档来创建和配置你的 SQL 审核策略:https://www.bytebase.com/docs/sql-review/review-rules/create-schema-review-policy。
总结
通过 Bytebase,你可以一键安装 SQL 审核 CI,系统将会对提交到 GitHub 和 GitLab 仓库的数据库变更脚本进行自动审核。
此外,对于 GitHub,Bytebase 还支持用户通过以下方式集成 SQL 审核:
GitHub App:完全无代码化。
GitHub Action:需要用户写简单的 YAML 文件,可以参考 Database CI/CD with GitHub 教程系列完成配置。
具体操作步骤详见文档:https://www.bytebase.com/docs/sql-review/sql-advisor/overview
Bytebase 助力 TiDB Workshop Day @上海