0Pricing
Azure Fundamentals · Lezione

Panoramica di Azure DevOps Services

Esplori i cinque servizi Azure DevOps, crei un'organizzazione e un progetto e colleghi il repository del codice per iniziare a tenere traccia insieme di elementi di lavoro e commit.

Panoramica di Azure DevOps Services è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.

Che cos'è Azure DevOps

Azure DevOps è una suite di strumenti per sviluppatori ospitata nel cloud e fornita da Microsoft, che copre l'intero ciclo di vita della distribuzione del software. Combina gestione dei progetti, controllo del codice sorgente, automazione di build e release, gestione dei test e archiviazione degli artifact in un'unica piattaforma integrata. I team che usano Azure DevOps possono pianificare sprint, eseguire il commit del codice, eseguire build automatizzate, distribuire in produzione e monitorare le metriche di qualità, tutto da un singolo servizio con integrazioni avanzate con gli altri servizi Azure.

I cinque servizi Azure DevOps

Azure DevOps comprende cinque servizi: Azure Boards (gestione dei work item Agile: epic, user story, attività e bug), Azure Repos (repository Git illimitati o il precedente TFVC), Azure Pipelines (automazione CI/CD per qualsiasi linguaggio, piattaforma e cloud), Azure Test Plans (test manuali ed esplorativi, casi di test e metriche di qualità) e Azure Artifacts (feed di pacchetti universale per NuGet, npm, Maven, Python e immagini di container).

Organizzazioni e progetti

La gerarchia di Azure DevOps inizia con un'organizzazione, il contenitore di livello superiore associato al tenant Azure AD, generalmente denominato in base alla propria azienda. All'interno di un'organizzazione si creano i progetti, ciascuno dei quali rappresenta un prodotto software o un team. Ogni progetto dispone dei propri Boards, Repos, Pipelines, Test Plans e Artifacts. Il controllo degli accessi, la fatturazione e le impostazioni vengono configurati a livello di organizzazione, ma possono essere sostituiti da configurazioni specifiche del progetto.

# Create an Azure DevOps project via CLI
# First install the Azure DevOps extension
az extension add --name azure-devops

# Configure defaults
az devops configure --defaults organization=https://dev.azure.com/myorg

# Create a new project
az devops project create \
  --name MyProject \
  --description 'E-commerce platform' \
  --visibility private \
  --process Agile

Azure Boards: pianificazione Agile

Azure Boards supporta tre modelli di processo: Basic (Issues e Tasks semplici), Agile (Epics, Features, User Stories, Tasks e Bugs) e Scrum (Epics, Features, Product Backlog Items, Tasks e Bugs). I work item passano attraverso stati configurabili. La bacheca Kanban visualizza il lavoro in corso; gli sprint backlog consentono di pianificare la capacità; i backlog stabiliscono la priorità di tutto il lavoro non ancora iniziato. Colleghi i work item a commit, richieste pull e casi di test per ottenere una tracciabilità completa.

# Create a work item (User Story) via CLI
az boards work-item create \
  --title 'Add payment processing' \
  --type 'User Story' \
  --description 'As a customer I want to pay by credit card' \
  --assigned-to developer@contoso.com \
  --project MyProject

# List open work items
az boards work-item list \
  --project MyProject \
  --query "[?fields.\"System.State\"=='Active']"

Azure Repos: controllo del codice sorgente

Azure Repos offre repository Git privati illimitati con criteri dei rami, flussi di lavoro per le richieste pull e strumenti di revisione del codice. I criteri dei rami applicano controlli di qualità ai rami protetti, richiedendo un numero minimo di revisori, la convalida della build, work item collegati e la risoluzione dei commenti prima dell'unione. Ogni repository si integra direttamente con Azure Pipelines, attivando automaticamente build e distribuzioni al push su un ramo o all'apertura di una richiesta pull.

# Clone an Azure Repos Git repository
git clone https://myorg@dev.azure.com/myorg/MyProject/_git/MyRepo

# Set branch policies via CLI
az repos policy required-reviewer create \
  --branch main \
  --branch-match-type exact \
  --project MyProject \
  --repository-id <repo-id> \
  --blocking true \
  --enabled true \
  --minimum-approver-count 2 \
  --allow-downvotes false

Azure Pipelines: automazione CI/CD

Azure Pipelines è un servizio CI/CD che compila, testa e distribuisce applicazioni scritte in qualsiasi linguaggio su qualsiasi piattaforma: Azure, AWS, GCP o ambienti locali. Le pipeline sono definite in file YAML archiviati insieme al codice nel repository. I concetti chiave includono gli stages (fasi logiche come Build, Test e Deploy), i jobs (unità di esecuzione parallela) e gli steps (singole attività). Azure Pipelines offre 1.800 minuti di build gratuiti al mese per i progetti open source.

# azure-pipelines.yml (minimal CI pipeline)
trigger:
  branches:
    include:
    - main

pool:
  vmImage: ubuntu-latest

stages:
- stage: Build
  jobs:
  - job: BuildJob
    steps:
    - task: NodeTool@0
      inputs:
        versionSpec: '18.x'
    - script: npm install && npm run build
      displayName: 'Install and Build'
    - script: npm test
      displayName: 'Run unit tests'

Azure Artifacts: gestione dei pacchetti

Azure Artifacts ospita feed di pacchetti versionati per NuGet (.NET), npm (Node.js), Maven (Java), pip (Python) e Universal Packages (binari arbitrari). Condivida librerie interne tra progetti o team senza pubblicarle nei registri pubblici. Le origini upstream fungono da proxy per i registri pubblici (npmjs.com, nuget.org) attraverso il feed, offrendo un unico endpoint per tutti i pacchetti e la possibilità di verificare e memorizzare nella cache le dipendenze.

