リモート ビルドを使用すると、ローカル開発環境からクラウド内のマネージド ビルド サービスにコンテナー イメージをビルドするプロセスをオフロードできます。 これは、大規模または複雑なビルドや、ローカル コンピューターに必要なリソースや依存関係がない場合に特に便利です。 Azure Developer CLI (azd) は、Azure Container Apps にデプロイするときに、Azure Container Registry (ACR) を介したリモート ビルドをサポートします。
Azure Container Registry は、ソース コードと Dockerfile をコンテナー イメージに組み込むことができる、セキュリティで保護されたクラウドベースの環境を提供することで、リモート ビルドをサポートします。 ACR タスクを使用すると、イメージのビルドとデプロイを自動化して、開発環境と運用環境全体の一貫性とスケーラビリティを確保できます。
Azure Developer CLI (azd) テンプレートでリモート ビルドを使用すると、次のような利点があります。
- リソース効率: コンピューティング集中型ビルドをクラウドにオフロードします。
- 一貫性: ビルドが再現可能であり、ローカル環境の違いから分離されていることを確認します。
- スケーラビリティ: ローカル コンピュータに負担をかけずに、複数のイメージを並列にビルドします。
- 安全: ローカル デバイスではなく、Azure で機密性の高いビルド シークレットと資格情報を保持します。
リモート ビルドを構成する
Azure Container Registry でリモート ビルドを使用するように Azure Developer CLI を構成するには、次の手順に従います。
インフラストラクチャ ファイルを更新します。
- コードとしてのインフラストラクチャ (IaC) テンプレート (Bicep、ARM、Terraform など) が Azure Container Registry リソースをプロビジョニングしていることを確認します。
- レジストリからイメージをプッシュおよびプルするために、ビルド プロセスに必要なアクセス許可を付与します。
プロジェクトの
azure.yamlで、リモート ビルドを使用するようにdocker構成を更新します。services: webapp: project: ./src/webapp language: js host: containerapp docker: path: ./Dockerfile remoteBuild: trueazd upまたはazd deployコマンドを実行します。azdは、リモート ビルド構成を検出し、テンプレートによってプロビジョニングされた Azure Container Registry にビルドを送信します。
リモート ビルドを確認する
azd up ワークフローが完了したら、Azure portal でリモート ビルドが実行されていることを確認します。
プロビジョニングされたコンテナー レジストリに移動します。
左側のナビゲーションで、[ サービス > リポジトリ] を選択します。
一覧からリポジトリを選択し、最新のタグを選択します。
実行 ID を選択して、コンテナーのビルド プロセスの出力ログを表示します。
ログを参照して、Docker 基本イメージの取得やソース コードのコンパイルなどの主要なビルド手順を表示します。