発行/Web 配置を使用して、Visual Studio 2010 から asp.net アプリケーションを配置しています。問題なく動作しますが、問題があります。新しいリリースが期待どおりに動作しない場合、古いバージョンは既に新しいバージョンに置き換えられており、動作中のバージョンにロールバックする簡単な方法はありません。これはどのように解決するのが最善ですか?必要に応じて元に戻すことができるように、古いバージョンをサーバーに保持できればいいのにと思います。
2 に答える
WebDeploy にはロールバック機能が組み込まれていないため、デプロイしたらそれで終わりです。
たとえば、次のような手巻きの戦略がいくつかあります。
共有ホスティングなどの制限付きアクセス:
マシンに完全にアクセスできない場合 -
事前にライブサイトをダウンロードしてバックアップしてください。
展開したもののコピーを保持して、何かが壊れた場合に以前のバージョンをプッシュできるようにします
全権アクセス:
アプリケーション用に 2 セットのフォルダーを維持し、サイトをこれらのフォルダーのいずれかにマップします。展開するときは、IIS サイトの物理パスを別のフォルダーに切り替えてから展開します。サイトが失敗した場合は、サイトを元のフォルダーに戻します。展開が成功するたびに、これら 2 つのフォルダーが交互に切り替わります。
ユーザーがアップロードしたコンテンツのようなものについては、仮想ディレクトリをファイル システム上の場所にマップする必要があります。これは、毎回これらをコピーしたくないためです。
これらの問題に遭遇したのはあなただけではありません。Rob Conery によるこの記事と、ASP.NET の展開に関する状況に関する彼の所見をご覧ください。
別の方法として、何らかの形式のソース管理を使用することもできます。Subversion を使用しているため、パブリッシュに問題が発生した場合は、最新の良好なリビジョンに更新してパブリッシュできます。あなたが唯一の開発者であっても、ソース管理を使用すると非常に便利です。