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.
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.