# Publish an npm package to Azure Artifacts
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrc

# .npmrc file:
# registry=https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

# Publish
npm publish --registry https://pkgs.dev.azure.com/myorg/MyProject/_packaging/MyFeed/npm/registry/

Agenti delle pipeline: Microsoft-hosted e self-hosted

Le pipeline vengono eseguite su agenti, ovvero macchine virtuali o container che eseguono i job della pipeline. Gli agenti Microsoft-hosted sono macchine virtuali completamente gestite e preconfigurate (Ubuntu, Windows, macOS) fornite da Microsoft: non richiedono alcuna configurazione. Gli agenti self-hosted vengono eseguiti sulla propria infrastruttura (in locale o su macchine virtuali Azure), offrendo il controllo sull'ambiente, sugli strumenti preinstallati e sull'accesso alle reti private. Usi gli agenti self-hosted quando le build necessitano dell'accesso a una VNet, di hardware specializzato o di un avvio più rapido rispetto a quello offerto dalle macchine virtuali cloud.

# Register a self-hosted agent on a Linux VM
# 1. Download the agent package
curl -O https://vstsagentpackage.azureedge.net/agent/3.x/vsts-agent-linux-x64-3.x.x.tar.gz
mkdir myagent && tar xzf vsts-agent-linux-x64-3.x.x.tar.gz -C myagent && cd myagent

# 2. Configure the agent
./config.sh --url https://dev.azure.com/myorg --auth pat --token <PAT>

# 3. Run as a service
sudo ./svc.sh install && sudo ./svc.sh start

Ambienti e approvazioni

Gli ambienti in Azure Pipelines rappresentano le destinazioni di distribuzione (Dev, Staging, Production) e tengono traccia della cronologia delle distribuzioni. È possibile associare agli ambienti approvazioni e controlli: una distribuzione in Production richiede l'approvazione manuale di un release manager. Altri controlli includono finestre operative (distribuire solo tra le 09:00 e le 17:00), timer di attesa e controlli degli avvisi di Azure Monitor (non distribuire se sono presenti avvisi critici attivi). In questo modo i team possono governare le distribuzioni ad alto rischio in produzione.

# YAML: deployment job targeting an environment with approval
- stage: DeployProd
  jobs:
  - deployment: DeployToProduction
    environment:
      name: Production       # Requires manual approval in Azure DevOps portal
      resourceType: VirtualMachine
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureWebApp@1
            inputs:
              appName: myapp-prod
              package: '$(Pipeline.Workspace)/drop/app.zip'

Connessioni al servizio

Le connessioni al servizio memorizzano connessioni autenticate a servizi esterni (sottoscrizioni Azure, GitHub, Docker Hub, SonarQube, cluster Kubernetes), così che le pipeline possano utilizzarle senza incorporare le credenziali nel file YAML. La connessione al servizio Azure Resource Manager usa un'entità servizio o un'identità gestita per distribuire le risorse Azure. Tutte le credenziali sono crittografate e limitate al progetto o alla pipeline, impedendo che vengano esposte nei log della pipeline.

# Create an Azure Resource Manager service connection via CLI
az devops service-endpoint azurerm create \
  --azure-rm-service-principal-id '<AppId>' \
  --azure-rm-subscription-id '<SubId>' \
  --azure-rm-subscription-name 'MySubscription' \
  --azure-rm-tenant-id '<TenantId>' \
  --name 'AzureProductionSC' \
  --project MyProject

# Use in pipeline YAML
# - task: AzureCLI@2
#   inputs:
#     azureSubscription: 'AzureProductionSC'
#     scriptType: bash
#     scriptLocation: inlineScript

Azure DevOps e GitHub a confronto

Microsoft possiede sia Azure DevOps sia GitHub, ed entrambe le piattaforme supportano CI/CD. Azure DevOps è preferito nelle aziende che hanno investito fortemente negli strumenti Microsoft e necessitano di Azure Boards, Test Plans o Artifacts. GitHub è preferito per i progetti open source, i flussi di lavoro incentrati sugli sviluppatori e i team che utilizzano già i repository GitHub. GitHub Actions è la piattaforma CI/CD di GitHub. Azure Pipelines si integra sia con Azure Repos sia con GitHub: è possibile usare Azure Boards e Artifacts con i repository GitHub.

Verifica rapida

Verifichi la Sua comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che Azure DevOps offre cinque servizi integrati che coprono la pianificazione (Boards), il controllo del codice sorgente (Repos), CI/CD (Pipelines), i test (Test Plans) e la gestione dei pacchetti (Artifacts); gli ambienti con approvazioni consentono di controllare le distribuzioni ad alto rischio; e le connessioni al servizio memorizzano in modo sicuro le credenziali dei servizi esterni per l'utilizzo nelle pipeline. Prossimamente vedremo come creare una pipeline CI con Azure Pipelines.

Domande Frequenti

La lezione «Panoramica di Azure DevOps Services» è gratuita?

Sì — il testo completo di «Panoramica di Azure DevOps Services» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.

Cosa imparerò in «Panoramica di Azure DevOps Services»?

Esplori i cinque servizi Azure DevOps, crei un'organizzazione e un progetto e colleghi il repository del codice per iniziare a tenere traccia insieme di elementi di lavoro e commit. Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Azure Fundamentals?

Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Panoramica di Azure DevOps Services»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?

Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Panoramica di Azure DevOps Services
  2. Creazione di una pipeline CI con Azure Pipelines
  3. Distribuzione continua in Azure
  4. GitHub Actions su Azure
← Torna a Azure Fundamentals