M365Con 2027 – conferenza online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Ottimizzare il DevOps: integrare Azure CLI nelle pipeline CI/CD

By ·

Nel mondo frenetico della distribuzione del software moderna, efficienza e velocità sono tutto. Man mano che i team di sviluppo adottano le pratiche di integrazione continua e distribuzione continua (CI/CD), la necessità di strumenti di automazione leggeri, affidabili e multipiattaforma non è mai stata così critica. Che tu stia creando ambienti di staging temporanei, distribuendo infrastruttura co

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

Nel mondo frenetico della distribuzione del software moderna, efficienza e velocità sono tutto. Man mano che i team di sviluppo adottano le pratiche di integrazione continua e distribuzione continua (CI/CD), la necessità di strumenti di automazione leggeri, affidabili e multipiattaforma non è mai stata così critica. Che tu stia creando ambienti di staging temporanei, distribuendo infrastruttura come codice o configurando microservizi, gli strumenti della tua pipeline devono eseguire le operazioni in modo rapido e coerente.

Ecco Azure CLI. Progettata per semplicità, velocità ed esecuzione multipiattaforma, è rapidamente diventata lo strumento di riferimento per i cloud engineer che vogliono semplificare i propri flussi di lavoro DevOps. In questo post esploreremo perché Azure CLI brilla nelle moderne pipeline di distribuzione, come si confronta con altri strumenti di gestione e come puoi integrarla senza problemi nei tuoi processi CI/CD.

Se ti è piaciuto questo approfondimento, ascolta il nostro episodio podcast correlato, Azure CLI vs PowerShell: quale dovresti usare?, in cui analizziamo le differenze fondamentali tra le principali interfacce di gestione cloud di Microsoft.

Introduzione ad Azure CLI in CI/CD

Le pipeline di integrazione continua e distribuzione continua richiedono strumenti in grado di funzionare in ambienti container minimali senza un sovraccarico eccessivo. Tradizionalmente, gli script di automazione erano legati a sistemi operativi specifici, creando attriti quando si passava dalle macchine locali degli sviluppatori ai build agent e ai cluster di produzione. Il DevOps moderno richiede un cambio di rotta verso strumenti che garantiscano una piena parità tra Windows, macOS e Linux.

Azure CLI risponde direttamente a queste esigenze. Grazie a una struttura di comandi pulita e adatta agli script, che restituisce JSON per impostazione predefinita, consente a sviluppatori e agent automatizzati di interrogare, creare e modificare risorse cloud con il minimo sforzo. Se integrata in una pipeline CI/CD, come GitHub Actions, GitLab CI o Azure DevOps, Azure CLI trasforma i passaggi di distribuzione astratti in codice ripetibile e deterministico.

Perché Azure CLI per le pipeline moderne

Quando si progettano architetture CI/CD moderne, ogni secondo conta. I build agent consumano risorse di calcolo e code di distribuzione prolungate possono rallentare la velocità di sviluppo. Azure CLI è specificamente ottimizzata per questi ambienti ad alta velocità. Poiché la sua architettura sottostante si basa su chiamate REST leggere, l'esecuzione è eccezionalmente rapida ed efficiente in termini di risorse.

Inoltre, gli build agent containerizzati spesso girano su immagini Linux ridotte all'essenziale. Installare dipendenze ingombranti può appesantire i tempi di avvio della pipeline. Il ridotto ingombro di Azure CLI e la sua installazione semplice la rendono un alleato ideale per i runner CI/CD basati su Docker. Consente agli sviluppatori di testare gli script di distribuzione in locale, in un ambiente shell identico a quello eseguito dal server di build remoto, riducendo drasticamente i bug del tipo "funziona sulla mia macchina".

Azure CLI vs PowerShell: confronto rapido

Un dibattito frequente nella gestione del cloud riguarda la scelta tra Azure CLI e PowerShell. Entrambi gli strumenti sono estremamente potenti, ma si rivolgono a profili utente e modelli operativi completamente diversi. Per capire perché Azure CLI spesso è la scelta migliore per le pipeline CI/CD, conviene esaminare come si confrontano fianco a fianco.

ScenarioStrumento consigliatoPerché si distingue
Distribuzione rapida di risorseAzure CLIVeloce, leggera, comandi semplici, funziona su qualsiasi piattaforma, ottima per DevOps e scripting.
Automazione aziendalePowerShellGestisce automazioni complesse, output basato su oggetti, operazioni in blocco, forte integrazione con Windows.
Integrazione in pipeline CI/CDAzure CLIComandi di alto livello, supporto nativo per l'infrastruttura come codice, configurazione semplice della pipeline.
Scripting avanzatoPowerShellScripting flessibile, creazione di strumenti personalizzati, controllo approfondito delle risorse Azure.
Gestione multipiattaformaAzure CLIFunziona su Linux, macOS e Windows, sviluppata in Python, ideale per ambienti eterogenei.

