Azure Developer CLI のしくみ
Azure Developer CLI (azd
) は、開発者にとって使いやすいコマンドと基本的なアプリケーション テンプレートを中心に構築されています。 azd
には、標準化されたプロジェクト テンプレートを使用して Azure 上のアプリケーションのオンボードと管理に役立つ一連のコマンドが用意されています。 これらのテンプレートには、アプリをプロビジョニングして Azure にデプロイするために必要なすべてのソース コードと構成資産が含まれます。 azd
の使用を開始するには、既存の拡張可能なサンプル テンプレートのいずれかを使用するか、独自のテンプレートを作成することができます。
azd
コマンドを調べる
Azure Developer CLI には、リソースのプロビジョニングやデプロイなど、一般的な開発ワークフロー ステージにマップされる、アプローチ可能な一連のコマンドが含まれています。 azd up
などの一部のazd
コマンドでは、これらのタスクをさらに効率化するために、複数のステージを一度に処理することもできます。
例えば、既存のテンプレートを使用した一般的な azd
ワークフローは、次のステップを含みます。
--template
パラメーターを指定してazd init
コマンドを実行して、既存のテンプレートを複製し、プロンプトが表示されたら環境名を設定します。azd init --template todo-nodejs-mongo
azd auth login
コマンドを実行して、Azure サブスクリプションにサインインします。azd auth login
azd up
コマンドを実行して、テンプレート リソースを Azure にプロビジョニングし、デプロイします。azd up
Azure で環境が設定されたら、アプリケーション機能または Azure リソース テンプレートをローカルで変更し、
azd up
をもう一度実行して変更をプロビジョニングすることができます。
他の azd
コマンドを使用して、他のタスクを完了し、このワークフローを展開できます。 azd
は、使用しやすくするために、パラメーターが少ない最小限の数のコマンドを使用するように設計されています。 最も一般的な azd
コマンドの一部を次に示します。
- azd init - 新しいアプリケーションを初期化します。
- azd up - Azure リソースをプロビジョニングし、1 つのコマンドでプロジェクトをデプロイします。
- azd provision - アプリケーションの Azure リソースをプロビジョニングします。
- azd deploy - アプリケーション コードを Azure にデプロイします。
- azd pipeline - (Beta) デプロイ パイプラインを管理および構成します。
- azd auth - Azure で認証します。
- azd config - azd 構成 (既定の Azure サブスクリプション、場所など) を管理します。
- azd down - アプリケーションの Azure リソースを削除します。
azd
テンプレートを調べる
Azure Developer CLI コマンドは、標準化されたプロジェクト テンプレートを使用するように設計されています。 各テンプレートは、特定のファイルおよびフォルダーの規則に準拠したコード リポジトリです。 テンプレートには、Azure リソース azd
プロビジョニングし、必要に応じてアプリケーション ソース コードをデプロイするために必要な資産が含まれています。 一部のテンプレートには、独自のテンプレートを追加するという前提でアプリケーション ソース コードが含まれていない場合があります。 azd up
などのコマンドを実行すると、ツールはプロジェクト テンプレートアセットを使用して、リソースのプロビジョニングや Azure へのデプロイなどのさまざまなワークフローステップを実行します。
azd
テンプレートを扱う方法には、主に次の 2 つのアプローチがあります。
既存の
azd
テンプレートを拡張 する - 一般的なローカル アプリケーション スタック、シナリオ、アーキテクチャをカバーするために、azd
テンプレートの大規模なライブラリが既に存在します。 多くのテンプレートは、 awesome-azd テンプレート ライブラリ サイトで参照できます。 ローカル アプリケーション スタックまたは目的のアーキテクチャにマップされるテンプレートが見つかる場合は、それを開始点として使用できます。 次に、ソース コード ディレクトリを置き換え、ニーズに合わせて構成ファイルまたはインフラストラクチャ ファイルを変更します。独自のアプリをある - また、テンプレートに変換する に対応させるための ガイドに従って、既存のアプリを に変換することもできます。 独自のテンプレートの作成は、多くの場合、最初は作業が多くなりますが、最も制御が可能になり、アプリでの将来の開発作業のために再利用可能なソリューションが生成されます。 独自のテンプレートを作成する主要な手順は次のとおりです。 azd init
を使用してプロジェクト テンプレートを初期化する。Bicep または Terraform を使用して、コード ファイルとしてインフラストラクチャを作成します。
アプリサービスとAzureリソースを結び付けるために
azure.yaml
ファイルを更新してください。azd up
を使用してプロビジョニングおよびデプロイ。
選択した方法に関係なく、結果のテンプレート構造は同じです。 すべての azd
テンプレートには、次の資産が含まれます。
infra
フォルダー -azd
テンプレートのコード ファイルとしてすべての Bicep または Terraform インフラストラクチャが含まれています。 コードとしてのインフラストラクチャを使用すると、宣言型定義ファイルで、デプロイされるたびに同じ環境を確実に生成するインフラストラクチャのリソースと構成を定義できます。 Terraform は複数のクラウド プラットフォームで動作しますが、Bicep は Azure に固有です。 これらのファイルは、アプリをホストするために必要な Azure リソースを作成するために、azd
によって実行されます。 コードとしてのインフラストラクチャの詳細については、「コードとしての インフラストラクチャとは」 トレーニング モジュールを参照してください。azure.yaml
ファイル - プロジェクト内の 1 つ以上のサービスを定義し、デプロイのために Azure リソースにマップする構成ファイル。 たとえば、API サービスと Web フロントエンド サービスを定義し、それぞれにデプロイのためのさまざまな Azure リソースにマップする属性を指定できます。フォルダー - Azure の重要な構成や環境変数が含まれており、リソースのデプロイ先やその他のサブスクリプション情報に関する設定を提供します。
src folder
- デプロイ可能なすべてのアプリのソース コードが含まれています。 一部のazd
テンプレートはインフラストラクチャ資産のみを提供し、独自のアプリケーション コードを追加するためにsrc
ディレクトリを空のままにします。
さらに、ほとんどの azd
テンプレートには、必要に応じて次のフォルダーが 1 つ以上含まれます。
.devcontainer
フォルダー - アプリケーションの Dev Container 環境を設定できます。azd
に固有ではない一般的な開発環境のアプローチ。.github
フォルダー -azd
の既定の CI/CD プロバイダーである GitHub Actions の CI/CD ワークフロー ファイルを保持します。.azdo
フォルダー - CI/CD に Azure Pipelines を使用する場合は、このフォルダーにワークフロー構成ファイルを定義します。