[解決済み] ASP.NETアプリケーションをライブサーバーにデプロイする方法とは?
質問
私は、ASP.NETウェブアプリケーションプロジェクトをデプロイするために使用するさまざまなテクニックやツールを探しています( NOT ASP.NET webサイト)を本番に展開する方法を探しています。
私は、継続的インテグレーションビルドサーバーがバイナリをある場所にドロップしてから、最初のユーザーリクエストがこれらのバイナリをヒットするまでの間に起こるワークフローに特に興味があります。
-
特定のツールを使用していますか、それとも XCOPY だけですか。アプリケーションはどのようにパッケージ化されていますか (ZIP、MSI、...)?
-
アプリケーションが初めてデプロイされるとき、App Pool と Virtual Directory をどのようにセットアップしますか (手動または何らかのツールで作成しますか)?
-
静的リソース(CSS、JS、または画像ファイル)が変更されたとき、アプリケーション全体を再デプロイしますか、それとも変更されたリソースだけを再デプロイしますか?アセンブリ/ASPX ページが変更された場合はどうでしょうか。
-
あるアプリケーションについて、展開されたすべてのバージョンを追跡し、何か問題が発生した場合に、アプリケーションを以前の既知の動作状態に復元する手順を持っていますか?
前のリストを完成させるのはご自由に。
そして、ASP.NETアプリケーションをデプロイするために使用するのは、以下の通りです。
- を追加します。 ウェブデプロイメントプロジェクト を追加し、ASP.NET Web アプリケーションを構築するように設定します。
- セットアップ・プロジェクト ( NOT Web Setup Project) をソリューションに追加し、Web Deployment Project の出力を取得するように設定します。
- カスタム インストール アクションを追加し、OnInstall イベントでカスタム ビルド .NET アセンブリを実行し、以下を使用して IIS に App Pool と Virtual Directory を作成します。 System.DirectoryServices.DirectoryEntry (このタスクは、アプリケーションを最初にデプロイするときにのみ実行されます)。IIS での複数の Web サイト、仮想ディレクトリの認証、および App Pool の ID 設定をサポートします。
- TFS でカスタム タスクを追加して、セットアップ プロジェクトを構築します (TFS はセットアップ プロジェクトをサポートしていないため、devenv.exe を使用して MSI を構築する必要がありました)。
- MSI がライブ サーバーにインストールされます (以前のバージョンの MSI がある場合は、最初にアンインストールされます)。
どのように解決するのですか?
私たちは、すべてのコードをセットアップ ファクトリを使用して MSI にデプロイしています。 何かを変更する必要がある場合は、ソリューション全体を再デプロイします。 これは、CSS ファイルのために過剰なことのように聞こえますが、すべての環境を絶対に同期させ、何が本番環境にあるかを正確に把握します (すべてのテスト環境と uat 環境に同じ方法でデプロイしています)。
関連
-
NETガベージコレクション GC診断ツール dotnet-gcmon 使用方法
-
ASP.NET Core Web API チュートリアル プロジェクト構成図
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み] Could not find a part of the path ... binroslyncsc.exe
-
[解決済み] ウェブサイトを展開します。500 - 内部サーバー エラー
-
[解決済み] IISのAppPoolIdentityとファイルシステムの書き込みアクセス権
-
[解決済み] [Solved] User 'IIS APPPOOLASP.NET v4.0'のログインに失敗しました。
-
[解決済み】Web Application Project [...] は、IIS を使用するように構成されています。Webサーバーが見つかりませんでした。
-
[解決済み] ポストバック時に「オブジェクトの現在の状態により操作が有効でない」エラーが発生する
-
[解決済み] Visual Studio 新しいブラウザを開けない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
.netcoreプロジェクトでIStartupFilterを使用するためのチュートリアル
-
.NET開発サーバー アプリケーション管理ツール
-
ASP.NETでのRadioButton(ラジオボタン)の使用について
-
ConfigurationManagerのGetSection()メソッドです。
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] ASP.NETでConsole.WriteLineはどこに行くのですか?
-
[解決済み】ASP.NET Bundles ミニフィケーションを無効にする方法
-
[解決済み] Server.UrlEncode vs. HttpUtility.UrlEncode
-
[解決済み] ASP.NET MVCのHtml.ActionLinkに "active "クラスを追加する方法