各位有没有使用 CICD 上面来管理不同环境数据库的经验呀?
目前在使用 GitLab CI 做了自动构建部署流水线,应用服务使用的 helm 来管理,数据库管理的话,前段时间用了一个开源的产品,但是其开源版本没法限制普通开发者接触生产数据库,所以还是想着自己拿小工具配合搭出一套流程来。
目前主要的想法是:
新建一个独立的 sql 脚本仓库,存放所有环境(以分支区分或者以子文件夹区分)和所有服务的数据库变更脚本
开发者以 Merge Request 的形式提交改动数据库变更脚本,合并到特定分支之后通过 GitLab CI
Merge Request 的 Pipeline 立马执行一遍语法和风格检查(暂时还没找到这样的工具,各位有推荐吗)
在迭代周期内,开发者会频繁提交修改 dev 环境的数据库变更脚本,上线的时候根据 commits 来将这些变更捡取到其他环境的数据库。同时期望这套流程也能够照顾到给同步客户的私有部署环境的数据库。
目前还没做,具体细节没全想到,主要想看看有没有更好的方案
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.