Partager via


Démarrage rapide : Générer et déployer à partir d’un dépôt sur Azure Container Apps

Cet article explique comment générer et déployer un microservice sur Azure Container Apps à partir d’un dépôt GitHub à l’aide du langage de programmation de votre choix. Dans ce guide de démarrage rapide, vous allez créer un exemple de microservice qui représente un service d’API web back-end qui retourne une collection statique d’albums de musique.

Cet exemple d’application est disponible en deux versions. Une version inclut un conteneur, où la source contient un fichier Dockerfile. L’autre version n’a pas de fichier Dockerfile. Sélectionnez la version qui reflète le mieux votre code source. Si vous débutez avec les conteneurs, sélectionnez l’option Aucun fichier Dockerfile en haut.

Remarque

Vous pouvez également générer et déployer cet exemple d’application à partir de votre système de fichiers local. Pour plus d’informations, consultez Générer à partir de code source local et déployer votre application sur Azure Container Apps.

La capture d’écran suivante montre la sortie du service d’API album que vous déployez.

Capture d’écran de la réponse du point de terminaison de l’API albums.

Prérequis

Pour mener à bien ce projet, vous avez besoin des éléments suivants :

Condition requise Instructions
Compte Azure Si vous n’en avez pas un, créez un compte gratuitement. Vous avez besoin de l’autorisation Contributeur ou Propriétaire sur l’abonnement Azure pour continuer.

Pour plus d’informations, consultez Attribuer des rôles Azure à l’aide du portail Azure.
Compte GitHub Vous pouvez en obtenir un gratuitement.
git Installez Git
Azure CLI Installez Azure CLI.

Programme d’installation

Pour vous connecter à Azure à partir de l’interface CLI, exécutez la commande suivante et suivez les invites pour procéder à l’authentification.

az login

Pour être sûr d’utiliser la dernière version de l’interface CLI, exécutez la commande de mise à niveau.

az upgrade

Ensuite, installez ou mettez à jour l’extension Azure Container Apps pour l’interface CLI.

Si vous recevez des erreurs concernant des paramètres manquants lorsque vous exécutez des commandes az containerapp dans Azure CLI ou les cmdlets du module Az.App dans Azure PowerShell, assurez-vous que la dernière version de l’extension Azure Container Apps est installée.

az extension add --name containerapp --upgrade

Remarque

À compter de mai 2024, les extensions Azure CLI n’activent plus les fonctionnalités en préversion par défaut. Pour accéder aux fonctionnalités en préversion de Container Apps, installez l’extension Container Apps avec --allow-preview true.

az extension add --name containerapp --upgrade --allow-preview true

Maintenant que la version actuelle de l’extension ou du module est installée, inscrivez les espaces de noms Microsoft.App et Microsoft.OperationalInsights.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Créer des variables d’environnement

À présent que votre configuration Azure CLI est terminée, vous pouvez définir les variables d’environnement utilisées dans cet article.

Définissez les variables suivantes dans votre interpréteur de commandes Bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
export GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Avant d’exécuter cette commande, veillez à remplacer <YOUR_GITHUB_USERNAME> par votre nom d’utilisateur GitHub.

Définissez ensuite un nom de registre de conteneurs qui vous est propre.

export ACR_NAME="acaalbums"$GITHUB_USERNAME

Préparer le référentiel GitHub

Dans une fenêtre de navigateur, accédez au référentiel GitHub de votre langue préférée, puis dupliquez le référentiel.

Sélectionnez le bouton Dupliquer (fork) en haut du référentiel de l’API album pour dupliquer le référentiel dans votre compte. Copiez ensuite l’URL du dépôt pour l’utiliser à l’étape suivante.

Dans une fenêtre de navigateur, accédez au dépôt GitHub de votre langage préféré et dupliquez le dépôt, y compris les branches.

