次の方法で共有


Azure DevOps Starter を使用して Azure Kubernetes Service に ASP.NET Core アプリをデプロイする

Azure DevOps Starter では、既存のコードと Git リポジトリを導入したり、サンプル アプリケーションを選択して Azure への継続的インテグレーション (CI) パイプラインと継続的デリバリー (CD) パイプラインを作成したりできる、簡略化されたエクスペリエンスが提供されます。

DevOps Starter も次のとおりです。

  • Azure Kubernetes Service (AKS) などの Azure リソースを自動的に作成します。
  • CI/CD のビルドとリリース パイプラインを設定するリリース パイプラインを Azure DevOps に作成して構成します。
  • 監視用の Azure Application Insights リソースを作成します。
  • Azure Monitor for containers が AKS クラスター上のコンテナー ワークロードのパフォーマンスを監視できるようにします

このチュートリアルでは、次の操作を行います。

  • DevOps Starter を使用して ASP.NET Core アプリを AKS にデプロイする
  • Azure DevOps と Azure サブスクリプションを構成する
  • AKS クラスターを調べる
  • CI パイプラインを調べる
  • CD パイプラインを調べる
  • Git に変更をコミットし、Azure に自動的にデプロイする
  • リソースをクリーンアップする

前提条件

  • Azure サブスクリプション。 Visual Studio Dev Essentials を通じて1つ無料で入手できます。

DevOps Starter を使用して ASP.NET Core アプリを AKS にデプロイする

