我在我的項目中有多個環境 - 一個開發環境,3個測試環境,1個集成環境和最終生產環境。發佈環境特定appsettings.ENV.json只適用於各自的環境
因此,我們決定去環境的具體appsettings.ENVNAME.json
正如this answer提到我們下面project.json
-
"publishOptions": {
"include": [
...
"appsettings.json",
"appsettings.*.json",
...
]
}
通過這樣做,我們發佈appsetting.PROD.json到即使在不同的測試環境中,這也是錯誤的。
我的理解是,我們可以控制的AppSettings文件加載在啓動喜歡這個 -
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
但在此情況下,其他的文件可用。 (錯誤地改變ENV名親人後,將開始回升等環境的細節)
現在(根據我們的審計小組),我們需要發佈特定appsettings.ENVNAME.json只有對應的環境環境。
如何使用project.json實現此目的?我們是否需要爲此編寫單獨的腳本?解決這種情況的最佳方法是什麼?
_Someone錯誤地更改env名稱,它會開始撿起其他environment_的細節與參數一樣好_Someone錯誤地發佈了錯誤的appsettings.envname.json文件,它將開始撿起其他environment_的細節,都是容易出現相同類型的手動錯誤。您可以在您的示例中使您的環境文件成爲強制文件而不是可選文件。如果有人將其更改爲不存在的環境名稱,則會發生錯誤。問題是,不是你的軟件包應該決定哪個是環境模式,而是你的服務器部署在 – Tseng
即使我強制要求,其他環境文件仍然是我的發佈文件夾的一部分。審計小組不會批准這一點。在這裏,我們的意圖是基於環境名稱自動發佈過程。 – Vishal26
您談論瞭如此嚴格的審覈流程,然而,開發人員可以直接發佈到舞臺和製作?爲什麼不將它發佈到一個單獨的位置,然後將所需的文件複製到所需的位置? –