我正在写一篇关于十二因素应用程序的论文,我想知道你是否可以在这里帮助我。
十二因素应用程序的第三个因素状态:在环境中存储配置。(https://12factor.net/config)。根据页面,部署之间可能会有所不同的所有配置都应提取到环境变量中。
我想知道在创建例如 Rails 应用程序时如何在开发过程中应用。目前,我看到两种在我看来都不完美的方法。
- 将环境变量存储在.bashrc或.zshrc等文件中。我不知道如何使用这种方法管理测试和开发环境,因为两者都需要使用相同环境变量的特定配置。此外,在处理多个项目时,这会使 shell 充满变量,但它似乎符合十二因素应用程序方法。
- 使用像https://github.com/bkeepers/dotenv这样的工具,它使用作为项目一部分的文件来存储配置,因此与 Rails 框架已经提供的 secrets.yml 或 database.yml 没有太大区别并且不完全符合十二因素应用程序的想法(仍然可以不小心检查到代码库中,并且大部分与语言无关)
我的观点正确吗?我想知道是否有任何最佳实践来解决这个问题。
谢谢!