Mentre PowerShell eccelle nelle attività amministrative pesanti e orientate agli oggetti e nelle integrazioni profonde con Windows, Azure CLI prevale nelle pipeline containerizzate grazie al suo output testuale lineare, ai tempi di esecuzione più rapidi per operazioni leggere in blocco e alla nativa compatibilità con Bash.

Installazione e configurazione di Azure CLI

Prima di automatizzare la tua infrastruttura cloud, devi assicurarti che Azure CLI sia installata correttamente e autenticata nell'ambiente di distribuzione. Per fortuna l'installazione è semplice, indipendentemente dal sistema operativo.

Se stai configurando una macchina locale o un agente di build virtuale che usa Windows, puoi installare la CLI con PowerShell:

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

Per i runner CI/CD basati su Linux (come i runner standard di GitHub Actions con Ubuntu), l'installazione può essere completata in un unico passaggio usando il repository di pacchetti Microsoft, oppure puoi sfruttare gli ambienti di runner preinstallati che includono già Azure CLI per impostazione predefinita. Una volta installata, verificarne il funzionamento è semplice: basta eseguire:

az --version

Per l'autenticazione nella pipeline, evita gli accessi interattivi tramite browser. Configura invece la pipeline in modo che si autentichi in modo sicuro usando un Service Principal o una Managed Identity:

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

Sintassi e comandi principali di Azure CLI

Il bello di Azure CLI sta nella sua sintassi intuitiva e prevedibile. Ogni comando inizia con il namespace az, seguito dal gruppo di risorse o dal servizio e, infine, dall'azione da eseguire. Questa struttura di comandi lineare rende la scrittura e la lettura degli script di pipeline sorprendentemente semplici.

Ecco alcuni comandi fondamentali usati di frequente nell'automazione 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

Per impostazione predefinita, i comandi di Azure CLI restituiscono payload JSON puliti. Questo rende banale interrogare proprietà specifiche con le espressioni JMESPath integrate (--query) e passare questi valori ai passaggi successivi del flusso di lavoro CI/CD.

Automatizzare le distribuzioni con Azure CLI

L'automazione è il cuore del DevOps. Quando distribuisci applicazioni in Azure, difficilmente vuoi affidarti a clic manuali nel portale di Azure. Incapsulando la logica di distribuzione in script di Azure CLI, garantisci una coerenza assoluta tra gli ambienti di sviluppo, staging e produzione.

Immagina di dover effettuare il provisioning di un nuovo Azure App Service, aggiornarne le impostazioni di configurazione e distribuire il codice a ogni merge nel ramo principale. Uno script automatizzato con Azure CLI rende tutto questo semplicissimo:

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

Poiché questi comandi sono idempotenti, eseguirli più volte non comprometterà la tua infrastruttura; al contrario, assicureranno che l'ambiente di destinazione corrisponda allo stato di configurazione desiderato.

Integrare Azure CLI nelle pipeline CI/CD

Integrare i comandi di Azure CLI in orchestratori CI/CD diffusi come GitHub Actions o Azure DevOps Pipelines è straordinariamente semplice. Poiché gli agenti di pipeline eseguono normalmente script shell, puoi inserire direttamente i tuoi comandi `az` standard nei file di configurazione del flusso di lavoro.

Ecco un esempio di frammento di un file di flusso di lavoro di GitHub Actions che accede ad Azure e distribuisce un'applicazione 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

Combinando le azioni ufficiali dei runner con i comandi grezzi di Azure CLI, crei una pipeline di distribuzione robusta, verificabile e automatizzata, che viene eseguita senza intoppi a ogni modifica del codice.

Best practice per semplificare il DevOps con Azure CLI

Per ottenere il massimo dall'automazione con Azure CLI e mantenere le tue pipeline CI/CD sicure ed efficienti, segui queste best practice consolidate:

Conclusioni

Integrare Azure CLI nelle tue pipeline CI/CD è una svolta per i team DevOps moderni. La sua leggerezza, la compatibilità multipiattaforma e la sintassi intuitiva ne fanno il compagno ideale per distribuzioni cloud rapide e automatizzate. Combinando pratiche di autenticazione sicure, script ben strutturati e un'integrazione solida nelle pipeline, puoi raggiungere livelli di velocità e affidabilità senza precedenti nel ciclo di vita della distribuzione del software.

Per approfondire questo argomento e ascoltare un acceso confronto sulle filosofie della riga di comando, dai un'occhiata al nostro episodio podcast correlato: Azure CLI vs PowerShell: Which Should You Use?. Padroneggia entrambi gli strumenti, comprendi i loro punti di forza unici e prendi il pieno controllo della tua architettura cloud di Azure già da oggi!

Azure DevOps Automation GitHub Actions

Related articles

RSS