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 - 1 つのコマンドで、Azure リソースをプロビジョニングし、プロジェクトをデプロイします。
- azd provision - アプリケーションの Azure リソースをプロビジョニングします。
- azd deploy - アプリケーション コードを Azure にデプロイします。
- azd pipeline - (ベータ) デプロイ パイプラインを管理および構成します。
- 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 template library サイトで多くのテンプレートを参照することができます。 ローカル アプリケーション スタックまたは希望するアーキテクチャにマップされるテンプレートが見つかったら、それを開始点として使用できます。 次に、ソース コード ディレクトリを置き換え、ニーズに合わせて構成またはインフラストラクチャ ファイルを変更します。独自のアプリを
azd
テンプレートに変換する - 「プロジェクトをazd
と互換性のあるものにする」ガイドに従って、既存のアプリをazd template
に変換することもできます。 独自のテンプレートを作成する場合、最初は手間がかかることが少なくありませんが、最大限の制御が可能になり、将来のアプリ開発作業に再利用できるソリューションが生成されます。 独自のテンプレートを作成する主な手順は、次のとおりです。azd init
を使用してプロジェクト テンプレートを初期化する。Bicep または Terraform を使用してコードとしてのインフラストラクチャ ファイルを作成する。
アプリ サービスと Azure リソースを結び付けるように
azure.yaml
ファイルを更新する。azd up
を使用してプロビジョニングし、デプロイする。
どのアプローチを選択しても、結果として生成されるテンプレート構造は同じです。 すべての azd
テンプレートには、次の資産が含まれます。
infra
フォルダー - すべての Bicep または Terraform インフラストラクチャがazd
テンプレートのコード ファイルとして含まれます。 コードとしてのインフラストラクチャを使用すると、宣言型定義ファイルで、デプロイされるたびに同じ環境を確実に生成するインフラストラクチャのリソースと構成を定義できます。 Terraform は複数のクラウド プラットフォームで動作しますが、Bicep は Azure に固有です。 これらのファイルは、アプリをホストするために必要な Azure リソースを作成するために、azd
によって実行されます。 コードとしてのインフラストラクチャの詳細については、トレーニング モジュール「コードとしてのインフラストラクチャ (IaC) とは?」を参照してください。azure.yaml
ファイル - プロジェクト内の 1 つ以上のサービスを定義し、デプロイのためにそれらを Azure リソースにマップする構成ファイル。 たとえば、API サービスと Web フロントエンド サービスを定義し、それぞれにデプロイのためのさまざまな Azure リソースにマップする属性を指定できます。.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 を使用する場合は、このフォルダーにワークフロー構成ファイルを定義します。