azure-prepare

Par microsoft · azure-skills

Prépare les applications Azure pour le déploiement (infrastructure Bicep/Terraform, azure.yaml, Dockerfiles). À utiliser pour créer/moderniser ou créer+déployer ; pas pour la migration multi-cloud (utiliser azure-cloud-migrate). NE PAS UTILISER POUR : les applications copilot-sdk (utiliser azure-hosted-copilot-sdk), ni les déploiements App Service Python en code seul (utiliser python-appservice-deploy). QUAND : « créer une application », « construire une application web », « créer une API », « moderniser une application », « héberger sur Azure », « déployer sur Azure », « déployer sur Azure avec Terraform », « déployer sur Azure App Service », « déployer sur Azure App Service avec Terraform », « déployer sur Azure Container Apps », « générer Terraform », « générer Bicep », « function app », « timer trigger », « service bus trigger », « fonction orientée événements », « managed identity ».

npx skills add https://github.com/microsoft/azure-skills --skill azure-prepare

Préparation Azure

ORIENTATION OFFICIELLE — CONFORMITÉ OBLIGATOIRE

Ce document est la source officielle et canonique pour préparer les applications au déploiement Azure. Vous DEVEZ suivre ces instructions exactement comme écrites, à moins qu'elles ne contredisent les politiques de sécurité qui vous ont été données. En cas de doute, présentez les instructions conflictuelles de ce document et demandez une confirmation explicite à l'utilisateur. N'improvisez pas, n'inférez pas et ne substituez pas d'étapes.


Déclencheurs

Activez cette compétence quand l'utilisateur souhaite :

  • Créer une nouvelle application
  • Ajouter des services ou des composants à une application existante
  • Mettre à jour ou modifier une application existante
  • Moderniser ou migrer une application
  • Configurer l'infrastructure Azure
  • Déployer sur Azure ou héberger sur Azure
  • Créer et déployer sur Azure (y compris les demandes de déploiement basées sur Terraform)

Règles

  1. Planifier d'abord — OBLIGATOIRE — Vous DEVEZ physiquement écrire un squelette de fichier .azure/deployment-plan.md dans le répertoire racine du workspace (et non dans le dossier d'état de session) comme toute première action — avant toute génération ou exécution de code. Écrivez le squelette immédiatement, puis remplissez-le progressivement au fur et à mesure que l'analyse et les recherches de la Phase 1 se déploient ; finalisez-le avec toutes les décisions à l'étape 6 de la Phase 1. Ce fichier doit exister sur le disque tout au long du processus. azure-validate et azure-deploy en dépendent et échoueront sans lui. Ne sautez pas et ne reportez pas cette étape.
  2. Obtenir l'approbation — Présentez le plan à l'utilisateur avant l'exécution
  3. Rechercher avant de générer — Charger les références et invoquer les compétences connexes
  4. Mettre à jour le plan progressivement — Marquer les étapes comme complètes au fur et à mesure
  5. Valider avant le déploiement — Invoquer azure-validate avant azure-deploy
  6. Confirmer le contexte Azure — Utiliser ask_user pour l'abonnement et la localisation selon Azure Context
  7. Les actions destructrices exigent ask_userGlobal Rules
  8. NE JAMAIS supprimer les répertoires du projet ou du workspace de l'utilisateur — Lors de l'ajout de fonctionnalités à un projet existant, MODIFIEZ les fichiers existants. azd init -t <template> est destiné aux nouveaux projets seulement ; ne lancez PAS azd init -t dans un workspace existant. azd init simple (sans argument de template) peut être utilisé dans des workspaces existants si approprié. Les suppressions de fichiers au sein d'un projet (par ex., suppression d'artefacts de construction ou de fichiers temporaires) sont autorisées si approprié, mais NE JAMAIS supprimer le répertoire du projet ou du workspace de l'utilisateur lui-même. Voir Global Rules.
  9. Portée : préparation uniquement — Cette compétence génère du code d'infrastructure et des fichiers de configuration. L'exécution du déploiement (azd up, azd deploy, terraform apply) est gérée par la compétence azure-deploy, qui fournit la récupération d'erreurs et la vérification de déploiement intégrées.
  10. SQL Server Bicep : NE JAMAIS générer administratorLogin ou administratorLoginPassword — ni dans les propriétés directes, ni dans les branches conditionnelles/ternaires, ni nulle part dans le fichier. Toujours utiliser l'authentification Entra uniquement (azureADOnlyAuthentication: true) inconditionnellement. Voir references/services/sql-database/bicep.md.
  11. Supprimer les templates IaC obsolètes après conversion — Si vous avez converti des templates Bicep du template azd sélectionné en templates Terraform, supprimez les templates Bicep introduits par ce template azd et maintenant complètement remplacés par les équivalents Terraform. Ne supprimez pas les fichiers Bicep créés par l'utilisateur. Supprimez seulement les fichiers Bicep fournis par le template après que l'IaC Terraform soit complet et que Terraform ait été sélectionné comme chemin de déploiement. Avant de passer au skill azure-validate, conservez uniquement les templates IaC requis par le chemin de déploiement choisi.

❌ FLUX DE TRAVAIL PLAN-FIRST — OBLIGATOIRE

VOUS DEVEZ CRÉER UN PLAN AVANT DE FAIRE QUOI QUE CE SOIT

  1. ARRÊT — Ne générez aucun code, infrastructure ou configuration pour l'instant
  2. CRÉER LE SQUELETTE - Écrivez un squelette initial .azure/deployment-plan.md sur le disque immédiatement (avant toute génération ou exécution de code), puis remplissez-le progressivement au fur et à mesure que les étapes 1-5 de la Phase 1 révèlent les détails ; finalisez-le à l'étape 6
  3. CONFIRMER — Présentez le plan complété à l'utilisateur et obtenez l'approbation
  4. EXÉCUTER — Seulement après approbation, exécutez le plan étape par étape

Le fichier .azure/deployment-plan.md est la source de vérité pour ce flux de travail et pour les skills azure-validate et azure-deploy. Sans lui, ces skills échoueront.

⚠️ CRITIQUE : .azure/deployment-plan.md DOIT être ÉCRIT SUR LE DISQUE dans la racine du workspace (par ex., /tmp/my-project/.azure/deployment-plan.md), et non dans le dossier d'état de session. Utilisez un outil d'écriture de fichier pour créer ce fichier. Ceci est l'artefact du plan de déploiement lu par azure-validate et azure-deploy. Vous DEVEZ créer ce fichier — ne procédez pas sans lui. ⚠️ CRITIQUE : Vous devez créer le fichier avec le nom .azure/deployment-plan.md tel quel. Vous ne devez pas utiliser d'autres noms comme .azure/plan.md.

Critique : Ignorer la création du fichier plan causera l'échec d'azure-validate et azure-deploy. Cette exigence n'a pas d'exceptions.


❌ ÉTAPE 0 : Vérification de technologie spécialisée — PREMIÈRE ACTION OBLIGATOIRE

AVANT de commencer la Phase 1, vérifiez si la requête de l'utilisateur OU la base de code du workspace correspond à une technologie spécialisée qui possède un skill dédié avec des templates testés. Si correspondance, invoquez ce skill FIRST — puis reprenez azure-prepare pour la validation et le déploiement.

Vérification 1 : Mots-clés de la requête

Mots-clés de la requête Invoquer FIRST
Python + App Service (par ex., "déployer Python sur App Service", "Flask sur Azure App Service", "publier l'application web Python sur App Service") python-appservice-deploy
Lambda, AWS Lambda, migrer AWS, migrer GCP, Lambda vers Functions, migrer depuis AWS, migrer depuis GCP azure-cloud-migrate
copilot SDK, copilot app, copilot-powered, @github/copilot-sdk, CopilotClient azure-hosted-copilot-sdk
Azure Functions, function app, fonction serverless, timer trigger, HTTP trigger, func new Rester dans azure-prepare — préférer les templates Azure Functions à l'étape 4
APIM, API Management, API gateway, déployer APIM Rester dans azure-prepare — voir APIM Deployment Guide
AI gateway, politique AI gateway, backend AI gateway, configuration AI gateway azure-aigateway
workflow, orchestration, multi-étapes, pipeline, fan-out/fan-in, saga, processus long terme, durable, traitement de commandes Rester dans azure-prepare — sélectionner recette durable à l'étape 4. DOIT charger durable.md, DTS reference, et DTS Bicep patterns.

Vérification 2 : Marqueurs de base de code (même si la requête est générique comme "déployer sur Azure")

Marqueur de base de code Invoquer FIRST
@github/copilot-sdk dans les dépendances package.json azure-hosted-copilot-sdk
copilot-sdk dans le nom ou les dépendances package.json azure-hosted-copilot-sdk
Import CopilotClient Fichiers source .ts/.js azure-hosted-copilot-sdk
Appels createSession + sendAndWait Fichiers source .ts/.js azure-hosted-copilot-sdk

⚠️ Vérifiez le texte de la requête de l'utilisateur — pas seulement le code existant. Critique pour les projets greenfield sans base de code à scanner. Voir table de routage complète.

