2012-09-16 36 views
1

對於過去的幾個項目,我使用BitBucket專用存儲庫爲不同項目保留生產就緒配置。 該存儲庫中的每個項目都有自己的分支,以保持敏感信息和隱私信息不受公衆的矚目。管理開放源代碼項目的配置

有些項目是開源的,同時生活在真實的生產環境中;當需要使用chef,fabric等工具進行部署時,我只需簽出有關項目的必要分支並將配置上傳到生產服務器。

我很好奇你如何管理開源項目的配置,當你必須管理生產配置並保持項目同時開源時?

回答

0

簡答:應用程序存儲庫不應包含任何特定於部署的配置。

確實,非應用程序代碼的配置文件通常會在方便使用時進入項目存儲庫,但通常是a)安全實踐不良(因此您不願意將其開放源代碼)和b)違反分離的擔憂。

相反,您應該爲您的所有應用程序部署和腳本創建單獨的存儲庫。部署庫中的文件將引用您的應用程序存儲庫。遵循這種模式,應用程序庫包含「what」,部署庫包含「how」 - 從部署到部署通常會有所不同。

此規則的例外情況包括腳本或配置在所有部署中都不會發生變化(例如,Procfile或守護程序腳本),因此應保留在應用程序存儲庫中。