Créer des ressources à l’aide d’un script Azure CLI
Les tâches complexes ou répétitives peuvent être fastidieuses et susceptibles d’engendrer des erreurs lorsqu’elles sont effectuées manuellement. Les organisations préfèrent automatiser ces tâches pour réduire les coûts et éviter les erreurs.
Dans l’exemple de la gestion de la relation client (CRM), l’automatisation est essentielle lorsque vous testez votre logiciel sur plusieurs machines virtuelles. Ces machines peuvent devoir être continuellement supprimées et recréées. L’utilisation d’un script Azure CLI pour automatiser la création de machines virtuelles est beaucoup plus efficace et fiable qu’avoir à les créer manuellement à chaque fois.
Au-delà de l’opération principale de création d’une machine virtuelle, votre script doit répondre à quelques autres exigences :
- Créez plusieurs machines virtuelles : Permet
az vm create
de créer plusieurs machines virtuelles nommées de manière unique. - Paramètre de groupe de ressources : Permet au script d’accepter le nom du groupe de ressources comme paramètre.
Dans cette unité, vous allez découvrir comment écrire et exécuter un script Azure CLI dans un environnement Bash qui répond à ces exigences.
Qu’est-ce que le script Bash az d’Azure CLI ?
Un script Azure CLI est un fichier texte contenant des commandes et des constructions de contrôle. Le script exécute des commandes de référence, et les constructions de contrôle sont des éléments de programmation tels que des boucles, des variables, des paramètres, des commentaires, etc. fournis par Bash.
Les fichiers de script Bash d’Azure CLI ont une extension de fichier .sh
. Vous pouvez créer et enregistrer ces fichiers à l’aide de tout éditeur de texte.
Une fois que vous avez créé un script, vous pouvez l’exécuter à partir de la ligne de commande en indiquant le nom du fichier. Faites précéder le nom du fichier d’un point pour le répertoire actuel et d’une barre oblique inverse :
.\myScript.sh
Techniques Bash
Bash inclut des fonctionnalités que l’on trouve couramment dans les langages de programmation. Pour le script sur lequel vous vous concentrez dans cet exercice, vous utilisez trois éléments clés : les variables, les boucles et les paramètres.
Variables
Dans Azure CLI, l’attribution d’une valeur à une variable crée automatiquement la variable. Par exemple :
location="eastus"
Pour déterminer la valeur stockée dans une variable, utilisez le $
préfixe et son nom :
echo $location
Boucles
Bash possède plusieurs structures de boucle, notamment until
, while
et for
. La boucle for
est un bon choix pour les scénarios dans lesquels vous devez exécuter une boucle sur un nombre défini de valeurs dans une collection.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Paramètres
Lorsque vous créez un script Azure CLI, vous pouvez ajouter des paramètres au script, puis spécifier des valeurs pour ces paramètres lors de l’exécution du script. Par exemple :
.\setupEnvironment.sh parameter1 parameter2 parameter3
Dans le script, vous capturez les valeurs dans des variables. Dans cet exemple, les paramètres sont loopCount et name :
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
Une sortie classique ressemble à ceci :
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Vous pouvez utiliser des paramètres en entrée et une boucle pour créer un ensemble de machines virtuelles en fonction des paramètres donnés. Cette approche conserve le script générique et permet d’éviter la répétition du même code.
Exemple de script
Voici un exemple de script qui illustre l’utilisation de variables, de boucles et de paramètres pour créer plusieurs machines virtuelles :
#!/bin/bash
# Assign parameters to variables
vmCount=$1
adminUserPrefix=$2
shift 2
images=("$@")
# Loop
for i in $(seq 1 $vmCount)
do
let "randomIdentifier=$RANDOM*$RANDOM"
resourceGroupName="msdocs-rg-$randomIdentifier"
location="westus"
adminUserName="msdocs-$randomIdentifier"
vmName="msdocs-vm-$randomIdentifier"
vmImage=${images[$((i-1)) % ${#images[@]}]}
echo "Creating VM $vmName on $mvImage with admin $adminUserName in resource group $resourceGroupName"
# create the resource group
az group create --name $resourceGroupName --location $location
# create the VM
az vm create \
--resource-group $resourceGroupName \
--location $location \
--admin-username $adminUserName \
--name $vmName \
--image $vmImage \
--generate-ssh-keys
done
Exécuter le script
Enregistrez le script comme msdocs-script.sh
et exécutez-le à partir d’une ligne de commande Bash, en fournissant les paramètres requis :
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Ce script vous permet de créer efficacement plusieurs machines virtuelles dans différents groupes de ressources, d’automatiser les tâches répétitives et d’assurer la cohérence de votre environnement Azure. Dans l’unité suivante, nous allons développer ce script pour y inclure des paramètres supplémentaires et vérifier qu’il a été correctement exécuté.