Déployer l’agent sur Azure

Vous avez créé votre agent et l’avez testé localement. Maintenant, donnez-lui vie dans le cloud. Cette étape est facultative. Vous pouvez l’ignorer si vous avez déjà déployé votre agent dans un certain cloud (il n’a même pas besoin d’être Azure).

Ce guide vous guide tout au long du déploiement de votre code d’agent pour Azure et sa publication dans Microsoft centre d’administration, où il devient une ressource inscrite pour votre organisation.

Pour mettre à jour le point de terminaison de messagerie, consultez les ressources suivantes. Ils montrent comment mettre à jour le point de terminaison de messagerie si vous avez déployé votre agent sur d’autres fournisseurs de cloud tels qu’Amazon Web Services ou Google Cloud Platform :

Prerequisites

Avant de commencer, vérifiez que vous disposez des éléments suivants :

Comptes et autorisations requis

Outils requis

Déployer sur Azure

Déployez votre code d’application agent sur Azure à l’aide d’outils Azure standard tels que l’interface de ligne de commande Azure, le portail Azure ou GitHub Actions.

Application de déploiement de l’agent

Utilisez la commande Azure CLI az webapp deploy pour déployer votre application :

# Build your project first (example for .NET)
dotnet publish -c Release -o ./publish

# Deploy to Azure Web App
az webapp deploy --name <your-web-app> --resource-group <your-resource-group> --src-path ./publish

Pour GitHub Actions, utilisez l’action Déployer Azure Web Apps.

Avertissement

Gestion des secrets : Stockez des variables d’environnement, notamment des clés API et des secrets, en tant que paramètres d’application Azure plutôt que dans des fichiers de code ou de configuration. Pour les environnements de production, utilisez Azure Key Vault pour les secrets sensibles. En savoir plus sur le stockage sécurisé des secrets d’application pendant le développement avec ASP.NET Core et le fournisseur de configuration Azure Key Vault. Ne validez jamais de fichiers .env contenant des informations sensibles dans le système de gestion de versions.

Vérifier le déploiement

Une fois le déploiement terminé, utilisez cette liste et les instructions des sections suivantes pour vérifier le déploiement.

Commande de déploiement terminée sans erreurs
L’application web tourne
Les journaux d’application montrent un démarrage réussi
Les variables d’environnement sont configurées
Le point de terminaison de messagerie répond

Vérification de la commande de déploiement complétée sans erreurs

Une fois le déploiement terminé, vérifiez la réussite dans les journaux de déploiement :

  1. Accédez à votre application web sur le Portail Azure.
  2. Va dans Paramètres>Configuration pour vérifier les paramètres de l’application.
  3. Vérifiez les journaux de déploiement dans le centre de déploiement.

Pour voir l’historique détaillé des déploiements :

  1. Accédez au portail > Azure Votre application web
  2. Déploiement>Centre de déploiement
  3. Consultez les journaux de votre dernier déploiement

Si la construction échoue :

Si l’application se bloque après le déploiement :

  • Vérifiez les journaux pour des messages d’erreur spécifiques.
  • Vérifiez que toutes les variables d’environnement requises sont activées.
  • Voir Application se bloque au lancement.

Vérifier que l’application web fonctionne

Utilisez la az webapp show commande pour vérifier que l’application web fonctionne.

az webapp show --name <your-web-app> --resource-group <your-resource-group> --query state

La sortie attendue de cette commande est Running.

Vérifiez que les journaux d'application montrent un démarrage réussi

Pour afficher les journaux d’activité d’application web dans le portail Azure :

  1. Recherchez l’application web par nom dans le portail Azure.
  2. Aller à Synthèse>Journaux>Flux de journaux.

Sinon, vous pouvez utiliser la commande PowerShell az webapp log tail pour lire les journaux de l’application web :

az webapp log tail --name <your-web-app> --resource-group <your-resource-group>

S'il y a des messages de plantage ou d'erreur dans les journaux, voir Application plante au démarrage.

Vérifier que les variables d’environnement sont configurées

Dans Azure portail :

  1. Accédez à votre application web.
  2. Va dans Paramètres>Variables d’environnement.
  3. Vérifiez que vos paramètres existent.

Si les variables d’environnement ne sont pas définies :

Vérifier si le point de terminaison de messagerie répond

Testez que le point de terminaison que vous trouvez dans la page Vue d’ensemble de votre application web existe à l’aide de PowerShell ou d’autres moyens. Sinon, voir 404 sur le point de terminaison de la messagerie.

Étapes suivantes

Ensuite, publiez votre application agent dans Microsoft Admin Center afin de pouvoir créer des instances d’agents et des utilisateurs à partir de celle-ci.

Votre agent est désormais en ligne dans le cloud et prêt à répondre aux demandes d’agent. Alors que votre agent gère des demandes réelles, considérez les étapes suivantes pour votre code :

  • Surveillez la performance : Utilisez des fonctionnalités d’observabilité pour suivre le comportement des agents et optimiser les réponses.
  • Ajoutez plus d’outils : Explorez le catalogue d’outils pour élargir les capacités de votre agent.
  • Itérer et améliorer : mettez à jour le code de votre agent, redéployez et republiez (n’oubliez pas d’incrémenter le numéro de version !).
  • Évoluez dans votre organisation : partagez les histoires de réussite de votre agent pour stimuler l’adoption.

