Pour déployer des ressources Azure, Azure CLI reste l’un de mes outils favoris. En effet, selon moi, il est très simple, bien documenté, léger, et peut tourner à peu près n’importe où. Donc je l’utilise personnellement depuis mes machines de développement jusqu’au pipeline de déploiement CI/CD. Outre, les commandes qui permettent directement de créer ou manipuler les ressources Azure, Azure CLI permet également le déploiement de scripts ARM ou Bicep.
Pour utiliser Azure CLI depuis votre machine de développement, vous devez d’abord l’installer : installer Azure CLI
Et bien entendu, sur un environnement de déploiement automatisé (type GitHub, GitLab…), le plus simple est d’utiliser un agent de déploiement ou une image docker qui inclut Azure CLI.
Pour se connecter a Azure avec Azure CLI, il faut utiliser la commande az login. Plusieurs méthodes d’authentification existent. La liste complète est donnée par la documentation Microsoft. Personnellement, j’utilise régulièrement :
Mais bien évidemment, quel que ce soit le mode d’authentification, le compte doit être autorisé à effectuer les opérations scriptés.
Ce mode est particulièrement utile pendant la phase de développement. Avec ce mode, vous vous authentifiez personnellement avec un compte Entra ID et vous pouvez tester vos scripts directement depuis votre machine de développement. Cependant :
az login
Cette commande az cli lance un processus d’authentification via votre navigateur par défaut. Une fois l’authentification effectué sur le navigateur, vous pouvez retourner sur votre console.
Ce mode peut être utilisé depuis votre machine de développement et/ou depuis une plateforme type DevOps.
az login --service-principal -u $SP_CICD_CLIENT_ID -p "$CLIENT_SECRET_OR_CERTIFICATE_PATH" -t "$TENANT_ID"
Pour réaliser cette authentification, vous devez obtenir un secret client ou un certificat ssl associé au service principal. Plus d’informations sur la commande az login: https://learn.microsoft.com/en-us/cli/azure/authenticate-azure-cli
Après authentification, la commande « az account set » permettra de se positionner sur l’abonnement Azure sur lequel vous souhaitez déployer vos ressources
az account set -s $AZURE_SUBSCRIPTION_ID
Après authentification et positionnement sur le bon abonnement, vous pouvez déployer des ressources Azure avec Az CLI soit :
Dans l’exemple ci-dessous, la commande az deployment group create permet de déployer un script bicep sur un groupe de ressources :
az deployment group create --resource-group "$RG_NAME" --template-file "./template.bicep" --parameters "./template.parameters.$ENVIRONMENT.json"
Notez, que l’option « –parameters » offre la possibilité de fournir un fichier de paramètres ou directement des paires clé/valeur. Cela est très utile pour variabiliser vos scripts en fonction de vos environnement.