簡體   English   中英

Git或外部項目中的屬性文件?

[英]Properties file in Git or outside project?

我們正在開發一個基於Spring的Web應用程序,該應用程序需要部署在各種環境中:

1)開發本地計算機以開發新功能\\修復錯誤等

2)質量檢查環境#1-供質量檢查小組測試我們的版本

3)質量檢查環境#2-供質量檢查小組測試我們的版本

4)質量檢查環境#3-供質量檢查小組測試我們的版本

5)生產

現在,這些環境之一的每個部署都需要填充一個屬性文件,該文件包含許多參數:

1)Tomcat IPS

2)MySQL的IP

3)mongo ip

4)負載均衡器ip

5)ehcache多類型的端口和地址。

6)還有很多

我們的問題是:

應該在哪里定義該屬性文件? 在我們的代碼庫中? (git,是否在每個環境的文件夾中?)在我們的Webapp項目之外(通過這種方式,應使用正確的屬性文件一次更新每個環境,然后直接進行部署而無需進行任何配置)?

請記住,我們正在使用一個build \\ deploy機器,它將自動將我們的項目部署到所有這些環境中,因此在決定正確的處理方式時,請牢記這一點。

通常,即使我們正在談論私有文件,我也不會將屬性文件保留在存儲庫中。 我想到的一些原因是:

  • 不需要版本控制 我個人認為保留部署或QA屬性文件的版本歷史毫無意義。

  • 客戶隱私。 您可能不希望與所有有權訪問該存儲庫的人員(開發人員,質量檢查團隊等)共享部署配置。

  • 防止錯誤。 發生錯誤。 開發人員錯誤地對部署QA屬性文件進行了某些更改,可能會對您的構建/部署鏈造成嚴重的麻煩。

您可以做的是向屬性庫中添加一些屬性文件模板 ,這些模板包含應用程序的默認配置(例如本地開發人員配置)。
然后,您可以為不同的環境提供不同的屬性文件,這些屬性文件僅在相關團隊內分發(QA配置到QA團隊, 針對已部署系統的部署配置)。

您的build \\ deploy機器很可能可以訪問所有不同的屬性文件,並且可以根據目標環境檢索正確的屬性文件。 使用這種配置,將這些文件保存在存儲庫中並沒有任何好處,將它們存儲在有權進行更改的人員和build \\ deploy機器可用的位置即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM