Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le système de raccordement Azure Developer CLI (azd) prend en charge Python, JavaScript, TypeScript et .NET en plus de Bash et PowerShell.
azd détecte automatiquement la langue de l’extension de fichier, gère les dépendances et exécute le script sans configuration supplémentaire requise.
Les hooks vous permettent d’exécuter une logique personnalisée à des points clés du cycle de vie, comme avant l’approvisionnement azd , après le déploiement, etc. Pour obtenir des informations générales sur les hooks, y compris les événements de hook disponibles et les options de configuration, consultez Personnaliser les flux de travail à l’aide des hooks de commande et d’événements.
Prerequisites
- Installer azd
- Le runtime de votre langue choisie doit être installé sur votre ordinateur :
- Python : Python 3.x
- JavaScript/TypeScript : Node.js
- .NET : Kit de développement logiciel (SDK) .NET
Détection de langue
Pointez un hook sur un fichier de script dans azure.yaml, et azd déduit la langue de l’extension de fichier. Si l’extension est ambiguë ou manquante, spécifiez la langue explicitement avec le kind champ :
hooks:
preprovision:
run: ./hooks/setup.py
kind: python # explicit — overrides extension inference
Crochets Python
Pour écrire un hook Python, créez un .py fichier et référencez-le dans votre azure.yaml. Placez un requirements.txt ou un pyproject.toml dans le même répertoire que le script ou dans un répertoire parent.
azd guide l’arborescence de répertoires à partir de l’emplacement du script pour rechercher le fichier projet le plus proche, crée un environnement virtuel, installe les dépendances et exécute le script.
Exemple de structure de répertoires
hooks/
├── setup.py
└── requirements.txt
Exemple de configuration
hooks:
preprovision:
run: ./hooks/setup.py
Configuration spécifique à Python
Utilisez le config bloc pour remplacer le nom d’environnement virtuel par défaut.
hooks:
preprovision:
run: ./hooks/setup.py
config:
virtualEnvName: .venv # override default naming
Hooks JavaScript et TypeScript
Pour écrire des hooks JavaScript ou TypeScript, créez un .js ou .ts et référencez-le dans votre azure.yaml. Placez un package.json répertoire dans le même répertoire que votre script ou un répertoire parent.
azd exécute npm install (ou le gestionnaire de packages spécifié dans le bloc config) et exécute le script. Les scripts TypeScript s’exécutent via npx tsx sans qu'une étape de compilation ou tsconfig.json soit nécessaire.
Exemple de structure de répertoires
hooks/
├── seed.ts
└── package.json
Exemple de configuration
hooks:
postdeploy:
run: ./hooks/seed.ts
Configuration JavaScript et TypeScript
Utilisez le config bloc pour spécifier un gestionnaire de package préféré.
hooks:
postdeploy:
run: ./hooks/seed.ts
config:
packageManager: pnpm # npm | pnpm | yarn
Hooks .NET
Deux modes sont pris en charge pour les hooks .NET :
-
Mode projet : si un
.csproj,.fsprojou.vbprojexiste dans le même répertoire que le script ou dans un répertoire parent,azd,dotnet restoreetdotnet builds'exécutent automatiquement. -
Mode fichier unique : sur .NET 10+, les fichiers autonomes
.css’exécutent directement sansdotnet run script.csfichier projet.
Exemple de structure de répertoires
hooks/
├── migrate.cs
└── migrate.csproj # optional — omit for single-file mode on .NET 10+
Exemple de configuration
hooks:
postprovision:
run: ./hooks/migrate.cs
Configuration spécifique à .NET
Spécifiez la configuration de build et l’infrastructure cible à l’aide du config bloc :
hooks:
postprovision:
run: ./hooks/migrate.cs
config:
configuration: Release # Debug | Release
framework: net10.0 # target framework
Remplacer le répertoire de travail
Définissez le répertoire de travail d’un hook à l’aide du dir champ. Cette configuration est utile lorsque la racine du projet diffère de l’emplacement du script :
hooks:
preprovision:
run: main.py
dir: hooks/preprovision
Mélanger les langues et les formats
Utilisez différentes langues pour différents hooks dans le même azure.yaml fichier. Vous pouvez également combiner des hooks multi-langages avec des remplacements spécifiques à la plateforme :
hooks:
preprovision:
run: ./hooks/setup.py
postdeploy:
run: ./hooks/seed.ts
postprovision:
run: ./hooks/migrate.cs
predeploy:
windows:
run: ./hooks/build.ps1
posix:
run: ./hooks/build.sh
Contenu connexe
- Personnaliser des flux de travail à l’aide de hooks de commande et d’événements
- Informations de référence sur l’interface CLI pour développeurs Azure
Demander de l’aide
Pour plus d’informations sur la façon de déposer un bogue, de demander de l’aide ou de proposer une nouvelle fonctionnalité pour l’interface CLI Azure développeur, visitez la page troubleshooting et support.