M365Con 2027 – conférence en ligne gratuite · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Optimiser DevOps : intégrer Azure CLI dans les pipelines CI/CD

By ·

Dans le monde effréné de la livraison logicielle moderne, l’efficacité et la rapidité sont primordiales. Alors que les équipes de développement adoptent les pratiques d’intégration continue et de déploiement continu (CI/CD), le besoin d’outils d’automatisation légers, fiables et multiplateformes n’a jamais été aussi crucial. Que vous déployiez des environnements de préproduction temporaires, de l’

Automatically translated with AI from the original post. Read the English original

▶ BLOGStreamlining DevOps:Integrating Azure CLI…M365.FM
Titelbild: Streamlining DevOps: Integrating Azure CLI into CI/CD Pipelines

Dans le monde effréné de la livraison logicielle moderne, l’efficacité et la rapidité sont primordiales. Alors que les équipes de développement adoptent les pratiques d’intégration continue et de déploiement continu (CI/CD), le besoin d’outils d’automatisation légers, fiables et multiplateformes n’a jamais été aussi crucial. Que vous déployiez des environnements de préproduction temporaires, de l’infrastructure as code ou des microservices, vos outils de pipeline doivent s’exécuter rapidement et de manière cohérente.

Voici Azure CLI. Conçu pour la simplicité, la rapidité et l’exécution multiplateforme, il est rapidement devenu l’outil de référence des ingénieurs cloud souhaitant rationaliser leurs workflows DevOps. Dans cet article, nous explorerons pourquoi Azure CLI se distingue dans les pipelines de déploiement modernes, comment il se compare aux autres outils de gestion et comment vous pouvez l’intégrer en toute transparence dans vos processus CI/CD.

Si cette analyse approfondie vous intéresse, écoutez notre épisode de podcast associé, Azure CLI vs PowerShell: Which Should You Use?, dans lequel nous détaillons les différences essentielles entre les interfaces de gestion cloud phares de Microsoft.

Introduction à Azure CLI dans CI/CD

Les pipelines d’intégration continue et de déploiement continu exigent des outils capables de fonctionner dans des environnements de conteneurs minimalistes, sans surcharge importante. Traditionnellement, les scripts d’automatisation étaient étroitement liés à des systèmes d’exploitation spécifiques, ce qui générait des frictions lors du passage entre les postes de développement locaux, les agents de build et les clusters de production. Le DevOps moderne impose de privilégier des outils offrant une parité totale entre Windows, macOS et Linux.

Azure CLI répond directement à ces exigences. Grâce à une structure de commandes épurée et adaptée aux scripts, qui produit du JSON par défaut, il permet aux développeurs et aux agents automatisés d’interroger, de créer et de modifier des ressources cloud avec un minimum d’efforts. Intégré à un pipeline CI/CD, comme GitHub Actions, GitLab CI ou Azure DevOps, Azure CLI transforme des étapes de déploiement abstraites en code répétable et déterministe.

Pourquoi choisir Azure CLI pour les pipelines modernes

Lorsque vous concevez des architectures CI/CD modernes, chaque seconde compte. Les agents de build consomment des ressources de calcul, et des files d’attente de déploiement prolongées peuvent freiner la vélocité des développements. Azure CLI est spécialement optimisé pour ces environnements à haute vitesse. Son architecture repose sur des appels REST légers, ce qui rend son exécution exceptionnellement rapide et économe en ressources.

Par ailleurs, les agents de build conteneurisés s’exécutent souvent sur des images Linux allégées. L’installation de dépendances volumineuses peut alourdir les temps de démarrage des pipelines. L’empreinte réduite d’Azure CLI et son installation simple en font un compagnon idéal pour les runners CI/CD basés sur Docker. Il permet aux développeurs de tester localement leurs scripts de déploiement dans un environnement shell identique à celui qu’exécute le serveur de build distant, ce qui réduit considérablement les bogues du type « ça marche sur ma machine ».

Azure CLI vs PowerShell : comparatif rapide

Le choix entre Azure CLI et PowerShell est un débat récurrent dans la gestion cloud. Les deux outils sont extrêmement puissants, mais ils s’adressent à des profils d’utilisateurs et à des modes opératoires totalement différents. Pour comprendre pourquoi Azure CLI prend souvent l’avantage dans les pipelines CI/CD, il est utile de les comparer côte à côte.

ScénarioOutil recommandéPoints forts
Déploiement rapide de ressourcesAzure CLIRapide, léger, commandes simples, fonctionne sur toutes les plateformes, idéal pour le DevOps et les scripts.
Automatisation d’entreprisePowerShellGère les automatisations complexes, sortie orientée objet, opérations en masse, intégration poussée à Windows.
Intégration dans un pipeline CI/CDAzure CLICommandes de haut niveau, prise en charge native de l’infrastructure as code, mise en place simple des pipelines.
Scripts avancésPowerShellScripts flexibles, création d’outils, contrôle approfondi des ressources Azure.
Gestion multiplateformeAzure CLIFonctionne sous Linux, macOS et Windows, développé en Python, idéal pour les environnements hétérogènes.

Si PowerShell excelle dans les tâches d’administration lourdes et orientées objet ainsi que dans les intégrations poussées à Windows, Azure CLI l’emporte dans les pipelines conteneurisés grâce à sa sortie texte directe, à des temps d’exécution plus rapides pour les opérations légères en masse et à sa compatibilité native avec Bash.

Installation et configuration d’Azure CLI

Avant d’automatiser votre infrastructure cloud, vous devez vous assurer que l’interface Azure CLI est correctement installée et authentifiée dans votre environnement de déploiement. Heureusement, l’installation est simple, quel que soit votre système d’exploitation.

Si vous configurez un poste local ou une machine virtuelle servant d’agent de build sous Windows, vous pouvez installer l’interface CLI à l’aide de PowerShell :

Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi

Pour les runners CI/CD basés sur Linux (comme les runners Ubuntu standard de GitHub Actions), l’installation peut être réalisée en une seule étape à l’aide du dépôt de paquets Microsoft, ou vous pouvez tirer parti des environnements de runners préinstallés qui incluent déjà Azure CLI par défaut. Une fois l’outil installé, vérifiez simplement votre installation en exécutant :

az --version

Pour l’authentification dans les pipelines, évitez les connexions interactives via le navigateur. Configurez plutôt votre pipeline pour vous authentifier de manière sécurisée à l’aide d’un principal de service ou d’une identité managée :

az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID

Syntaxe et commandes essentielles d’Azure CLI

La force d’Azure CLI réside dans sa syntaxe intuitive et prévisible. Chaque commande commence par l’espace de noms az, suivi du groupe de ressources ou du service, et enfin de l’action à effectuer. Cette structure de commandes à plat facilite remarquablement l’écriture et la lecture des scripts de pipeline.

Voici quelques commandes de base fréquemment utilisées dans l’automatisation cloud :

# Create a resource group
az group create --name MyPipelineResourceGroup --location eastus

# List all virtual machines in a table format
az vm list --output table

# Deploy an ARM or Bicep template
az deployment group create --resource-group MyPipelineResourceGroup --template-file azuredeploy.json

Par défaut, les commandes Azure CLI renvoient des charges utiles JSON propres. Il est ainsi très simple d’interroger des propriétés spécifiques à l’aide des expressions JMESPath intégrées (--query) et de transmettre ces valeurs aux étapes suivantes de votre workflow CI/CD.

Automatiser les déploiements avec Azure CLI

L’automatisation est le cœur du DevOps. Lorsque vous déployez des applications sur Azure, vous souhaitez rarement recourir à des clics manuels dans le portail Azure. En encapsulant votre logique de déploiement dans des scripts Azure CLI, vous garantissez une cohérence absolue entre les environnements de développement, de préproduction et de production.

Imaginez que vous deviez provisionner un nouveau service Azure App Service, mettre à jour ses paramètres de configuration et déployer votre code à chaque fusion dans la branche principale. Un script automatisé utilisant Azure CLI rend cette opération très simple :

# Create an App Service plan
az appservice plan create --name MyPlan --resource-group MyResourceGroup --sku B1 --is-linux

# Create the web app
az webapp create --name MyAppService --resource-group MyResourceGroup --plan MyPlan --runtime "NODE:18-lts"

# Configure environment variables
az webapp config appsettings set --name MyAppService --resource-group MyResourceGroup --settings DATABASE_URL="Server=tcp:myServer.database.windows.net..."

Comme ces commandes sont idempotentes, les exécuter plusieurs fois ne compromettra pas votre infrastructure ; elles garantissent au contraire que l’environnement cible correspond à l’état de configuration souhaité.

Intégrer Azure CLI aux pipelines CI/CD

Intégrer les commandes Azure CLI à des orchestrateurs CI/CD populaires comme GitHub Actions ou Azure DevOps Pipelines est remarquablement simple. Comme les agents de pipeline exécutent généralement des scripts shell, vous pouvez intégrer directement vos commandes `az` standard dans les fichiers de configuration de votre workflow.

Voici un exemple d’extrait de fichier de workflow GitHub Actions qui se connecte à Azure et déploie une application web :

name: Deploy to Azure
on:
  push:
    branches: [ main ]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Azure Login
      uses: azure/login@v1
      with:
        creds: ${{ secrets.AZURE_CREDENTIALS }}

    - name: Deploy Azure Resources
      run: |
        az group create --name ProdRG --location eastus
        az deployment group create --resource-group ProdRG --template-file infra/main.bicep

En combinant des actions de runner officielles avec des commandes Azure CLI brutes, vous créez un pipeline de déploiement robuste, auditable et automatisé, qui s’exécute de manière fluide à chaque modification du code.

Bonnes pratiques pour optimiser le DevOps avec Azure CLI

Pour tirer le meilleur parti de votre automatisation Azure CLI et garder vos pipelines CI/CD sécurisés et performants, appliquez ces bonnes pratiques éprouvées :

Conclusion

Intégrer Azure CLI à vos pipelines CI/CD change la donne pour les équipes DevOps modernes. Sa légèreté, sa compatibilité multiplateforme et sa syntaxe intuitive en font le compagnon idéal de déploiements cloud rapides et automatisés. En combinant des pratiques d’authentification sécurisées, des scripts bien structurés et une intégration robuste aux pipelines, vous pouvez atteindre un niveau inédit de rapidité et de fiabilité tout au long du cycle de livraison de vos logiciels.

Pour aller encore plus loin sur ce sujet et écouter un débat animé sur les philosophies des lignes de commande, découvrez notre épisode de podcast associé : Azure CLI vs PowerShell: Which Should You Use?. Maîtrisez ces deux outils, comprenez leurs atouts respectifs et prenez le contrôle total de votre architecture cloud Azure dès aujourd’hui !

Azure DevOps Automation GitHub Actions

Related articles

RSS