ここ数時間、増大する問題に対する最善の解決策を探していました。
- (VS 2010 では) Web サイトがますます増えているため、管理する web.config ファイルもますます増えています。開発環境と本番環境の間にはかなりの違いがあります (接続文字列、トレース/メール設定など)。
- また、誰かが働いているチーム (例: Web デザイン チーム) によっては、一部のパスワードと暗号化キー (web.config ファイルにある) にアクセスできない場合があります。
現在、次のものがあります。
- prod 値 (接続文字列、パスワード) を含むweb.configファイル。
- dev 値を含むweb.config.devファイル。
- Web デザイナーが作業を行うために最低限必要な値を含むweb.config.restrictedファイル。
したがって:
- 開発者が web.config ファイルに新しい行を追加するたびに、その行を web.config.dev ファイル (最終的には web.config.restricted ファイル) にも挿入する必要があります。
- チェックイン後:
- 開発チームのすべてのメンバーは、 web.config.devファイルからすべてのコンテンツをコピーし、web.config ファイルをオーバーライドする必要があります。
- Web デザインチームのすべてのメンバーは、web.config.restricted ファイルからすべてのコンテンツをコピーし、web.config ファイルをオーバーライドする必要があります。
- これらの手動操作は、多くのエラーを引き起こします (変更をすべてのファイルに反映するのを忘れている人がいます)。
- TFS は、web.config ファイルへのアクセス権を Web 設計チームに付与しないように構成する必要があります (ファイルを手動で作成する必要があります)。
私はハックの少ない方法を見ています:
- すべての web.config ファイルの内容を複製することなく、複数の環境 (dev/prod) を管理します。
- 特定のチームに対して機密性の高い値を非表示にするために、TFS 権限を管理します。
ご了承ください:
- Web アプリケーションではなく Web サイト プロジェクトを使用しているため、web.config 変換を使用できません。
- Web Deployment Projects は VS 2012 ではもう利用できないようですので、今すぐ使い始めるのは避けたいと思います。
- プロファイルの公開は良い解決策かもしれませんが、まだ VS 2010 を使用しています。
この問題を抱えたのは私が初めてではないと確信しています。人々がそれをどのように処理したか知りたいです:)