Share via


Azure Container Apps で Azure CLI を使用して GitHub Actions を設定する

Azure Container Apps を使用すると GitHub Actions を使用して、コンテナー アプリにリビジョンを発行できます。 コミットが GitHub リポジトリにプッシュされると、コンテナー レジストリ内のコンテナー イメージを更新する GitHub Actions ワークフローがトリガーされます。 レジストリでコンテナーが更新されると、Azure Container Apps によって、更新されたコンテナー イメージに基づいて新しいリビジョンが作成されます。

Changes to a GitHub repo trigger an action to create a new revision.

GitHub Actions ワークフローは、リポジトリ内の特定のブランチへのコミットによってトリガーされます。 ワークフローを作成するときに、どのブランチがアクションをトリガーするかを決定します。

この記事では、Azure CLI を使用してスターター GitHub Actions ワークフローを生成する方法について説明します。 完全にカスタマイズできる独自のワークフローを作成するには、「GitHub Actions を使用して Azure Container Apps にデプロイする」を参照してください。

認証

GitHub Actions の統合を追加または削除する場合は、GitHub 個人用アクセス トークンを渡すか、対話型の GitHub ログイン操作を使用して認証できます。 対話型エクスペリエンスを使用すると、Web ブラウザーでフォームが開き、GitHub にログインできるようになります。 正常に認証されると、現在のセッションの残りの部分に対して GitHub によって使用される CLI にトークンが戻されます。

  • 個人用アクセス トークンを渡すには、--token パラメーターを使用してトークン値を指定します。
  • 対話型ログインを使用する場合は、--login-with-github パラメーターに値を指定せずに使用します。

Note

GitHub 個人用アクセス トークンでは、workflow スコープが選択されている必要があります。

追加

containerapp github-action add コマンドにより、コンテナー アプリとの GitHub Actions の統合が作成されます。

Note

次の例に進む前に、最初のコンテナー アプリを既にデプロイしている必要があります。

GitHub Actions をコンテナー アプリに初めてアタッチするときは、サービス プリンシパルのコンテキストを指定する必要があります。 次のコマンドは、サービス プリンシパルを作成する方法を示しています。

az ad sp create-for-rbac \
  --name <SERVICE_PRINCIPAL_NAME> \
  --role "contributor" \
  --scopes /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>

この例を操作するときは、<> で囲まれたプレースホルダーを実際の値に置き換えてください。

このコマンドからの戻り値は、サービス プリンシパルの appIdpassword、および tenant を含みます。 これらの値を az containerapp github-action add コマンドに渡す必要があります。

次の例は、個人用アクセス トークンを使用して統合を追加する方法を示しています。

az containerapp github-action add \
  --repo-url "https://github.com/<OWNER>/<REPOSITORY_NAME>" \
  --context-path "./dockerfile" \
  --branch <BRANCH_NAME> \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --registry-url <URL_TO_CONTAINER_REGISTRY> \
  --registry-username <REGISTRY_USER_NAME> \
  --registry-password <REGISTRY_PASSWORD> \
  --service-principal-client-id <appId> \
  --service-principal-client-secret <password> \
  --service-principal-tenant-id <tenant> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

この例を操作するときは、<> で囲まれたプレースホルダーを実際の値に置き換えてください。

表示

containerapp github-action show コマンドは、コンテナー アプリの GitHub Actions の構成設定を返します。

この例では、個人用アクセス トークンを使用しているときに統合を追加する方法を示します。

az containerapp github-action show \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME>

この例を操作するときは、<> で囲まれたプレースホルダーを実際の値に置き換えてください。

このコマンドは、GitHub Actions 統合構成設定を含む JSON ペイロードを返します。

削除

containerapp github-action delete コマンドは、GitHub Actions をコンテナー アプリから削除します。

az containerapp github-action delete \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME> \
  --token <YOUR_GITHUB_PERSONAL_ACCESS_TOKEN>

この例を操作するときは、<> で囲まれたプレースホルダーを実際の値に置き換えてください。