【发布时间】:2026-01-30 04:55:01
【问题描述】:
您使用什么策略来避免在版本控制中存储密码?
目前,我将开发/测试/生产密码保存在三个不同的文件中,并在部署期间使用相应的文件。所有这一切都致力于版本控制,但我对此不太满意,因为并非所有开发人员都需要知道这些密码(尤其是外包的,他们只有在项目持续时才能访问,可能只有一个月)。
在数据库中存储密码不是一个好的选择:
- 我在 Spring 上下文(Java 应用程序)初始化期间需要大部分数据,我不想为连接单个数据库构建脚手架,然后连接到其余数据库并初始化应用程序的其余部分
- 有些密码仅与部署相关;访问不同服务器、密钥库等的密码;这些是应用程序启动后无法加载的内容,因为它根本不加载它
我正在考虑将部署配置从开发人员机器转移到专用计算机,该计算机从版本控制中检查代码并运行构建/部署脚本,但我不确定什么是最好的方法。
我还需要说,我不想要最终的安全性:我只想避免在每个开发人员的磁盘上都设置密码并使其过于简单。
所以我想请教您的经验/最佳做法。你是怎么做到的?
【问题讨论】:
-
This Hacker News thread 非常适合这个话题。
标签: version-control deployment passwords password-protection