Sélectionnez le bouton Dupliquer (fork) en haut du référentiel de l’API album pour dupliquer le référentiel dans votre compte. Décochez la case « Copier la branche main uniquement » pour également dupliquer la branche buildpack.


Générer, puis déployer l’application conteneur

Générez, puis déployez votre première application conteneur depuis votre référentiel GitHub avec la commande containerapp up. Cette commande va :

  • Créer le groupe de ressources
  • Créer l’environnement Container Apps avec un espace de travail Log Analytics
  • Création d’un Azure Container Registry
  • Créer un workflow GitHub Action pour générer, puis déployer l’application conteneur
  • Créer le groupe de ressources
  • Créer l’environnement Container Apps avec un espace de travail Log Analytics
  • Créer automatiquement un registre par défaut dans le cadre de votre environnement
  • Créer un workflow GitHub Action pour générer, puis déployer l’application conteneur

Lorsque vous envoyez du nouveau code au dépôt, l’action GitHub :

  • Génère l’image conteneur, puis l’envoie (push) à Azure Container Registry.
  • Déploie l’image conteneur sur l’application conteneur créée.

La commande up utilise le Dockerfile à la racine du dépôt pour générer l’image conteneur. L’instruction EXPOSE dans le Dockerfile définit le port cible. Aucun fichier Docker n’est nécessaire pour générer une application conteneur.

  • Détecter automatiquement le langage et le runtime
  • Générer l’image à l’aide du Buildpack approprié
  • Envoyer (push) l’image dans le registre Azure Container Apps par défaut

L’application conteneur doit être accessible au trafic d’entrée. Veillez à exposer le port 8080 pour écouter les requêtes entrantes.

Dans la commande suivante, remplacez <YOUR_GITHUB_REPOSITORY_NAME> par le nom de votre dépôt GitHub sous la forme https://github.com/<OWNER>/<REPOSITORY-NAME> ou <OWNER>/<REPOSITORY-NAME>.

Dans la commande suivante, remplacez <YOUR_GITHUB_REPOSITORY_NAME> par le nom de votre dépôt GitHub sous la forme https://github.com/<OWNER>/<REPOSITORY-NAME> ou <OWNER>/<REPOSITORY-NAME>. Utilisez l’option --branch buildpack pour pointer vers l’exemple de source sans Dockerfile.

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --ingress external \
  --target-port 8080 \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
  --branch buildpack
  --

À l’aide de l’URL et du code utilisateur affichés dans le terminal, accédez à la page d’activation de l’appareil GitHub dans un navigateur, puis entrez le code utilisateur dans la page. Suivez les invites pour autoriser Azure CLI à accéder à votre référentiel GitHub.

La commande up crée un workflow GitHub Actions dans le dossier .github/workflows de votre dépôt. Le workflow est déclenché pour générer, puis déployer votre application conteneur lorsque vous envoyez (push) des modifications au référentiel.


Vérifier le déploiement

Copiez le nom de domaine retourné par containerapp up dans un navigateur web. À partir de votre navigateur web, accédez au point de terminaison /albums de l’URL.

Capture d’écran de la réponse du point de terminaison de l’API albums.

Nettoyer les ressources

Si vous ne passez pas au tutoriel Déployer un front-end, vous pouvez supprimer les ressources Azure créées lors de ce démarrage rapide avec la commande suivante.

Attention

La commande suivante supprime le groupe de ressources spécifié et toutes les ressources qu’il contient. Si le groupe contient des ressources ne concernant pas ce démarrage rapide, ces ressources sont également supprimées.

az group delete --name $RESOURCE_GROUP

Conseil

Vous rencontrez des problèmes ? Faites-le nous savoir sur GitHub en ouvrant un problème dans le dépôt Azure Container Apps.

Étapes suivantes

Après avoir terminé ce guide de démarrage rapide, vous pouvez passer à Tutoriel : communication entre les microservices dans Azure Container Apps pour apprendre à déployer une application front-end qui appelle l’API.