Azureクラウドサービスワーカーの役割としてデプロイするNode.jsアプリを構築しています。
良い習慣として、私はすべての機密情報(APIキーなど)をリポジトリから除外するのが好きです。これに対する私の通常の解決策は、環境変数として機密情報を追加し、アプリにそれらにアクセスさせることです。
(比較的新しい)Azure Webサイトでは、これは[構成]タブの[アプリの設定]セクションから簡単に実行できます。新しい設定を追加し、Node.jsで。を使用してそれらを取得しますprocess.env.<setting key>
。これらの設定は、更新と展開の間で保持されます。
ただし、Azureクラウドサービスでは、これは当てはまらないようです。「構成設定」を追加しましたServiceConfiguration.Cloud.cscfg
:
<ConfigurationSettings>
<Setting name="API_KEY_1" value="" />
<Setting name="API_KEY_2" value="" />
</ConfigurationSettings>
...そして私のServiceDefinition.csdef
:
<ConfigurationSettings>
<Setting name="API_KEY_1" />
<Setting name="API_KEY_2" />
</ConfigurationSettings>
デプロイすると、これらの設定はWebポータルから編集可能になり、値を追加しました。
ただし、再デプロイすると、設定が上書きされます。適切な値を維持するために私が見ることができる唯一の方法は、値をに追加することです.cscfg
。しかし、それはこの情報を私のリポジトリにコミットすることを意味します。
私が見逃している解決策はありますか?