チュートリアル: .NET Aspire を使用して Azure Developer CLI プロジェクトを配置する
Azure Developer CLI (azd
) を使用すると、必要な認証と環境設定を自動的に構成することで、.NET Aspire Actions または GitHub Devops パイプラインを使用して、Azure プロジェクトをデプロイできます。 この記事では、.NET Aspireを使用して Azure Container Apps に azd
プロジェクトを作成して展開するプロセスについて説明します。 次の概念について学習します。
-
azd
.NET プロジェクト .NET Aspire 統合がどのように機能するかを調べる -
GitHub を使用して、Azure プロジェクトの .NET Aspire または
azd
DevOps リポジトリを作成して構成する - GitHub Actions ワークフローや Azure DevOps パイプラインの実行、および Azure デプロイを監視し調査する
前提 条件
.NET .NET Aspireを使用するには、次のものがローカルにインストールされている必要があります。
- .NET 8.0 または .NET 9.0
- OCI 準拠のコンテナー ランタイム。次に例を示します。
- Docker デスクトップ または Podman。 詳細については、「コンテナーのランタイム」を参照してください。
- 次のような統合開発者環境 (IDE) またはコード エディター。
- Visual Studio 2022 バージョン 17.9 以降 (省略可能)
-
Visual Studio Code (省略可能)
- C# Dev Kit: 拡張 (オプション)
- JetBrains Rider と .NET.NET Aspire プラグイン(オプション)
詳細については、
- Azure DevOps 組織を作成、または既存の組織を選択する
-
Azure DevOps Personal Access Token (PAT) を作成し、後で使用するために保存します。 次のアクセス許可を使用してトークンを構成します。
- エージェント プール (読み取り、管理)
- ビルド (データの読み取りと実行)
- コード (完全)
- プロジェクトとチーム (読み取り、書き込み、管理)
- リリース (読み取り、書き込み、実行、管理)
- サービス接続 (読み取り、クエリ、管理)
また、Azure Developer CLIをローカル (バージョン 1.5.1 以降) にインストールする必要があります。 一般的なインストール オプションは次のとおりです。
.NET .NET Aspire ソリューションを作成する
最初に、この記事では、.NET テンプレートから .NET Aspire.NET ソリューションを作成していることを前提としています。 詳細については、「クイック スタート: 初めての .NET.NET Aspire アプリの構築」を参照してください。
テンプレートを初期化する
新しいターミナル ウィンドウを開き、そして .NET.NET Aspire ソリューションのディレクトリに
cd
を実行します。azd init
コマンドを実行して、azd
を使用してプロジェクトを初期化します。このコマンドにより、ローカル ディレクトリ構造が検査され、アプリの種類が決定されます。azd init
コマンドの詳細については、azd init 参照してください。 2 つのアプリ初期化オプションを入力するように求められたら、現在のディレクトリ のコードを使用
azd
選択します。? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template
ディレクトリをスキャンした後、
azd
が正しい .NET.NET AspireAppHost プロジェクトを見つけたことを確認するように求めてきます。 「Confirm」を選択し、アプリ「」を初期化するオプションを続行します。Detected services: .NET (Aspire) Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Cancel and exit
環境名を入力します。これは、Azure でプロビジョニングされたリソースに名前を付け、
dev
やprod
などのさまざまな環境を管理するために使用します。Generating files to run your app on Azure: (✓) Done: Generating ./azure.yaml (✓) Done: Generating ./next-steps.md SUCCESS: Your app is ready for the cloud! You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd
は、多数のファイルを生成し、作業ディレクトリに配置します。 これらのファイルは次のとおりです。
- azure.yaml: AppHost プロジェクトなどのアプリのサービス .NET Aspire について説明し、それらを Azure リソースにマップします。
-
.azure/config.json: 現在のアクティブな環境が何であるかを
azd
通知する構成ファイル。 - .azure/aspireazddev/.env: 環境固有のオーバーライドが含まれています。
GitHub リポジトリとパイプラインを作成する
Azure Developer CLI を使用すると、リソースをプロビジョニングして Azureにデプロイするための適切な構成とアクセス許可を持つ CI/CD パイプラインを自動的に作成できます。
azd
アプリの GitHub リポジトリがまだ存在しない場合は作成することもできます。
azd pipeline config
コマンドを実行してデプロイ パイプラインを構成し、Azureに安全に接続します。azd pipeline config
アプリ リソースをプロビジョニングしてデプロイするサブスクリプションを選択します。
リソースに使用する Azure の場所を選択します。
ディレクトリに新しい
リポジトリを作成するかどうかを確認するメッセージが表示されたら、「 y 」と入力し、Enterキー押します。 手記
GitHub リポジトリを作成するには、GitHubにログインする必要があります。 好みに応じて異なるいくつかの選択肢があります。 ログインすると、現在のディレクトリに新しいリポジトリを作成するように求められます。
新しいプライベート GitHub リポジトリ を作成を選択して、git リモートを構成します。
新しい GitHub リポジトリに任意の名前を入力するか、Enter キーを押して既定の名前を使用します。
azd
GitHub に新しいリポジトリを作成し、Azureに対する認証に必要なシークレットを使用して構成します。y を入力して、ローカルの変更をコミットしてプッシュし、構成されたパイプラインを開始するように求めるメッセージ
azd
が表示されたら続行します。
GitHub アクションのワークフローとデプロイを調べる
GitHubのリンク出力を使用して、新しい
azd
リポジトリに移動します。アクション タブを選択して、リポジトリ ワークフローを表示します。 新しいワークフローが実行されているか、既に完了していることがわかります。 ワークフローを選択して、実行のログにジョブ ステップと詳細を表示します。 たとえば、
ワークロード のインストール 、アプリケーション のデプロイ などの手順を展開して、完了したアクションの詳細を表示できます。 [アプリケーション展開] を選択して、その手順のログを展開します。
apiservice
とwebfrontend
の 2 つのエンドポイント URL が出力されます。 これらのリンクのいずれかを選択して別のブラウザー タブで開き、デプロイされたアプリケーションを調べる。
おめでとうございます .NET Aspire アクションと Azure Developer CLI アクションを使用して、GitHub プロジェクトを正常にデプロイしました。
Azure DevOps リポジトリとパイプラインを作成する
大事な
前提条件で説明したように、
Azure Developer CLI を使用すると、リソースをプロビジョニングして Azureにデプロイするための適切な構成とアクセス許可を持つパイプラインを自動的に作成できます。
azd
アプリ用の Azure Pipelines リポジトリがまだ存在しない場合は作成することもできます。
azd pipeline config
コマンドを実行してデプロイ パイプラインを構成し、Azureに安全に接続します。 既定の--provider azdo
Actions 構成ではなく、Azure Pipelines を使用する GitHub オプションを含めます。azd pipeline config --provider azdo
アプリ リソースをプロビジョニングしてデプロイするサブスクリプションを選択します。
リソースに使用する Azure の場所を選択します。
先ほど作成した個人用アクセス トークンを貼り付けます。
作成または選択した Azure DevOps 組織名を入力します。
現在のディレクトリに新しいリポジトリを作成するように求められたら、「
y 」と入力し、Enterキー押します。 git リモートを構成するように求められたら、「新しい Azure DevOps プロジェクトを作成する」を選択します。
aspireazd
など、新しいリポジトリに対して選択した一意の名前を入力します。azd
、Azure Repos に新しいリポジトリを作成し、Azureに対する認証に必要なシークレットを使用して構成します。y を入力して、ローカルの変更をコミットしてプッシュし、構成されたパイプラインを開始するように求めるメッセージ
azd
が表示されたら続行します。
パイプラインとデプロイされたアプリを調べる
Azureによる状態リンク出力を使用して、新しい
azd
パイプラインに移動します。完了したパイプライン実行を選択して、概要を表示します。
ビューの下部にあるジョブ リンクを選択して、ジョブの詳細に移動します。
ジョブの詳細ページには、個々のすべてのステージの状態が表示されます。 プロビジョニング インフラストラクチャ を選択すると、そのステージのログが表示されます。このログには、
azd
によって完了したすべてのプロビジョニング手順が詳しく示されます。 ログの下部で、最終的な状態メッセージをメモし、プロビジョニングされた Azure リソース グループにリンクします。プロビジョニング出力ログの下部にあるリンクを選択して、新しい Azure リソース グループに移動します。
手記
Azure ポータルで検索して、新しいリソース グループに直接移動することもできます。 リソース グループ名は、
azd
に指定した環境名の前にrg-
を付けたものになります。webfrontend コンテナー アプリを選択します。コンテナー アプリは、サイトの公開部分をホストします。
Webfrontend の詳細ページで、アプリケーション URL リンクを選択して、ブラウザーでサイトを開きます。
大事な
ブラウザーでサイトを表示するときに 403 Forbidden
エラーが発生した場合は、イングレス設定が正しく構成されていることを確認します。
ポータルの Azure アプリ ページで、左側のナビゲーションの イングレス に移動します。 [イングレス トラフィック
おめでとうございます .NET Aspire と Azure Developer CLI Pipelines を使用して、Azure プロジェクトを正常にデプロイしました。
リソースのクリーンアップ
作成した Azure リソースが不要になったら、次の Azure CLI コマンドを実行してリソース グループを削除します。 リソース グループを削除すると、その中に含まれるリソースも削除されます。
az group delete --name <your-resource-group-name>
詳細については、「リソースをクリーンアップする」をAzureで参照してください。
.NET Aspire