DevOps Starter は、Azure Pipelines に CI/CD パイプラインを作成します。 新しい Azure DevOps 組織を作成することも、既存の組織を使用することもできます。 DevOps Starter では、選択した Azure サブスクリプションに、AKS クラスターなどの Azure リソースも作成されます。

  1. Azure portal にサインインします。

  2. 検索ボックスに、「DevOps Starter 入力して選択します。 [追加] をクリックして、新しいものを作成します。

    DevOps Starter ダッシュボード

  3. .NET を選択し、[次へ] を選択します。

  4. [ アプリケーション フレームワークの選択] で[ コア ASP.NET 選択し、[ 次へ] を選択します。

  5. [Kubernetes Service] を選択し、[次へ] を選択します。

Azure DevOps と Azure サブスクリプションを構成する

  1. 新しい Azure DevOps 組織を作成するか、既存の組織を選択します。

  2. Azure DevOps プロジェクトの名前を入力します。

  3. Azure サブスクリプションを選択します。

  4. 追加の Azure 構成設定を表示し、AKS クラスターのノード数を識別するには、[ 変更] を選択します。 このウィンドウには、Azure サービスの種類と場所を構成するためのさまざまなオプションが表示されます。

  5. Azure 構成領域を終了し、次に [完了] を選択します。 数分後、プロセスが完了します。 Azure DevOps 組織の Git リポジトリにサンプル ASP.NET Core アプリが設定され、AKS クラスターが作成され、CI/CD パイプラインが実行され、アプリが Azure にデプロイされます。

    これがすべて完了すると、Azure Portal に Azure DevOps Starter ダッシュボードが表示されます。 また、Azure ポータルの すべてのリソース から直接 DevOps Starter ダッシュボードに移動することもできます。

    このダッシュボードでは、Azure DevOps コード リポジトリ、CI/CD パイプライン、および AKS クラスターを可視化できます。 Azure DevOps パイプラインで追加の CI/CD オプションを構成できます。 右側にある [参照] を選択して、実行中のアプリを表示します。

AKS クラスターを調べる

DevOps Starter によって AKS クラスターが自動的に構成され、これを調べてカスタマイズできます。 AKS クラスターについて理解するには、次の操作を行います。

  1. DevOps Starter ダッシュボードに移動します。

  2. 右側で、AKS サービスを選択します。 AKS クラスターのウィンドウが開きます。 このビューから、コンテナーの正常性の監視、ログの検索、Kubernetes ダッシュボードの開きなど、さまざまなアクションを実行できます。

  3. 右側の [ Kubernetes ダッシュボードの表示] を選択します。 必要に応じて、手順に従って Kubernetes ダッシュボードを開きます。

CI パイプラインを調べる

DevOps Starter は、Azure DevOps 組織で CI/CD パイプラインを自動的に構成します。 パイプラインを調べてカスタマイズできます。 理解を深めるために、次の操作を行います。

  1. DevOps Starter ダッシュボードに移動します。

  2. DevOps Starter ダッシュボードの上部にある [Build Pipelines] を選択します。 ブラウザー タブに、新しいプロジェクトのビルド パイプラインが表示されます。

  3. 状態 フィールドをポイントし、省略記号 (...) を選択します。メニューには、新しいビルドのキュー登録、ビルドの一時停止、ビルド パイプラインの編集など、いくつかのオプションが表示されます。

  4. [編集] を選択します。

  5. このウィンドウでは、ビルド パイプラインのさまざまなタスクを確認できます。 ビルドでは、Git リポジトリからのソースのフェッチ、依存関係の復元、デプロイに使用される出力の発行など、さまざまなタスクが実行されます。

  6. ビルド パイプラインの上部で、ビルド パイプライン名を選択します。

  7. ビルド パイプラインの名前をよりわかりやすいものに変更し、[保存] & キュー、そして[保存]を選択します。

  8. ビルド パイプライン名の下にある「履歴」を選択します。 このペインには、ビルドの最近の変更に関する監査ログが表示されます。 Azure DevOps では、ビルド パイプラインに加えられた変更を追跡し、バージョンを比較できます。

  9. トリガーを選択します。 DevOps Starter によって CI トリガーが自動的に作成され、リポジトリに対するすべてのコミットによって新しいビルドが開始されます。 必要に応じて、CI プロセスにブランチを含めるか除外するかを選択できます。

  10. 保持を選択します。 シナリオに応じて、特定の数のビルドを保持または削除するポリシーを指定できます。

CD リリース パイプラインを調べる

DevOps Starter は、Azure DevOps 組織から Azure サブスクリプションにデプロイするために必要な手順を自動的に作成して構成します。 これらの手順には、Azure サブスクリプションに対して Azure DevOps を認証するための Azure サービス接続の構成が含まれます。 また、自動化によってリリース パイプラインが作成され、Azure に CD が提供されます。 リリース パイプラインの詳細については、次の手順に従います。

  1. [ビルド リリース] を選択し、[リリース] を選択します。 DevOps Starter は、Azure へのデプロイを管理するリリース パイプラインを作成します。

  2. リリース パイプラインの横にある省略記号 (...) を選択し、編集を選択します。 リリース パイプラインには、リリース プロセスを定義する パイプラインが含まれています。

  3. [成果物] の中で、[ドロップ] を選択します。 前の手順で調べたビルド パイプラインによって、成果物に使用される出力が生成されます。

  4. ドロップ アイコンの右側にある 継続的配置トリガーを選択します。 このリリース パイプラインには有効な CD トリガーがあり、新しいビルド成果物が使用可能になるたびにデプロイが実行されます。 必要に応じて、デプロイで手動実行が必要になるようにトリガーを無効にすることができます。

  5. 右側にある [リリースの表示] を選択して、リリースの履歴を表示します。

  6. リリースの横にある省略記号 (...) を選択し、次に [開く] を選択します。 リリースの概要、関連する作業項目、テストなど、いくつかのメニューを調べることができます。

  7. のコミットを選択します。 このビューには、このデプロイに関連付けられているコード コミットが表示されます。 リリースを比較して、デプロイ間のコミットの違いを確認します。

  8. [ログ] を選択します。 ログには、デプロイ プロセスに関する有用な情報が含まれています。 デプロイ中とデプロイ後の両方で表示できます。

変更を Azure Repos にコミットし、Azure に自動的にデプロイする

次の手順では、簡単なテキスト変更を行って CI/CD パイプラインをテストします。

これで、最新の作業を Web サイトに自動的にデプロイする CI/CD プロセスを使用して、アプリのチームと共同作業する準備ができました。 Git リポジトリに対する各変更により、Azure DevOps でビルドが開始され、CD パイプラインによって Azure へのデプロイが実行されます。 このセクションの手順に従うか、別の手法を使用してリポジトリに変更をコミットします。 たとえば、お気に入りのツールまたは IDE で Git リポジトリを複製し、変更をこのリポジトリにプッシュできます。

  1. Azure DevOps メニューの Code>Files を選択し、リポジトリに移動します。

  2. Views\Home ディレクトリに移動し、Index.cshtml ファイルの横にある省略記号 (...) を選択し、[編集] を選択します。

  3. いずれかの div タグ内にテキストを追加するなど、ファイルに変更を加えます。

  4. 右上の [ コミット] を選択し、もう一度 [コミット ] を選択して変更をプッシュします。 しばらくすると、Azure DevOps でビルドが開始され、リリースが実行されて変更がデプロイされます。 DevOps Starter ダッシュボードまたはブラウザーで、Azure DevOps 組織でビルドの状態を監視します。

  5. リリースが完了したら、アプリを更新して変更を確認します。

リソースをクリーンアップする

テストする場合は、リソースをクリーンアップすることで、課金料金の発生を回避できます。 不要になったら、このチュートリアルで作成した AKS クラスターと関連リソースを削除できます。 これを行うには、DevOps Starter ダッシュボードの Delete 機能を使用します。

重要

次の手順では、リソースを完全に削除します。 削除機能では、Azure と Azure DevOps の両方の DevOps Starter でプロジェクトによって作成されたデータが破棄され、取得できなくなります。 この手順は、プロンプトを注意深く読んだ後にのみ使用します。

  1. Azure portal で、DevOps Starter ダッシュボードに移動します。
  2. 右上にある [削除] を選択 します
  3. プロンプトで、[ はい ] を選択してリソースを 完全に削除 します。

次のステップ

必要に応じて、チームのニーズに合わせてこれらのビルドパイプラインとリリース パイプラインを変更できます。 この CI/CD パターンは、他のパイプラインのテンプレートとして使用することもできます。 このチュートリアルでは、次の方法を学習しました。

  • DevOps Starter を使用して ASP.NET Core アプリを AKS にデプロイする
  • Azure DevOps と Azure サブスクリプションを構成する
  • AKS クラスターを調べる
  • CI パイプラインを調べる
  • CD パイプラインを調べる
  • Git に変更をコミットし、Azure に自動的にデプロイする
  • リソースをクリーンアップする

Kubernetes ダッシュボードの使用の詳細については、以下を参照してください。