Partage via


Configurer GitHub Actions avec Azure CLI dans Azure Container Apps

Azure Container Apps vous permet d’utiliser GitHub Actions pour publier des révisions sur votre application de conteneur. Quand des commits sont envoyés (push) à votre dépôt GitHub, un workflow GitHub Actions est déclenché et met à jour l’image conteneur dans le registre de conteneurs. Une fois le conteneur mis à jour dans le registre, Azure Container Apps crée une nouvelle révision basée sur l’image de conteneur mise à jour.

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

Le workflow GitHub Actions est déclenché par les commits dans une branche spécifique de votre dépôt. Quand vous créez le workflow, vous déterminez la branche qui déclenche l’action.

Cet article vous montre comment générer un workflow de démarrage GitHub Actions avec Azure CLI. Pour créer votre propre workflow que vous pouvez entièrement personnaliser, consultez Déployer sur Azure Container Apps avec GitHub Actions.

Authentification

Lors de l’ajout ou de la suppression d’une intégration GitHub Actions, vous pouvez vous authentifier en transmettant un jeton d’accès personnel GitHub ou en utilisant l’expérience de connexion GitHub interactive. L’expérience interactive ouvre un formulaire dans votre navigateur web et vous donne la possibilité de vous connecter à GitHub. Après authentification, un jeton est renvoyé à l’interface CLI qui est utilisée par GitHub pour le reste de la session active.

  • Pour passer un jeton d’accès personnel, utilisez le paramètre --token et fournissez une valeur de jeton.
  • Si vous choisissez d’utiliser une connexion interactive, utilisez le paramètre --login-with-github sans valeur.

Remarque

L’étendue workflow doit être sélectionnée pour votre jeton d’accès personnel GitHub.

Ajouter

La commande containerapp github-action add crée une intégration GitHub Actions avec votre application de conteneur.

Remarque

Avant de passer à l’exemple ci-dessous, vous devez avoir déjà déployé votre première application conteneur.

La première fois que vous joignez GitHub Actions à votre application de conteneur, vous devez fournir un contexte de principal de service. La commande suivante vous montre comment créer un principal de service.

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

Quand vous interagissez avec cet exemple, remplacez les espaces réservés entre <> par vos valeurs.

Les valeurs renvoyées de cette commande incluent les valeurs appId, password et tenant du principal de service. Vous devez passer ces valeurs à la commande az containerapp github-action add.

L’exemple suivant montre comment ajouter une intégration en utilisant un jeton d’accès personnel.

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>

Quand vous interagissez avec cet exemple, remplacez les espaces réservés entre <> par vos valeurs.

Afficher

La commande containerapp github-action show retourne les paramètres de configuration de GitHub Actions pour une application de conteneur.

L’exemple suivant montre comment ajouter une intégration en utilisant le jeton d’accès personnel.

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

Quand vous interagissez avec cet exemple, remplacez les espaces réservés entre <> par vos valeurs.

Cette commande retourne une charge utile JSON avec les paramètres de configuration d’intégration de GitHub Actions.

Supprimer

La commande containerapp github-action delete supprime les actions GitHub de l’application de conteneur.

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

Quand vous interagissez avec cet exemple, remplacez les espaces réservés entre <> par vos valeurs.