M365Con 2027 – gratis online conferentie · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

DevOps stroomlijnen: Azure CLI integreren in CI/CD-pipelines

By ·

In de snelle wereld van moderne softwarelevering draait alles om efficiëntie en snelheid. Nu ontwikkelteams continuous integration en continuous deployment (CI/CD) omarmen, is de behoefte aan lichtgewicht, betrouwbare en platformonafhankelijke automatiseringstools groter dan ooit. Of je nu tijdelijke staging-omgevingen opzet, infrastructure-as-code uitrolt of microservices configureert, je pipelin

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

In de snelle wereld van moderne softwarelevering draait alles om efficiëntie en snelheid. Nu ontwikkelteams continuous integration en continuous deployment (CI/CD) omarmen, is de behoefte aan lichtgewicht, betrouwbare en platformonafhankelijke automatiseringstools groter dan ooit. Of je nu tijdelijke staging-omgevingen opzet, infrastructure-as-code uitrolt of microservices configureert, je pipelinetools moeten snel en consistent werken.

Maak kennis met de Azure CLI. Ontworpen voor eenvoud, snelheid en uitvoering op elk platform, is het snel uitgegroeid tot dé tool voor cloudengineers die hun DevOps-werkstromen willen stroomlijnen. In dit artikel bekijken we waarom de Azure CLI excelleert in moderne deploymentpipelines, hoe de tool zich verhoudt tot alternatieve beheertools en hoe je hem naadloos in je CI/CD-processen integreert.

Als deze diepgaande blik je aanspreekt, luister dan zeker naar onze bijbehorende podcastaflevering, Azure CLI vs PowerShell: Which Should You Use?, waarin we de belangrijkste verschillen uitlichten tussen Microsofts premium interfaces voor cloudbeheer.

Inleiding tot Azure CLI in CI/CD

Continuous integration- en continuous deployment-pipelines hebben tools nodig die kunnen draaien in minimale containeromgevingen zonder veel overhead. Automatiseringsscripts waren vroeger sterk gekoppeld aan specifieke besturingssystemen, wat wrijving veroorzaakte bij het overzetten tussen lokale ontwikkelmachines, build-agents en productieclusters. Moderne DevOps vraagt om tools die volledige gelijkwaardigheid bieden op Windows, macOS en Linux.

De Azure CLI speelt hier direct op in. Dankzij een overzichtelijke, scriptvriendelijke opdrachtstructuur die standaard JSON teruggeeft, kunnen ontwikkelaars en geautomatiseerde agents cloudresources met weinig gedoe opvragen, aanmaken en wijzigen. Wanneer je de tool opneemt in een CI/CD-pipeline, zoals GitHub Actions, GitLab CI of Azure DevOps, verandert hij abstracte deploymentstappen in herhaalbare, deterministische code.

Waarom Azure CLI voor moderne pipelines

Bij het ontwerpen van moderne CI/CD-architecturen telt elke seconde. Build-agents verbruiken rekenkracht en lange wachtrijen voor deployments kunnen de ontwikkelsnelheid afremmen. Azure CLI is speciaal geoptimaliseerd voor deze snelle omgevingen. Omdat de onderliggende architectuur draait op lichtgewicht REST-aanroepen, is de uitvoering uitzonderlijk snel en zuinig met resources.

Bovendien draaien containerized build-agents vaak op uitgeklede Linux-images. Het installeren van zware afhankelijkheden kan de opstarttijd van je pipeline flink opblazen. De compacte footprint en eenvoudige installatie van de Azure CLI maken hem een ideale metgezel voor op Docker gebaseerde CI/CD-runners. Ontwikkelaars kunnen deploymentscripts lokaal testen in dezelfde shellomgeving als die van de externe build-server, waardoor "het werkt op mijn machine"-bugs drastisch afnemen.

Azure CLI vs PowerShell: snelle vergelijking

In cloudbeheer wordt vaak gediscussieerd over de keuze tussen Azure CLI en PowerShell. Beide tools zijn enorm krachtig, maar ze richten zich op totaal verschillende gebruikersprofielen en beheerpatronen. Om te begrijpen waarom de Azure CLI voor CI/CD-pipelines vaak de voorkeur krijgt, helpt het om ze naast elkaar te zetten.

ScenarioBeste toolWaarom het opvalt
Snelle resource-deploymentAzure CLISnel, lichtgewicht, eenvoudige opdrachten, werkt op elk platform, geschikt voor DevOps en scripting.
Enterprise-automatiseringPowerShellVerwerkt complexe automatisering, objectgebaseerde output, bulkbewerkingen, sterke Windows-integratie.
CI/CD-pipelineintegratieAzure CLICommando's op hoog niveau, native ondersteuning voor infrastructure as code, eenvoudige pipelineopzet.
Geavanceerd scriptenPowerShellFlexibel scripten, tools bouwen, diepgaande controle over Azure-resources.
Platformonafhankelijk beheerAzure CLIDraait op Linux, macOS en Windows, gebouwd in Python, ideaal voor diverse omgevingen.

Waar PowerShell uitblinkt in zware, objectgeoriënteerde beheertaken en diepe Windows-integraties, wint de Azure CLI in gecontaineriseerde pipelines dankzij de eenvoudige tekstuitvoer, snellere uitvoeringstijden bij bulk-lichtgewichtbewerkingen en native Bash-compatibiliteit.

Azure CLI installeren en configureren

Voordat je je cloudinfrastructuur kunt automatiseren, moet je ervoor zorgen dat de Azure CLI correct is geïnstalleerd en geauthenticeerd in je deploymentomgeving. Gelukkig is de installatie eenvoudig, ongeacht je besturingssysteem.

Als je een lokale machine of een virtuele build-agent met Windows opzet, kun je de CLI installeren via PowerShell:

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

Voor Linux-gebaseerde CI/CD-runners (zoals standaard Ubuntu GitHub Actions-runners) kan de installatie in één stap worden uitgevoerd via de Microsoft-pakketrepository, of je maakt gebruik van vooraf geïnstalleerde runneromgevingen die de Azure CLI standaard al bevatten. Na de installatie controleer je je installatie eenvoudig door het volgende uit te voeren:

az --version

Voor authenticatie in pipelines vermijd je interactieve browserlogins. Configureer je pipeline in plaats daarvan om veilig te authenticeren met een service principal of een managed identity:

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

Kernsyntaxis en basiscommando's van de Azure CLI

Het mooie van de Azure CLI is de intuïtieve, voorspelbare syntaxis. Elk commando begint met de namespace az, gevolgd door de resourcegroep of service en tot slot de actie die je wilt uitvoeren. Deze platte commandostructuur maakt het schrijven en lezen van pipelinescripts opvallend eenvoudig.

Hier zijn enkele fundamentele commando's die vaak worden gebruikt bij cloudautomatisering:

# 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

Standaard geven Azure CLI-commando's schone JSON-payloads terug. Daardoor is het eenvoudig om specifieke eigenschappen op te vragen met de ingebouwde JMESPath-expressies (--query) en die waarden door te geven aan volgende stappen in je CI/CD-workflow.

Deployments automatiseren met de Azure CLI

Automatisering is het hart van DevOps. Wanneer je applicaties naar Azure deployt, wil je liever niet vertrouwen op handmatige klikken in de Azure Portal. Door je deploymentlogica in Azure CLI-scripts te verpakken, zorg je voor absolute consistentie tussen de ontwikkel-, test- en productieomgevingen.

Stel dat je een nieuwe Azure App Service wilt inrichten, de configuratie-instellingen wilt bijwerken en je code wilt deployen bij elke merge naar de main-branch. Een geautomatiseerd script met de Azure CLI maakt dit eenvoudig:

# 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..."

Omdat deze commando's idempotent zijn, breekt het meermaals uitvoeren ervan je infrastructuur niet; in plaats daarvan zorgen ze ervoor dat de doelomgeving overeenkomt met de gewenste configuratiestatus.

De Azure CLI integreren in CI/CD-pipelines

Het integreren van Azure CLI-commando's in populaire CI/CD-orkestratoren zoals GitHub Actions of Azure DevOps Pipelines is opvallend eenvoudig. Omdat pipelineagents doorgaans shellscripts uitvoeren, kun je je standaard `az`-commando's rechtstreeks in je workflowconfiguratiebestanden plaatsen.

Hier is een voorbeeld van een fragment uit een GitHub Actions-workflowbestand dat inlogt op Azure en een webapplicatie deployt:

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

Door officiële runneracties te combineren met rechtstreekse Azure CLI-commando's, creëer je een robuuste, controleerbare en geautomatiseerde deploymentpipeline die bij elke codewijziging naadloos wordt uitgevoerd.

Best practices voor het stroomlijnen van DevOps met de Azure CLI

Om het maximale uit je Azure CLI-automatisering te halen en je CI/CD-pipelines veilig en performant te houden, volg je deze beproefde best practices:

Conclusie

Het integreren van de Azure CLI in je CI/CD-pipelines is een gamechanger voor moderne DevOps-teams. Het lichtgewicht karakter, de cross-platformcompatibiliteit en de intuïtieve syntaxis maken de Azure CLI tot de ideale metgezel voor snelle, geautomatiseerde clouddeployments. Door veilige authenticatiepraktijken, goed gestructureerde scripts en robuuste pipelineintegratie te combineren, bereik je een ongekend niveau van snelheid en betrouwbaarheid in je softwareleveringscyclus.

Om dit onderwerp nog dieper te verkennen en een levendig debat over command-line-filosofieën te beluisteren, bekijk je onze bijbehorende podcastaflevering: Azure CLI vs PowerShell: Which Should You Use?. Beheers beide tools, begrijp hun eigen sterke punten en neem vandaag nog volledige controle over je Azure-cloudarchitectuur!

Azure DevOps Automation GitHub Actions

Related articles

RSS