使用环境变量配置应用程序

时间:2014-03-03 11:07:04

标签: configuration environment-variables 12factor

12-Factor Apps建议你使用环境变量configure你的应用程序。到现在为止还挺好。我很容易想象,如果你需要设置一个连接字符串,这是一个很好的方法,例如

但是如果你有更复杂的配置有很多很多值呢?我肯定不想拥有50多个环境变量,是吗?

我怎么能解决这个问题,仍然符合12-Factor Apps的想法?

1 个答案:

答案 0 :(得分:0)

通过快速阅读您提供的configure链接,我同意作者声称存在广泛存在的问题,但我不相信他们提出的解决方案总是最好的。和你一样,我不喜欢定义几十个环境变量来配置应用程序。所以这里有一些替代的想法。

首先,阅读Chapter 2 of the Config4* Getting Started Guide(免责声明:我是该软件的主要作者)。特别要注意的是,它支持我所谓的自适应配置可以大大有助于解决您所关注的问题。 Config4 *是终极解决方案吗?可能不是,但我认为这是朝着正确方向迈出的一大步。

其次,您正在开发/维护的任何应用程序已经确定了特定的配置技术(例如XML文件或Java属性文件),并且迁移到使用Config4 *是不可行的。这引出了一个问题:当你有多个环境(如dev,UAT,staging和production)部署应用程序时,你能做些什么来避免增加基于XML的配置文件?我已经概述了在另一个StackOverflow article中处理此问题的方法。