有没有数据库 CICD 方面比较好的实践

2023-04-30 12:35:17 +08:00
 eephee

各位有没有使用 CICD 上面来管理不同环境数据库的经验呀?

目前在使用 GitLab CI 做了自动构建部署流水线,应用服务使用的 helm 来管理,数据库管理的话,前段时间用了一个开源的产品,但是其开源版本没法限制普通开发者接触生产数据库,所以还是想着自己拿小工具配合搭出一套流程来。

目前主要的想法是:

在迭代周期内,开发者会频繁提交修改 dev 环境的数据库变更脚本,上线的时候根据 commits 来将这些变更捡取到其他环境的数据库。同时期望这套流程也能够照顾到给同步客户的私有部署环境的数据库。

目前还没做,具体细节没全想到,主要想看看有没有更好的方案

2924 次点击
所在节点    DevOps
11 条回复
dayeye2006199
2023-04-30 13:37:55 +08:00
你需要一个带 migration 功能的 ORM 。
然后一切都会简单很多。
eephee
2023-04-30 13:42:25 +08:00
我们后端主要是好像没用 orm ,分了二十几个服务吧,都是裸写 SQL :laugh:
kd9yYw2RyhQwAwzn
2023-04-30 13:48:54 +08:00
可以试试 bytebase
eephee
2023-04-30 13:51:49 +08:00
@kd9yYw2RyhQwAwzn 嗯嗯,我说的开源产品就是 bytebase ,企业版使用过期之后我发现有一个核心问题:开源版本没法限制开发者访问生产数据库,所以才想着自己 DIY 一套流程的。
lishoujun
2023-04-30 15:32:07 +08:00
为什么不直接用他们的企业版本呢?
dreamramon
2023-04-30 15:34:21 +08:00
用的 flyway 很多年了,很方便。
thevita
2023-04-30 16:26:10 +08:00
看需求吧,如果你的 db 是支撑应用的,把 db 独立于代码管理更复杂吧?这种情况我也推荐用 flyway 这种方案,挺好的
eephee
2023-04-30 17:24:39 +08:00
好我去康康,感谢大佬们!
jsq2627
2023-04-30 21:51:24 +08:00
tianzhou
361 天前
Bytebase 现员工来答一个。如果是在 flyway 和 liquibase 里面挑的话,推荐用 flyway ,开发者体验更好。

不过 Bytebase 和他们不算是同一类型的产品,相当于 GitLab / GitHub 和 Git 之间的区别吧。也可以加入用户群,搜我们的公众号 bytebase 能找到。
eephee
360 天前
@tianzhou 感谢!老板威武,看好 bytebase!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/936566

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX