Partager via


Deploy agent to Azure

Important

Vous devez faire partie du programme Frontier en version préliminaire pour obtenir un accès anticipé à Microsoft Agent 365. Frontier vous connecte directement aux dernières innovations d’IA de Microsoft. Les versions préliminaires Frontier sont soumises aux conditions existantes de vos contrats clients qui régissent les versions préliminaires. Comme ces fonctionnalités sont encore en cours de développement, leur disponibilité et leurs capacités peuvent évoluer au fil du temps.

Vous avez créé votre assistant et l’avez testé localement : il est maintenant temps de le déployer dans le cloud. Cette étape est optionnelle et peut être ignorée si vous avez déjà déployé votre agent dans un cloud (il n’est même pas nécessaire d’être Azure).

Ce guide vous guide dans le déploiement du code de votre agent sur Azure et sa publication dans le centre d’administration Microsoft, où il devient un actif identifiable pour votre organisation.

Il existe également des ressources pour montrer comment mettre à jour le point de terminaison de messagerie si, au lieu d’Azure, vous avez déjà déployé votre agent auprès d’autres fournisseurs cloud comme 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

La a365 deploy commande comporte deux sous-commandes :

  • a365 deploy app - Déploie votre code d’agent dans l’application Web Azure créée lors de la configuration.
  • a365 deploy mcp - Met à jour les permissions du serveur MCP sur votre blueprint d’agent.

Ce guide se concentre sur le déploiement du code de votre application d’agent sur Azure.

Application de déploiement de l’agent

Exécutez la a365 deploy commande :

a365 deploy

Options de déploiement

La commande déploy prend en charge plusieurs options utiles :

Choix Descriptif Cas d’usage
--dry-run Montre ce qui serait déployé sans exécution Étapes de déploiement en aperçu avant exécution
--inspect Une pause avant le déploiement pour inspecter le contenu du dossier de publication et du ZIP Problèmes de paquets de déploiement de débogage
--restart Saute la compilation et la compression du dossier de publication existant Itération rapide après modifications manuelles
-v, --verbose Permet une journalisation détaillée Résolution des problèmes de déploiement
-c, --config Spécifie le chemin du fichier de configuration personnalisé Utilisation de la configuration non par défaut

Note

Utilisez-le a365 deploy --help pour voir toutes les options et sous-commandes disponibles.

Exemple de déploiement

# Preview what will be deployed
a365 deploy --dry-run

# Deploy with verbose logging for troubleshooting
a365 deploy --verbose

# Inspect the deployment package before uploading
a365 deploy --inspect

Fonctionnement du déploiement

Le déploiement fonctionne différemment selon le langage de programmation utilisé.

La commande de déploiement pour les assistants .NET :

  • Détecte les fichiers de projet .NET (*.csproj, *.fsproj ou *.vbproj)
  • Restaure les packages NuGet en utilisant dotnet restore
  • Publie l’application en utilisant dotnet publish avec la configuration Release
  • Crée un manifeste Oryx avec la commande DLL de point d’entrée (par exemple, dotnet YourApp.dll)
  • Configure le runtime Azure en fonction de la version .NET détectée (valeur par défaut : DOTNET|8.0)
  • Déploie via un fichier ZIP avec une progression en temps réel

Avertissement

Gestion des secrets : Lorsque vous déployez, stockez les variables d’environnement (y compris les clés API et les secrets) sous forme de paramètres d’application Azure. Bien que les variables d’environnement soient couramment utilisées pour la configuration, elles sont stockées en texte brut. 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 en développement dans ASP.NET fournisseur de configuration Core et Azure Key Vault. Ne validez jamais des fichiers .env contenant des informations sensibles dans le contrôle de code source.

Vérifier le déploiement

Après la fin du déploiement, utilisez cette liste ainsi que les instructions ci-dessous 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

Lorsque vous exécutez la commande déploy, vous devriez voir :

✓ Build completed successfully
✓ Deployment completed successfully

Vous devriez également voir le succès indiqué dans les journaux de déploiement :

  1. Cherchez vos configurations webAppName et allez dans 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. Naviguer vers Azure Portal > 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 plante 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 plante au démarrage.

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 les journaux d’application indiquant le démarrage réussi

Pour consulter les journaux de l’application web dans le portail Azure :

  1. Recherchez l’application web par nom dans le portail Azure.
  2. Aller à Synthèse>des 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 plantages au démarrage.

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

Dans le portail Azure :

  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 les réponses du point de terminaison de messagerie

Vérifiez que le point de terminaison que vous trouvez dans la page d’aperçu de votre application web existe via PowerShell ou par d’autres moyens. Sinon, voir 404 sur le point de terminaison de 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.

Résolution des problèmes

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

Conseil / Astuce

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: Erreur lors de a365 deploy l’exécution de la commande.

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
    
  • Configuration manquante

    Assurez-vous que les deux fichiers de configuration existent et sont corrects :

    # Verify configuration files exist
    Test-Path a365.config.json
    Test-Path a365.generated.config.json
    
    # Display configuration file contents
    a365 config display
    
    # Display generated configuration file contents
    a365 config display -g
    
  • Authentification Azure expirée

    Reconnectez-vous à Azure :

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

    Listez les applications Web pour confirmer que la cible existe :

    # List Web Apps in resource group
    az webapp list --resource-group <your-resource-group> --output table
    

    Si l’application Web n’existe pas, relancez la configuration :

    # Verify setup was completed
    a365 config display -g
    # Check for: webAppName
    
    # Check Azure resources exist
    az resource list --resource-group <your-resource-group>
    
  • 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 ne tourne pas.

Solution : Utilisez az webapp start et az webapp show lancez l’application web et vérifiez qu’elle fonctionne.

# 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 plante immédiatement ; Les journaux montrent des erreurs.

Causes courantes :

  • Dépendances manquantes - Vérifiez la sortie de compilation incluse dans tous les paquets requis
  • Variables d’environnement manquantes - Vérifiez que tous les réglages requis sont configurés
  • Incompatibilité des versions à l’exécution - Assurez-vous qu’Azure l’exécution corresponde à votre environnement de développement
  • Erreurs de code - Vérifier les journaux d’application 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 le point de terminaison de messagerie

Symptôme: L’application web tourne mais /api/messages le point d’extrémité 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

# Re-run deployment (it will update app settings from .env)
a365 deploy

Problèmes liés au package de déploiement

Symptôme: Le déploiement est téléchargé mais l’application ne démarre pas correctement.

Solution : Utilisez le drapeau a365 deploy --inspect pour examiner le package de déploiement :

# Inspect what will be deployed
a365 deploy --inspect

Ce drapeau se met en pause avant le téléchargement, vous permettant de :

  • Vérifiez le contenu du dossier de publication
  • Vérifier le contenu du code postal
  • Assurez-vous que tous les fichiers sont inclus

Problèmes courants à vérifier :

  • Manquante node_modules (Node.js)
  • DLL compilés manquants (.NET)
  • Packages Python manquants

La compilation réussit localement mais échoue en Azure

Symptôme: Le code se construit bien sur votre machine mais échoue lors du déploiement d’Azure.

Solutions :

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

    • Certains packages proposent des builds spécifiques à chaque plateforme.
    • Assurez-vous que les dépendances prennent en charge Linux (Azure Web Apps fonctionnent par défaut sous Linux).
  • 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
    

    Comparez avec Azure runtime dans Portail : Paramètres>Paramètres Paramètres>>généraux Paramètres de la pile.

  • Test avec journalisation verbeuse

    a365 deploy --verbose
    

Pour plus d’aide, voir : Dépannage du point de terminaison de messagerie