テンプレートの CI/CD パイプラインを構成する
アプリのリソースをプロビジョニングして Azure にデプロイする方法と、新しい変更内容でそれらを更新する方法について学習しました。 ただし、以前のワークフローでは、手動でコマンドを実行して環境に変更を適用する必要がありました。 Azure Developer CLI (azd
) を使うと、GitHub Actions または Azure Pipelines による継続的インテグレーションと継続的デプロイ (CI/CD) パイプラインを使って、このプロセスをさらに自動化することもできます。 CI/CD パイプラインを構成すると、変更をコミットして GitHub にプッシュするだけで、最新の変更内容で Azure 環境を自動的に更新できます。
パイプラインを構成する
ほとんどの azd
テンプレートには、.github
フォルダー (GitHub Actions) または .azdo
フォルダー (Azure Pipelines) に CI/CD ワークフロー ファイルが含まれています。 このモジュールで使うサンプル テンプレートは GitHub Actions に依存していますが、azd
のコマンドとワークフローは、CI/CD プラットフォームに関係なく同じです。 CI/CD を設定するには、GitHub リポジトリが必要です。 元の azd
テンプレート リポジトリをフォークしてリモートとして設定することで新しいリポジトリを作成するか、パイプライン構成プロセス中に azd
を使ってリポジトリを作成することができます。この例では、後者のアプローチを使います。
次の手順を実行して、テンプレートの CI/CD パイプラインを構成します。
プロジェクトのルート ディレクトリに設定されたコマンド プロンプトで、次のコマンドを実行します。
azd pipeline config
[GitHub] を選択します。
プロジェクトに GitHub の origin が設定されていない場合、
azd
によってリモート リポジトリの構成方法を確認されます。 [Create a new private GitHub repository] (新しいプライベート GitHub リポジトリを作成する) のオプションを選択してから、新しいリポジトリの名前を入力します。azd
によって次のタスクが自動的に実行されます。- GitHub リポジトリを作成し、プロジェクト コードをコミットする。
- Azure サブスクリプション上にアプリのサービス プリンシパルを作成して構成する。
- そのサービス プリンシパルと GitHub シークレットを使って、Azure とリポジトリの間のセキュリティで保護された接続を構成する。
azd
によって、ローカルの変更をコミットし、構成したパイプラインにプッシュするかどうかも確認されます。 「yes」と入力し、完了するまで待ちます。コンソールの出力 URL を選択して、ブラウザー タブで新しい GitHub リポジトリを開きます。
[Actions] タブに移動して、コードの認証、パッケージ化、プロビジョニング、デプロイを行うワークフロー実行を見つけます。 ワークフローでは、前に使用したのと同じ
azd auth login
、azd provision
、azd deploy
コマンドが使用されます。 プロジェクトの.github
フォルダーで、このワークフローの詳細を確認できます。
パイプラインを構成したら、コードの変更を GitHub にプッシュすることで、Azure 環境とデプロイされたアプリを継続的に更新できます。 また、前の手順と同様に、引き続きローカルで azd
コマンドを実行することもできます。