上线时需要将迭代期内的各种配置改动同步到生产环境,有没有好用的配置备忘录的工具?

2023-07-05 10:58:07 +08:00
 eephee

比如代码从开发环境提交到 staging 环境,那么对应的配置(比如 服务配置、环境变量、数据库改动、创建 s3 bucket...)也需要上到对应的环境,如果同时有多个环境,那么配置的管理就比较麻烦,很容易遗漏,有什么好用的工具来做这个事情吗?

关于数据库改动,有 yearning 或者 bytebase 这样的工具,但是这俩工具只针对数据库的场景

3387 次点击
所在节点    DevOps
33 条回复
arischow
2023-07-05 19:32:22 +08:00
@eephee 关于密码管理的实践有很多,我也只是略懂皮毛,我们现在用的是 AWS Secrets Manager ,其他云商应该也有对标产品。

如果想用代码管理也可以看看: https://github.com/getsops/sops
zhuzhibin
2023-07-05 22:41:44 +08:00
我们不论是项目还是需求都会编写上线清单,上线前按照上线清单以及上线计划执行
AngryPanda
2023-07-06 08:47:01 +08:00
@sunxiaping521 argo cd 应该是持续交付工具(根据官网),cd = continuous delivery
sunxiaping521
2023-07-06 08:47:40 +08:00
@eephee ArgoCD 是持续部署工具吧;逻辑其实很简单,ArgoCD 支持 kustomize 、基本的 yaml 方式以及 Helm 等方法,并且其实就是在 Git 仓库中维护了一个项目而已;当你用 CI 工具(持续集成工具,如:Jenkins ) 等将镜像构建并推送到 Docker 仓库(如:Harbor 仓库),然后更新 Git 仓库中的镜像版本即可,ArgoCD 默认会 3 分钟自动同步 Git 仓库中的配置到环境中;当然,你也可以手动同步;或者配置 Argo 和 Git 仓库的钩子,实现自动的持续部署。
sunxiaping521
2023-07-06 08:48:16 +08:00
sunxiaping521
2023-07-06 09:01:44 +08:00
@eephee @AngryPanda 我没办法发流程图的图片,aHR0cHM6Ly9pLmltZ3VyLmNvbS9xb0hiZDBsLnBuZw== 这个是 base64 编码,你解码,就能看到对应的图片地址了。
8355
2023-07-06 09:11:47 +08:00
我不是很理解这个东西需要什么特别的工具吗。。
难道不是你要习惯性的检查一下即将要上线的代码或者文档起码看一下 commit 的记录 应该也能想到需要加个配置吧。。。
eephee
2023-07-06 09:51:00 +08:00
@sunxiaping521
> 然后更新 Git 仓库中的镜像版本即可

这样的话那个 git 仓库里面是不是充斥了大量的改 docker image tag 得提交?主要是这点我不太喜欢
eephee
2023-07-06 09:51:47 +08:00
@8355 仓库太多了,我没有参与核心业务开发,所以看不过来🥺
sunxiaping521
2023-07-06 09:55:20 +08:00
@eephee 随你~
eephee
2023-07-26 15:26:04 +08:00
@sunxiaping521 请教一下你们也是微服务吗?能不能分享一下你们的那个存储 charts 的 git 仓库的结构呢?
eephee
2023-08-07 22:40:46 +08:00
最终走了

* helm/helmfile/helm-secrets/sops
* gitlab-ci/yq

的路线,只不过是用 `helmfile template` 生成 k8s manifest 最后 `kubectl apply` 的
eephee
2023-08-26 14:19:38 +08:00
最终还是弃用了 helmfile ,直接将 charts 包放在中各个仓库下面,结合 gitlab-ci ,目前用下来感觉很不错,打算长期这样使用

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

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

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

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

© 2021 V2EX