私のプロジェクトには、1つの開発環境、3つのテスト環境、1つの統合環境、および最終的な実稼働環境があります。 this answerで述べたように環境に特化したappsettings.ENV.jsonをそれぞれの環境に公開する
が故に、我々はproject.json
次られた環境の特定のappsettings.ENVNAME.json
のために行くことにしました - これにより
"publishOptions": {
"include": [
...
"appsettings.json",
"appsettings.*.json",
...
]
}
を、我々はにappsetting.PROD.jsonを公開しました。異なるTEST環境であっても間違っています。
は、私たちはthis-
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true);
のように、起動中のAppSettingsファイルの読み込みを制御することができます。しかし、この場合にも、他のファイルが利用可能であることを理解しています。 (間違いチェンジのenv名前で誰かと、それは他の環境の詳細を拾って起動します)(当社の監査チームごとなど)今
は、我々は唯一の対応、環境へのappsettings.ENVNAME.json特定の環境を公開する必要があります。
project.jsonを使用してこれを達成するにはどうすればよいですか?このために別のスクリプトを書く必要がありますか?このシナリオに取り組む最も良い方法は何ですか?
_間違って変更した人が環境名を変更すると、他の環境の詳細を取得し始めます_間違ってappsettings.envname.jsonファイルを間違って発行し、他の環境の詳細を取得する_同じタイプの手動エラーが発生しやすくなります。あなたの例では、オプションではなく、環境ファイルを必須にすることができます。誰かが存在しない環境名に変更すると、エラーになります。問題は、あなたのパッケージが環境モードであるかどうかを決めるのではなく、あなたのサーバーを展開することです – Tseng
それを必須にしても、他の環境ファイルは私の公開フォルダの一部になります。監査チームはこれを承認しません。ここでは、環境名に基づいて公開プロセスを自動化することを意図しています。 – Vishal26
このような厳格な監査プロセスについてお話ししますが、開発者はステージングとプロダクションに直接公開できますか?これを別の場所に公開し、必要なファイルを必要な場所にコピーするのはなぜですか? –