2011-10-07 90 views
1

我正在爲我們的開發設置配置項,並想知道如何管理針對不同環境的配置文件的想法/最佳實踐。持續集成:管理針對不同環境的配置文件?

,想到的第一個辦法是保持在不同的目錄特定環境的配置文件版本控制之下,並使用一個構建平臺,如惡性,以正確的配置文件複製到一個環境,以便:

例如,我的CI過程基本上遵循了這一過程:

subversion -> 1. buildarea -> 2. test env -> 3. beta. env. -> 4. live 

有版本控制下的三個文件夾名爲:

dev.config/: global.asa, app.config 
test.config/: gloval.asa, app.config 
live.config/: global.asa, app.config 

,並且在連續的步驟2,3,4中使用NAnt將正確的配置文件複製到環境中。但也許這可能不是很理想。

+1

如果配置包含來自第三方API的非常密鑰,該怎麼辦?階段和生產配置不應該提供給常規開發人員。我會提供僞裝或廚師配置更好 – zerkms

+0

是安全也是一個問題在這裏,我也在研究如何最好的結構授權考慮到一些密碼敏感。我會欣賞想法和替代方法。 – Terman

+1

所以通過木偶提供配置,或者從每個服務器上的一些'main.config-dist'手動編輯它們 – zerkms

回答

1

工具側重於持續交付而不是持續集成將模擬您部署的環境以及部署過程。好的將允許你特定的環境特定參數,並更新模板配置文件(並保證祕密的東西安全)。我認爲這與傀儡類似。