我們爲我們的客戶開發了一個java網站/平臺。java webapps並將現有項目開源到github - properties文件
數據庫屬性(用戶名,密碼等),都存儲在項目的src/main/resources/*.properties
如database-live.properties,database-dev.properties,database-local.properties
客戶已經決定,他們將喜歡開源他們的平臺,並從私人bitbucket存儲庫轉移到開放的github存儲庫。
由於私有存儲庫具有私有數據庫屬性,因此存在問題,因此不應公開。
因此,我們不會傳輸bitbucket中的歷史記錄,而是在github上創建一個乾淨的repo,將src/main/resources/*.properties
中的用戶,密碼等作爲空白屬性。 bitbucket回購將被關閉,並且本地機器和live/dev機器的origin
將被更改爲github回購。
但是,在live和dev盒子上,我們仍然希望能夠從github上運行git pull
,並運行mvn clean install
,但使用正確的數據庫細節。
要做到這一點,最好的方法是什麼? 我們是否應該只將屬性文件添加到.gitignore
,然後在各種機器的本地存儲庫中,使用該環境的正確詳細信息編輯文件?
或者我們應該以某種方式外部化配置,並在做maven構建時以某種方式包含它?最好的辦法是什麼?
這似乎是一個常見的用例,但也許我只是以錯誤的方式去做。
這幾乎是我最終做的。我們將* .properties重命名爲* .properties.template,然後有一個單獨的私有回購,它具有開發和生產配置 – kabal