虽然我的理解是使用环境变量在不同的部署环境中配置应用程序是最佳实践,但我不知道管理这些环境并在其中填充变量的好方法。
以下是我正在考虑的方法:
在我们用来运行我们的应用程序的 Upstart 脚本中填充它们。我们使用 Ansible 来配置我们的服务器,这些服务器当前通过静态 upstart 脚本进行复制,但是可以使用环境变量对其进行模板化。
相同的方法,但使用
/etc/environment
使用类似的东西
envdir
并再次使用 ansible 来填充文件。
另一个问题是在哪里存储值,我在想 redis,但我愿意接受建议。Ansible 有一个“Vault”,我还没有查看它可能是一个选项。
这些值是 API 密钥和数据库 url 之类的东西。
我真的只是想知道其他人使用什么方法。我愿意接受所有建议。