Prise en charge d’Azure Developer CLI pour les environnements de déploiement Azure
Azure Developer CLI (azd) prend en charge environnements de déploiement Azure. Un environnement de déploiement Azure (ADE) est une collection préconfigurée de ressources Azure déployées dans des abonnements prédéfinis. La gouvernance Azure est appliquée à ces abonnements en fonction du type d’environnement, tel que le bac à sable, le test, la préproduction ou la production. Avec les environnements de déploiement Azure, vous pouvez appliquer des stratégies de sécurité d’entreprise et fournir un ensemble organisé de modèles d’infrastructure prédéfinis en tant que code (IaC).
Conditions préalables
Vérifiez que vous avez rempli les conditions préalables suivantes pour utiliser les environnements de déploiement Azure à l’aide de azd
:
installé
azd
localement ou avoir accès àazd
via Cloud ShellCréé et configuré un environnement de déploiement Azure avec un centre de développement, un projet et un catalogue de modèles
types d’environnement configurés au niveau du centre de développement et du projet
Vérifier que le développeur dispose du rôle d’utilisateur Des environnements de déploiement sur le projet
Pourboire
Comprendre les concepts clés sur les environnements de déploiement Azure est essentiel pour les utiliser via
azd
.
Activer la prise en charge de l’environnement de déploiement Azure
Vous pouvez configurer azd
pour approvisionner et déployer des ressources dans vos environnements de déploiement à l’aide de commandes standard telles que azd up
ou azd provision
. Pour activer la prise en charge des environnements de déploiement Azure, exécutez la commande suivante :
azd config set platform.type devcenter
Lorsque platform.type
est défini sur devcenter
, tous les azd
'état de l’environnement distant et l’approvisionnement tirent parti des nouveaux composants du centre de développement. Cette configuration signifie également que le dossier infra
dans vos modèles locaux sera ignoré efficacement. Au lieu de cela, azd
utiliserez l’un des modèles d’infrastructure définis dans votre catalogue du centre de développement pour l’approvisionnement des ressources.
Vous pouvez également désactiver la prise en charge du centre de développement via la commande suivante :
azd config unset platform
Utiliser des environnements de déploiement Azure
Lorsque la fonctionnalité du centre de développement est activée, le comportement par défaut de certaines commandes azd
courantes change pour fonctionner avec ces environnements distants. La fonctionnalité du centre de développement s’étend sur les fonctionnalités fournies par la prise en charge standard de l’environnement distant azd
.
azd init
L’expérience de commande azd init
en mode centre de développement affiche tous les modèles ADE compatibles azd pour la sélection à partir de votre catalogue configuré. Pendant le processus d’init, après azd
clone le code du modèle, le fichier azure.yaml
est automatiquement mis à jour pour inclure une section platform
avec la configuration sélectionnée en fonction du modèle choisi. La configuration inclut le nom, le catalogue et la définition de l’environnement du centre de développement.
azd init
azd up
La commande azd up
empaquetera, provisionnera et déploiera votre application dans des environnements de déploiement Azure. Toutefois, l’étape de provisionnement de la commande azd up
utilise les modèles d’infrastructure en tant que code organisés dans votre centre de développement distant, tandis que l’étape de déploiement déploie le code source dans votre modèle azd
. Lorsque le mode centre de développement est activé, azd
ignore le dossier infra
dans votre modèle de azd
local et provisionne uniquement les ressources à l’aide des modèles du centre de développement. La commande vous invite également à entrer toutes les valeurs nécessaires, telles que le projet d’environnement de déploiement Azure ou le type d’environnement.
azd up
azd template list
La commande azd template list
affiche les modèles d’infrastructure disponibles dans votre catalogue du centre de développement, plutôt que d’afficher des modèles à partir de la galerie AZD Awesome par défaut.
catalogues fournir un ensemble de modèles d’infrastructure en tant que code approuvés et organisés que vos équipes de développement peuvent utiliser pour créer des environnements.
azd template list
azd provision
La commande azd provision
crée de nouveaux environnements du centre de développement. La commande vous invite à entrer des valeurs manquantes, telles que le type d’environnement ou le projet. Lorsque la commande s’exécute, elle utilise le modèle d’infrastructure associé pour approvisionner l’ensemble correct de ressources Azure pour cet environnement. Lorsque le mode centre de développement est activé, azd
ignore le dossier infra
dans votre modèle de azd
local et provisionne uniquement les ressources à l’aide des modèles du centre de développement.
azd provision
azd env list
La commande azd env list
affiche la même liste d’environnements que vous verrez dans le portail des développeurs.
azd env list
Balisage des ressources pour les environnements de déploiement Azure
azd
approvisionnement pour les environnements de déploiement Azure s’appuie sur des modèles organisés à partir du catalogue du centre de développement. Les modèles du catalogue peuvent ou non affecter des étiquettes aux ressources Azure approvisionnées pour vous permettre d’associer vos services d’application dans le fichier azure.yaml
. Si les modèles n’attribuent pas de balises, vous pouvez résoudre ce problème de l’une des deux manières suivantes :
Collaborez avec votre administrateur de catalogue du centre de développement pour vous assurer que les ressources Azure approvisionnées incluent des balises pour les associer aux services définis dans votre fichier
azure.yaml
.Spécifiez la
resourceName
dans votre fichierazure.yaml
au lieu d’utiliser des balises :services: api: project: ./src/api host: containerapp language: js resourceName: sample-api-containerapp web: project: ./src/web host: containerapp language: js resourceName: sample-web-containerapp
Configurer les paramètres du centre de développement
Vous pouvez définir azd
paramètres pour vos centres de développement à plusieurs emplacements. Les paramètres sont combinés à partir de ces emplacements pour créer l’ensemble final de configurations dans l’ordre de priorité suivant :
- Variables d’environnement
- Configuration de l’environnement Azd
- Configuration du projet
- Configuration utilisateur
azd
vous invite automatiquement à entrer les valeurs de configuration manquantes dans ces sources. Chacune de ces options de configuration est détaillée dans les sections suivantes.
Variables d’environnement
Les variables d’environnement suivantes seront découvertes et utilisées par azd
:
- AZURE_DEVCENTER_NAME
- AZURE_DEVCENTER_PROJECT
- AZURE_DEVCENTER_CATALOG
- AZURE_DEVCENTER_ENVIRONMENT_DEFINITION
- AZURE_DEVCENTER_ENVIRONMENT_TYPE
- AZURE_DEVCENTER_ENVIRONMENT_USER
Définir des configurations
Définissez des configurations pour vos centres de développement dans l’étendue de l’environnement azd
dans .azure/<env>/config.json
fichier :
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}
Étendue du projet
Définissez des configurations pour vos centres de développement dans l’étendue du projet azd
dans le nœud platform
du fichier azure.yaml
:
name: todo-nodejs-mongo-aca
metadata:
template: todo-nodejs-mongo-aca@0.0.1-beta
platform:
type: devcenter
config:
catalog: SampleCatalog
environmentDefinition: Todo
name: sample-devcenter
project: SampleProject
services:
api:
project: ./src/api
host: containerapp
language: js
web:
project: ./src/web
host: containerapp
language: js
Étendue de l’utilisateur
Définissez des configurations pour vos centres de développement dans l’étendue de l’utilisateur dans le fichier ~/<user_profile>/.azd/config.json
:
{
"platform": {
"config": {
"catalog": "SampleCatalog",
"environmentDefinition": "Todo",
"environmentType": "Dev",
"name": "sample-devcenter",
"Project": "SampleProject"
}
}
}