本文以 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 教程系列完成配置。