大家都有共识吧,比如 mysql 的连接 user/password,肯定不能写在代码里。所以 git 仓库中就肯定不包含这些信息。 然后我要持续集成,把代码发布到测试环境、生产环境中运行。但持续集成就是基于 git 仓库的代码的,所以必定还要有额外的什么地方来保存 user/password。 我看有文章写,可以使用环境变量,在测试环境和生产环境预先设置好这些参数,让程序运行在配置好的环境中。 但这个挺隐式的,也不好管理。
我就想问问,正规的,无论大厂小厂,对这个事情都是怎么做的?有什么最佳实践?
1 sigup 2019-03-11 18:37:54 +08:00 ![]() |
2 hadesy 2019-03-11 18:40:20 +08:00 |
![]() | 5 tiedan 2019-03-11 18:52:06 +08:00 AWS Secrets Manager |
![]() | 6 raysonx 2019-03-11 18:58:49 +08:00 via Android Jenkins credentials, Ansible Vault |
![]() | 7 Foxkeh 2019-03-12 07:53:11 +08:00 via Android 我做 Java 的,用 spring 配置中心加密和统一管理 |
![]() | 8 Foxkeh 2019-03-12 07:53:49 +08:00 via Android 不好意思我没看到这是 py 区 |
9 cs8814336 2019-03-12 09:44:46 +08:00 我之前做过一个项目是把是数据库切分了好多个,然后账号密码很多, 配置在了 consul 里面, 应该跟 1 楼差不多一样的服务发现 |
10 37Y37 2019-03-12 09:48:45 +08:00 ![]() 账号秘密加密写到代码里,这里有介绍 https://mp.weixin.qq.com/s/dpGqieL4WCmGdQh1AEG4Gw |