だれもが答えを反対投票しているので、私は2008年に書き戻しました* ...
今は2014年にその方法を説明します。現在ASP.NET MVCを使用しているため、Webサイトは使用しなくなりました。
ロードバランサーと2台のサーバーは必要ありません。維持しているすべてのWebサイトに3台のサーバーがある場合は問題ありませんが、ほとんどのWebサイトではそれで十分です。
また、マイクロソフトの最新のウィザードには依存していません。速度が遅く、隠された魔法が多すぎて、名前を変更する傾向があります。
以下がその方法です。
生成されたDLLを「bin-pub」フォルダーにコピーするビルド後のステップがあります。
Beyond Compare(優れている**)を使用して、変更されたファイル(FTPを介して広くサポートされているため)を検証し、運用サーバーに同期します。
「bin-pub」内のすべてを「bin」にコピーするボタンを含むWebサイトに安全なURLがあります(迅速なロールバックを可能にするために最初にバックアップを取ります)。この時点で、アプリは自動的に再起動します。次に、ORMは、追加する必要があるテーブルまたは列があるかどうかをチェックし、それらを作成します。
それはわずか数ミリ秒のダウンタイムです。アプリの再起動には1〜2秒かかる場合がありますが、再起動中はリクエストがバッファリングされるため、実質的にダウンタイムはありません。
変更されるファイルの数と確認する変更の数に応じて、展開プロセス全体は5秒から30分程度かかります。
この方法では、Webサイト全体を別のディレクトリにコピーする必要はなく、binフォルダーだけをコピーする必要があります。また、プロセスを完全に制御し、何が変化しているかを正確に把握できます。
**私たちは常に、展開している変更をすばやく目で確認します-土壇場でのダブルチェックとして、何をテストすべきか、何か問題がある場合は準備ができているかどうかを知っています。FTP経由でファイルを簡単に比較できるので、Beyond Compareを使用します。私はBCなしではこれを行うことはありません。あなたは何を上書きしているのか分かりません。
*下にスクロールして確認してください。マイナーな問題を修正するのに非常に迅速で、デプロイしているものを正確に確認できます(もちろん、Beyond Compareを使用している場合-それ以外は忘れてください)。