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

Configuration 使用环境变量配置应用程序,configuration,environment-variables,12factor,Configuration,Environment Variables,12factor,建议您使用环境变量创建应用程序。到目前为止,一切顺利。我可以很容易地想象,如果你需要设置一个连接字符串,这是一个很好的方法 但是,如果你有一个更复杂的配置,有很多很多的值呢?我当然不想有50多个环境变量,是吗 我如何才能解决这个问题,并且仍然遵循12因素应用程序的理念?通过快速阅读您提供的链接,我同意作者的说法,即存在广泛的问题,但我不相信他们提出的解决方案总是最好的。和您一样,我不喜欢必须定义几十个环境变量来配置应用程序的想法。所以这里有一些可供选择的想法 首先,阅读(免责声明:我是该软件的主

建议您使用环境变量创建应用程序。到目前为止,一切顺利。我可以很容易地想象,如果你需要设置一个连接字符串,这是一个很好的方法

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

我如何才能解决这个问题,并且仍然遵循12因素应用程序的理念?

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

首先,阅读(免责声明:我是该软件的主要作者)。特别要注意的是,它对我所说的自适应配置的支持可以在很大程度上解决您所关心的问题。Config4*是最终的解决方案吗?可能不会,但我认为这是朝着正确方向迈出的一大步


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

“我当然不希望有50多个环境变量,是吗?”为什么不?因为在开发过程中它变得不必要的复杂,还是我遗漏了什么?可能是我遗漏了什么,因为我不太熟悉使用环境变量,但是在什么方面它比你现在正在做的事情更复杂呢?(分别)目前,我使用
node app.js
启动我的应用程序。我不想手动提供50多个环境变量,如果我想尝试一些设置,我也不想每次都编辑一个文件。