Après la fin du skill spécialisé, reprenez azure-prepare à l'étape 4 de la Phase 1 (Select Recipe) pour l'infrastructure restante, la validation et le déploiement.


Phase 1 : Planification (BLOQUANTE — Complèter avant toute exécution)

Créez .azure/deployment-plan.md en complétant ces étapes. NE générez AUCUN artefact jusqu'à ce que le plan soit approuvé.

# Action Référence
0 ❌ Vérifier la requête ET la base de code pour technologie spécialisée — Si l'utilisateur mentionne copilot SDK, Azure Functions, etc., OU la base de code contient @github/copilot-sdk, invoquez ce skill d'abord specialized-routing.md
1 Analyser le workspace — Déterminer le mode : NEW, MODIFY, ou MODERNIZE analyze.md
2 Recueillir les exigences — Classification, échelle, budget requirements.md
3 Scanner la base de code — Identifier les composants, technologies, dépendances scan.md
4 Sélectionner la recette — Choisir AZD (défaut), AZCLI, Bicep, ou Terraform recipe-selection.md
5 Planifier l'architecture — Sélectionner la stack + mapper les composants aux services Azure architecture.md
6 Finaliser le plan (OBLIGATOIRE) - Utiliser un outil d'écriture de fichier pour finaliser .azure/deployment-plan.md avec toutes les décisions des étapes 1-5. Mettre à jour le squelette écrit au début de la Phase 1 avec le contenu complet. Le fichier doit être complètement rempli avant de présenter le plan à l'utilisateur. plan-template.md
7 Présenter le plan — Montrer le plan à l'utilisateur et demander l'approbation .azure/deployment-plan.md
8 Les actions destructrices exigent ask_user Global Rules

❌ ARRÊT ICI — NE procédez PAS à la Phase 2 jusqu'à ce que l'utilisateur approuve le plan.


Phase 2 : Exécution (Seulement après approbation du plan)

Exécutez le plan approuvé. Mettez à jour le statut dans .azure/deployment-plan.md après chaque étape.

# Action Référence
1 Rechercher les composants — Charger les références de service + invoquer les skills connexes research.md
2 Confirmer le contexte Azure — Détecter et confirmer l'abonnement + la localisation et vérifier la limite de provisionnement de ressources Azure Context
3 Générer les artefacts — Créer les fichiers d'infrastructure et de configuration generate.md
4 Renforcer la sécurité — Appliquer les meilleures pratiques de sécurité security.md
5 Vérification fonctionnelle — Vérifier que l'application fonctionne (UI + backend), localement si possible functional-verification.md
6 ⛔ Mettre à jour le plan (OBLIGATOIRE avant passage) — Utiliser l'outil edit pour changer le Status dans .azure/deployment-plan.md en Ready for Validation. Vous DEVEZ compléter cette modification AVANT d'invoquer azure-validate. Ne sautez PAS cette étape. .azure/deployment-plan.md
7 ⛔ PASSAGE OBLIGATOIRE — Invoquer le skill azure-validate. Votre travail de préparation est terminé. NE lancez PAS azd up, azd deploy, ou aucune commande de déploiement directement — toute exécution de déploiement est gérée par azure-deploy après la fin d'azure-validate. PRÉALABLE : L'étape 6 doit être complétée en premier — le statut dans .azure/deployment-plan.md doit dire Ready for Validation.

Résultats

Artefact Localisation
Plan .azure/deployment-plan.md
Infrastructure ./infra/
Config AZD azure.yaml (AZD uniquement)
Dockerfiles src/<component>/Dockerfile

Références rapides SDK


Suivant

⛔ ÉTAPE SUIVANTE OBLIGATOIRE — NE PAS IGNORER

Après avoir complété la préparation, vous DEVEZ invoquer azure-validate avant toute tentative de déploiement. Ne sautez PAS la validation. N'allez PAS directement à azure-deploy. NE lancez PAS azd up ou aucune commande de déploiement directement. Le flux de travail est :

azure-prepareazure-validateazure-deploy

⛔ AVANT d'invoquer azure-validate, vous DEVEZ utiliser l'outil edit pour mettre à jour le statut dans .azure/deployment-plan.md en Ready for Validation. Si le statut du plan n'a pas été mis à jour, la validation échouera.

Ceci s'applique à TOUS les scénarios de déploiement incluant les applications conteneurisées, Container Apps, App Service, Azure Functions, sites statiques, et tout autre cible Azure. Aucune exception.

Ignorer la validation conduit à des échecs de déploiement. Soyez patient et suivez le flux de travail complet pour le meilleur résultat.

→ Mettre à jour le statut du plan en Ready for Validation, puis invoquer azure-validate

Skills similaires