2014-03-03 89 views
3

12-Factor Apps建議您configure您的應用程序使用環境變量。到現在爲止還挺好。我很容易想象,如果你需要設置一個連接字符串,這是一個很好的方法。使用環境變量配置應用程序

但是如果你有更多複雜的配置和大量的值呢?我肯定不想有50多個環境變量,是嗎?

我該如何解決這個問題,仍然符合12因子應用的想法?

+0

「我肯定不想有50多個環境變量,對嗎?」爲什麼不呢? –

+0

因爲它在開發過程中變得不必要的複雜,或者我錯過了什麼? –

+0

這可能是我錯過了一些東西,因爲我對使用環境變量不是很熟悉,但是在什麼情況下,它比目前所做的更復雜? (另外,[這是對12因子宣言的配置章節的一個很好的批評](http://quest.windwards.net/content/twelve-factor-app)。 –

回答

0

從您提供的configure鏈接快速閱讀中,我同意作者聲稱存在一個普遍問題,但我不相信他們提出的解決方案總是最好的。和你一樣,我不喜歡必須定義幾十個環境變量來配置應用程序的想法。所以這裏有一些替代想法。

首先,閱讀Chapter 2 of the Config4* Getting Started Guide(免責聲明:我是該軟件的主要作者)。尤其要注意的是,它對我所謂的自適應配置的支持對於解決您所關心的問題可能會有很大的幫助。 Config4 *是最終的解決方案嗎?可能不會,但我認爲這是向正確方向邁出的一大步。其次,無論您正在開發/維護的應用程序是否已經在特定的配置技術(例如XML文件或Java屬性文件)上解決,並且遷移到使用Config4 *都是不可行的。這就產生了一個問題:當您有多個部署應用程序的環境(例如開發,UAT,分期和生產)時,您是否可以做任何事情來避免擴大基於XML的配置文件?我已經概述了在另一個StackOverflow article中處理此問題的方法。

相關問題