チュートリアル:Azure DevOps Starter を使用して ASP.NET アプリを Azure 仮想マシンにデプロイする
Azure DevOps Starter によって提供される簡略化されたエクスペリエンスを使用すると、既存のコードと Git リポジトリを使用するか、サンプル アプリケーションを選択して、Azure への継続的インテグレーション (CI) と継続的デリバリー (CD) のパイプラインを作成することができます。
DevOps Starter では次のこともできます。
- 新しい Azure 仮想マシン (VM) などの Azure リソースを自動的に作成する。
- CI 用のビルド パイプラインを含むリリース パイプラインを Azure DevOps に作成し、構成する。
- CD 用のリリース パイプラインをセットアップする。
- 監視のために Azure Application Insights リソースを作成する。
このチュートリアルでは、次のことについて説明します。
- DevOps Starter を使用して、ASP.NET アプリをデプロイする
- Azure DevOps と Azure サブスクリプションを構成する
- CI パイプライン を確認する
- CD パイプライン を確認する
- 変更を Azure Repos にコミットし、Azure に自動的にデプロイする
- Azure Application Insights の監視を構成する
- リソースをクリーンアップする
前提条件
- Azure サブスクリプション。 Visual Studio Dev Essentials を通じて無料で取得できます。
DevOps Starter を使用して、ASP.NET アプリをデプロイする
DevOps Starter によって、Azure Pipelines に CI/CD パイプラインが作成されます。 新しい Azure DevOps 組織を作成するか、既存の組織を使用できます。 DevOps Projects では、選択した Azure サブスクリプションに仮想マシンなどの Azure リソースも作成されます。
Azure portal にサインインします。
検索ボックスに「DevOps Starter」と入力して選択します。 新しく作成するには、 [追加] をクリックします。
[.NET] を選択し、 [次へ] を選択します。
[アプリケーション フレームワークを選択します] で [ASP.NET] を選択し、 [次へ] を選択します。 前の手順で選択したアプリケーション フレームワークによって、ここで使用可能な Azure サービスのデプロイ ターゲットの種類が決まります。
仮想マシンを選択し、 [次へ] を選択します。
Azure DevOps と Azure サブスクリプションを構成する
新しい Azure DevOps 組織を作成するか、既存の組織を選択します。
Azure DevOps プロジェクトの名前を入力します。
Azure サブスクリプション サービスを選択します。 必要に応じて、 [変更] を選択し、Azure リソースの場所など、他の構成の詳細を入力できます。
新しい Azure 仮想マシン リソースの仮想マシン名、ユーザー名、およびパスワードを入力し、 [完了] を選択します。 数分後に Azure 仮想マシンの準備が完了します。 サンプル ASP.NET アプリケーションが Azure DevOps 組織内のリポジトリにセットアップされ、ビルドとリリースが実行され、新規に作成された Azure VM にアプリケーションがデプロイされます。
その完了後、DevOps Starter ダッシュボードが Azure portal に表示されます。 このダッシュボードには、Azure portal の [すべてのリソース] から直接移動することもできます。
このダッシュボードでは、Azure DevOps コード リポジトリ、CI/CD パイプライン、および Azure の実行中のアプリケーションが可視化されます。
DevOps Starter では、コード変更をリポジトリにデプロイする CI ビルドおよびリリース トリガーが自動的に構成されます。 さらに、Azure DevOps で追加のオプションを構成できます。 実行中のアプリケーションを表示するには、 [参照] を選択します。
CI パイプライン を確認する
DevOps Starter によって、Azure Pipelines に CI/CD パイプラインが自動的に構成されます。 パイプラインを探索し、カスタマイズできます。 ビルド パイプラインについて理解するには、次の手順を行います。
DevOps Starter ダッシュボードの上部の [ビルド パイプライン] を選択します。 ブラウザーのタブに、新しいプロジェクトのビルド パイプラインが表示されます。
[状態] フィールドをポイントして、省略記号 (...) を選択します。メニューには、新しいビルドをキューに入れる、ビルドを一時停止する、ビルド パイプラインを編集するなど、いくつかのオプションが表示されます。
[編集] を選択します。
このウィンドウで、ビルド パイプラインのさまざまなタスクを調べることができます。 ビルドでは、Git リポジトリからのソースのフェッチ、依存関係の復元、デプロイに使用した出力の発行など、さまざまなタスクが実行されます。
ビルド パイプラインの上部で、ビルド パイプラインの名前を選択します。
ビルド パイプラインの名前をよりわかりやすい名前に変更し、 [保存してキューに登録] を選択して、 [保存] を選択します。
ご自身のビルド パイプラインの名前の下で、 [履歴] を選択します。 このウィンドウには、ビルドに対する最近の変更の監査証跡が表示されます。 ビルド パイプラインに対するすべての変更が Azure DevOps によって追跡されるため、各バージョンを比較できます。
[トリガー] を選択します。 DevOps Starter では、CI トリガーが自動的に作成され、リポジトリに対してコミットするたびに新しいビルドが開始されます。 必要に応じて、CI プロセスのブランチを含めるか除外するかを選択できます。
[保持] を選択します。 シナリオに基づいて、特定の数のビルドを保持または削除するポリシーを指定できます。
CD パイプライン を確認する
DevOps Starter では、Azure DevOps 組織から Azure サブスクリプションにデプロイするために必要な手順が自動的に作成され、構成されます。 これらの手順には、Azure サブスクリプションで Azure DevOps を認証するための Azure サービス接続の構成が含まれます。 自動化により CD パイプラインも作成され、これにより Azure 仮想マシンに CD が提供されます。 Azure DevOps CD パイプラインの詳細を知るには、次の手順を行います。
[ビルドとリリース] を選択し、 [リリース] を選択します。 DevOps Starter により、Azure へのデプロイを管理するリリース パイプラインが作成されます。
リリース パイプラインの横にある省略記号 (...) を選択し、 [編集] を選択します。 リリース パイプラインには、リリース プロセスを定義するパイプラインが含まれています。
[成果物] で、 [ドロップ] を選択します。 前の手順で調べたビルド パイプラインでは、成果物に使用される出力が生成されます。
[ドロップ] アイコンの横にある [継続的配置トリガー] を選択します。 このリリース パイプラインには、新しいビルド成果物が使用可能になるたびにデプロイを実行する有効な CD トリガーがあります。 必要に応じて、手動でのデプロイが必須となるように、トリガーを無効にすることができます。
左側の [タスク] を選択して、環境を選択します。 タスクはデプロイ プロセスによって実行されるアクティビティであり、フェーズとしてグループ化されます。 このリリース パイプラインは、次の 2 つのフェーズで発生します。
最初のフェーズには、次の 2 つの処理を実行する、Azure リソース グループの配置タスクが含まれています。
- VM をデプロイ用に構成する
- Azure DevOps 配置グループに新しい VM を追加する。 Azure DevOps 内の VM 配置グループでは、デプロイ ターゲット マシンの論理グループが管理されます
2 番目のフェーズでは、IIS Web アプリの管理タスクが、VM に IIS Web サイトを作成します。 2 番目の IIS Web アプリの配置タスクは、サイトをデプロイするために作成されます。
右側で [リリースの表示] を選択して、リリースの履歴を表示します。
リリースの横にある省略記号 (...) を選択し、 [開く] を選択します。 リリース概要、関連付けられた作業項目、テストなど、いくつかのメニューを調べることができます。
[コミット] を選択します。 このビューには、このデプロイに関連付けられているコードのコミットが表示されます。 リリースを比較して、デプロイ間のコミットの相違を表示します。
[ログ] を選択します。 ログには、デプロイ プロセスに関する有用な情報が含まれます。 それらは、デプロイ中もデプロイ後も表示されます。
変更を Azure Repos にコミットし、Azure に自動的にデプロイする
Web サイトに最新の作業を自動的にデプロイする CI/CD プロセスを使用して、アプリに対してチームで共同作業を行う準備ができました。 Git リポジトリに対する各変更により、Azure DevOps でビルドが開始され、CD パイプラインによって Azure へのデプロイが実行されます。 このセクションの手順に従うか、他の手法を使用して、リポジトリに変更をコミットします。 コード変更により、CI/CD プロセスが開始され、Azure VM 上の IIS Web サイトに変更が自動的にデプロイされます。
左のウィンドウで [コード] を選択し、リポジトリに移動します。
Views\Home ディレクトリに移動し、Index.cshtml ファイルの横にある省略記号 (...) を選択し、 [編集] を選択します。
いずれかの div タグ内にテキストを追加するなど、ファイルを変更します。
右上の [コミット] を選択し、もう一度 [コミット] を選択して、変更をプッシュします。 しばらくすると Azure DevOps でビルドが開始され、リリースが実行されて、変更がデプロイされます。 DevOps Starter ダッシュボードで、またはブラウザーで Azure DevOps 組織を使用して、ビルドの状態を監視します。
リリースが完了したら、アプリケーションを更新して、変更を確認します。
Azure Application Insights の監視を構成する
Azure Application Insights を使うと、アプリケーションのパフォーマンスと利用状況を簡単に監視できます。 DevOps Starter によって、アプリケーションの Application Insights リソースが自動的に構成されます。 必要に応じて、さまざまなアラートと監視機能をさらに構成できます。
Azure portal で、DevOps Starter ダッシュボードに移動します。
右下で、アプリの [Application Insights] リンクを選択します。 [Application Insights] ウィンドウが開かれます。 このビューには、アプリの利用状況、パフォーマンス、可用性の監視情報が含まれています。
[時間の範囲] を選択し、 [過去 1 時間] を選択します。 結果をフィルター処理するには、 [更新] を選択します。 これで、過去 60 分間のすべてのアクティビティが表示されます。
時間の範囲を終了するには、 [x] を選択します。
[アラート] を選択し、 [メトリック アラートの追加] を選択します。
アラートの名前を入力します。
[メトリック] ドロップダウン リストで、さまざまなアラート メトリックを確認します。 既定のアラートの対象は、1 秒を超えるサーバー応答時間です。 アプリの監視機能を向上させるためにさまざまなアラートを簡単に構成できます。
[Notify via Email owners, contributors, and readers](電子メール、所有者、共同作成者、および閲覧者による通知) チェック ボックスをオンにします。 必要に応じて、アラートが表示されたときに、Azure Logic Apps を実行することによって追加のアクションを実行できます。
[OK] を選択してアラートを作成します。 しばらくして、アラートがダッシュボードにアクティブとして表示されます。
[アラート] 領域を終了し、 [Application Insights] ウィンドウに戻ります。
[可用性] を選択し、 [テストの追加] を選択します。
テスト名を入力し、 [作成] を選択します。 アプリケーションの可用性を確認する簡単な ping テストが作成されます。 数分後にテスト結果が使用可能になり、Application Insights ダッシュボードに可用性の状態が表示されます。
リソースをクリーンアップする
テストを行っている場合は、リソースをクリーンアップすることによって、課金を回避することができます。 このチュートリアルで作成した Azure 仮想マシンと関連リソースが必要なくなったら、削除してかまいません。 そうするには、DevOps Starter ダッシュボードで削除機能を使用します。
重要
次の手順で、リソースが完全に削除されます。 "削除" 機能では、DevOps Starter のプロジェクトによって作成されたデータが Azure と Azure DevOps の両方で破棄され、取得できなくなります。 画面に表示される説明を慎重に読んでから、この手順を行ってください。
- Azure portal で、DevOps Starter ダッシュボードに移動します。
- 右上の [削除] を選択します。
- 確認のメッセージで [はい] を選択すると、リソースが "完全に削除" されます。
必要に応じて、チームのニーズを満たすようにこれらのビルドおよびリリース パイプラインを変更できます。 この CI/CD パターンをご自身の他のパイプラインのテンプレートとして使用することもできます。
次のステップ
このチュートリアルでは、以下の内容を学習しました。
- DevOps Starter を使用して、ASP.NET アプリをデプロイする
- Azure DevOps と Azure サブスクリプションを構成する
- CI パイプライン を確認する
- CD パイプライン を確認する
- 変更を Azure Repos にコミットし、Azure に自動的にデプロイする
- Azure Application Insights の監視を構成する
- リソースをクリーンアップする
CI/CD パイプラインの詳細については、以下を参照してください。