部署 如何管理项目中的配置信息,环境变量 or 配置文件?

vode · February 28, 2015 · Last by yuki replied at February 28, 2015 · 2044 hits

最近正在整理项目的代码,和同事们对如何管理项目中的配置信息却产生了差异,在此抛砖引玉,也主要希望了解大家在自己的项目中是如何做的。我们的问题是这样的,我们有多个项目,而且多个项目往往共享很多相同的配置参数,像第三方服务的证书,一些服务的回调地址等,我们之前给每个项目都设了一个配置文件,将其放入版本管理之外,每次修改都要手动去更改,随着服务器数量和项目的增加,这对部署的复杂度是爆炸性的。

一位同事推荐让多个项目共享一个配置文件,以解决配置文件重复的问题,这个方法可行,但我更倾向于 12factor 的使用环境变量存储配置信息的办法,但就我们现有的实际情况,也包括我对环境变量的理解有限,我却不太清楚如何去操作。

首先,由于我们需要在多个项目中共享配置信息,但如果使用 dotenv 或是 figaro 的话只能配置临时变量,不能做到项目间的共享,我也可以将这些信息写在 .bashrc 中,这样的话配置信息颗粒度太细,也不利于更新和维护。

不知道大家是否有面对和我相近的问题,或者说在自己的项目中如何去实践的。

12 factor 的确是 best practices,不过也没有深入讲如何管理 environment variables。同问!

You need to Sign in before reply, if you don't have an account, please Sign up first.