Dépannage

Cette section décrit les problèmes courants lors du déploiement d’agents sur Azure.

Conseil

Le Guide de dépannage de l’Agent 365 contient des recommandations générales de dépannage, les meilleures pratiques et des liens vers du contenu de dépannage pour chaque étape du cycle de développement de l’Agent 365.

Échec de la commande de déploiement

Symptôme: Le déploiement vers Azure échoue.

Causes et solutions courantes :

  • Erreurs de compilation

    Reconstruisez le projet localement pour voir des erreurs de compilation détaillées :

    # .NET
    dotnet clean
    dotnet build --verbosity detailed
    
    # Python
    uv build
    
    # Node.js
    npm install
    npm run build
    
  • L'authentification Azure a expiré

    Reconnectez-vous à Azure :

    az login
    az account show  # Verify correct subscription
    
  • Application Web non créée

    Lister les applications Web pour confirmer l'existence de la cible :

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    
  • Vérifier les journaux de déploiement

    Utilisez la az webapp log tail commande pour consulter les journaux de déploiement détaillés :

    az webapp log tail --name <your-app-name> --resource-group <your-resource-group>
    
  • Vérification :

    # Web App should be running
    az webapp show --name <your-app-name> --resource-group <your-resource-group> --query state
    # Expected: "Running"
    

L’application web est arrêtée

Symptôme: Le déploiement réussit, mais l’application web n’est pas en cours d’exécution.

Solution : Utilisez az webapp start et az webapp show pour démarrer l’application web et vérifiez qu’elle est en cours d’exécution.

# Start the Web App
az webapp start --name <your-app> --resource-group <your-resource-group>

# Verify it's running
az webapp show --name <your-app> --resource-group <your-resource-group> --query state

L’application plante au démarrage

Symptôme: L’application web démarre mais se bloque immédiatement ; les journaux affichent des erreurs.

Causes courantes :

  • Dépendances manquantes : vérifiez la sortie de build pour vous assurer qu’elle inclut tous les packages requis.
  • Variables d’environnement manquantes : vérifiez que tous les paramètres requis sont configurés.
  • Incompatibilité de version du runtime : vérifiez que le runtime Azure correspond à votre environnement de développement.
  • Erreurs de code : vérifiez les journaux d’activité des applications pour des exceptions spécifiques.

Solution : Utilisez les az webapp log tailcommandes , az webapp config appsettings list, et az webapp config appsettings set pour consulter les journaux, vérifier les variables d’environnement et définir les variables manquantes.

# View application logs
az webapp log tail --name <your-app> --resource-group <your-resource-group>

# Check environment variables
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Manually set a missing variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings KEY=VALUE

404 sur l'endpoint de messagerie

Symptôme: L'application web fonctionne mais /api/messages l'adresse de point de terminaison renvoie 404.

Solution:

  1. Vérifiez la configuration de l’itinéraire dans votre code d’agent.
  2. Vérifiez que le gestionnaire de terminaison est correctement enregistré.
  3. Assurez-vous que le bon point d’entrée est spécifié lors du déploiement.

Testez le point de terminaison en envoyant une GET requête à l’URL. Utilisez la az webapp config show commande pour vérifier la configuration de l’application web.

curl https://<your-app-name>.azurewebsites.net/api/messages
az webapp config show --name <your-app> --resource-group <your-resource-group>

Variables d’environnement non définies ou incorrectes

Symptôme: Le déploiement réussit mais l’agent ne fonctionne pas ; Erreurs de configuration manquantes dans les journaux.

Solution : Vérifiez et mettez à jour les variables d’environnement. Utilisez les az webapp config appsettings listcommandes , et az webapp config appsettings set pour vérifier les variables d’environnement et définir les variables manquantes. Puis redéployer.

# List all app settings
az webapp config appsettings list --name <your-app> --resource-group <your-resource-group>

# Set a specific variable
az webapp config appsettings set --name <your-app> --resource-group <your-resource-group> --settings API_KEY=your-value

La compilation réussit localement, mais échoue dans Azure

Symptom : Le code se compile correctement sur votre ordinateur, mais échoue pendant le déploiement sur Azure.

Solutions :

  • Vérifiez les dépendances spécifiques à la plateforme

    • Certains packages proposent des builds spécifiques à chaque plateforme.
    • Vérifiez que les dépendances prennent en charge Linux (Azure Web Apps s’exécutent sur Linux par défaut).
  • Vérifier la correspondance des versions à l’exécution

    Exécutez les commandes suivantes :

    # Check your local version
    dotnet --version  # .NET
    node --version    # Node.js
    python --version  # Python
    

    Comparer avec Azure runtime dans le portail : Paramètres>Configuration>Paramètres généraux>Paramètres de pile.

Pour obtenir de l’aide supplémentaire, consultez : Résolution des problèmes de point de terminaison de messagerie.