在持续集成中,如何管理生产环境的账号密码?

2019-03-11 18:32:14 +08:00
 melonux

大家都有共识吧,比如 mysql 的连接 user/password,肯定不能写在代码里。所以 git 仓库中就肯定不包含这些信息。 然后我要持续集成,把代码发布到测试环境、生产环境中运行。但持续集成就是基于 git 仓库的代码的,所以必定还要有额外的什么地方来保存 user/password。 我看有文章写,可以使用环境变量,在测试环境和生产环境预先设置好这些参数,让程序运行在配置好的环境中。 但这个挺隐式的,也不好管理。

我就想问问,正规的,无论大厂小厂,对这个事情都是怎么做的?有什么最佳实践?

2739 次点击
所在节点    Python
12 条回复
sigup
2019-03-11 18:37:54 +08:00
hadesy
2019-03-11 18:40:20 +08:00
melonux
2019-03-11 18:45:12 +08:00
@sigup 感谢,看起来挺给力的,我先研究研究
melonux
2019-03-11 18:46:01 +08:00
@hadesy 我比较排斥 k8s 的方案。我手头的服务没有那么的复杂,不想使用太重的工具。不过还是谢谢你。
tiedan
2019-03-11 18:52:06 +08:00
AWS Secrets Manager
raysonx
2019-03-11 18:58:49 +08:00
Jenkins credentials, Ansible Vault
Foxkeh
2019-03-12 07:53:11 +08:00
我做 Java 的,用 spring 配置中心加密和统一管理
Foxkeh
2019-03-12 07:53:49 +08:00
不好意思我没看到这是 py 区
cs8814336
2019-03-12 09:44:46 +08:00
我之前做过一个项目是把是数据库切分了好多个,然后账号密码很多, 配置在了 consul 里面, 应该跟 1 楼差不多一样的服务发现
37Y37
2019-03-12 09:48:45 +08:00
账号秘密加密写到代码里,这里有介绍
https://mp.weixin.qq.com/s/dpGqieL4WCmGdQh1AEG4Gw
melonux
2019-03-12 10:11:34 +08:00
@Foxkeh 没关系,这个主题并不限制语言,我就是想看看各种可能的方案
melonux
2019-03-12 10:19:21 +08:00
@37Y37 这是个挺不错的方案

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

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

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

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

© 2021 V2EX