Condividi tramite


Cos'è Azure DevOps?

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps è una piattaforma basata sul cloud che fornisce strumenti integrati per i team di sviluppo software. Include tutti gli elementi necessari per pianificare il lavoro, collaborare al codice, compilare applicazioni, funzionalità di test e distribuire nell'ambiente di produzione.

Azure DevOps offre una gamma di modelli di servizio per soddisfare le esigenze specifiche di ogni team. La versione di accesso gratuito consente ai piccoli team di iniziare rapidamente, mentre la sottoscrizione versatile e i piani con pagamento in base all'uso supportano la gestione completa dei progetti.

Caratteristiche chiave:

  • Gestione dei progetti end-to-end: Azure DevOps è una suite coesa di servizi progettati per supportare il ciclo di vita completo dei progetti software. Comprende tutti gli elementi, dalla pianificazione e dallo sviluppo iniziali, tramite test rigorosi, alla distribuzione finale.

  • Distribuzione di modelli client/server: Azure DevOps opera su un modello client/server, offrendo flessibilità nel modo in cui si interagisce con i servizi. L'interfaccia Web offre un modo pratico per utilizzare la maggior parte dei servizi ed è compatibile con tutti i principali browser. Inoltre, alcuni servizi come il controllo del codice sorgente, le pipeline di compilazione e il rilevamento del lavoro offrono opzioni di gestione basate su client per il controllo avanzato.

  • Opzioni di servizio flessibili e scalabili: Azure DevOps si rivolge ai team di tutte le dimensioni offrendo una gamma di opzioni di servizio. Per i team di piccole dimensioni, molti servizi sono gratuiti, garantendo l'accesso a potenti strumenti di gestione dei progetti senza alcun investimento iniziale. Per team più grandi o più esigenze avanzate, i servizi sono accessibili tramite un modello di sottoscrizione o con pagamento in base al consumo.

Servizi di base

Azure DevOps include i servizi integrati seguenti:

Screenshot dei servizi elencati nel riquadro di spostamento di Azure DevOps.

Azure Boards: pianificare e tenere traccia del lavoro usando strumenti Agile, bacheche Kanban, backlog e dashboard. Creare elementi di lavoro come storie utente, bug e attività. Usare la pianificazione dello sprint, i grafici burn-down e il rilevamento della velocità. Personalizzare i flussi di lavoro e i tipi di elemento di lavoro in modo che corrispondano al processo del team.

Scenario di esempio: Un team di prodotto che pianifica una funzionalità di app per dispositivi mobili crea storie utente per l'accesso utente, tiene traccia dei bug rilevati durante lo sviluppo e usa le bacheche sprint per monitorare lo stato di avanzamento durante le iterazioni di due settimane.

Azure Repos: ospitare repository Git privati illimitati o usare il controllo della versione di Team Foundation per la gestione del codice sorgente. Le funzionalità includono i criteri dei rami, le richieste pull con revisioni del codice, la risoluzione dei conflitti e l'integrazione con gli IDE e gli editor più diffusi.

Scenario di esempio: I membri del team di sviluppo creano rami di funzionalità per nuove funzionalità, inviano richieste pull per la revisione del codice e usano i criteri dei rami per assicurarsi che tutto il codice venga esaminato e testato prima dell'unione al ramo principale.

Azure Pipelines: compilare, testare e distribuire applicazioni con pipeline CI/CD che funzionano con qualsiasi linguaggio, piattaforma e cloud. Supporta contenitori Docker, Kubernetes e distribuzioni in Azure, AWS, Google Cloud o in locale. Include processi paralleli, controlli di distribuzione e approvazioni di rilascio.

Scenario di esempio: Ogni commit del codice attiva una pipeline automatizzata che compila un'applicazione Web .NET, esegue unit test, crea un contenitore Docker e distribuisce nell'ambiente di gestione temporanea per i test prima del rilascio di produzione.

Piani di test di Azure: pianificare, eseguire e tenere traccia dei test con test case manuali, sessioni di test esplorative e integrazione automatizzata dei test. Creare gruppi di test, tenere traccia dei risultati dei test, acquisire screenshot e video e generare report di test dettagliati.

Scenario di esempio: Il team di controllo di qualità crea test case per il flusso di registrazione utente, esegue test manuali in browser diversi, acquisisce screenshot dei problemi e collega i risultati dei test alle storie utente per la tracciabilità.

Azure Artifacts: Creare, ospitare e condividere pacchetti come NuGet, npm, Maven, Python e i pacchetti universali con il team e l'organizzazione. Integrare con le pipeline di compilazione, gestire le versioni dei pacchetti e controllare l'accesso con sorgenti upstream e politiche di conservazione.

Scenario di esempio: Il team di sviluppo crea una libreria di autenticazione condivisa, la pubblica come pacchetto NuGet in Azure Artifacts e vi fa riferimento in più progetti, controllando al contempo l'accesso ai pacchetti interni.

Come interagiscono i servizi Di Azure DevOps

Il diagramma seguente illustra come i servizi si integrano nel ciclo di vita di sviluppo:

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Azure Boards  │    │   Azure Repos   │    │ Azure Pipelines │
│                 │    │                 │    │                 │
│ • Plan features │────│ • Store code    │────│ • Build apps    │
│ • Track bugs    │    │ • Code reviews  │    │ • Run tests     │
│ • Manage sprints│    │ • Branch policies│   │ • Deploy code   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         │                       │                       │
         ▼                       ▼                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ Azure Test Plans│    │ Azure Artifacts │    │   Dashboards    │
│                 │    │                 │    │                 │
│ • Test planning │    │ • Package feeds │    │ • Project views │
│ • Manual testing│◄───│ • Version control│───►│ • Team metrics  │
│ • Test reporting│    │ • Dependency mgmt│   │ • Build status  │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Flow: Plan → Code → Build → Test → Deploy → Monitor → Repeat

Flusso di lavoro tipico:

  1. Pianificare gli elementi di lavoro in Azure Boards
  2. Funzionalità del codice in Azure Repos con richieste pull
  3. Compilare e creare pacchetti con Azure Pipelines e Azure Artifacts
  4. Testare manualmente e automaticamente i piani di test di Azure
  5. Eseguire la distribuzione tramite Azure Pipelines in vari ambienti
  6. Monitorare lo stato di avanzamento e le metriche tramite dashboard
  7. Eseguire l'iterazione in base al feedback e ai nuovi requisiti

Per altre informazioni, vedere Strumenti e client che si connettono ad Azure DevOps.

Pannelli di controllo

Azure DevOps offre dashboard personalizzabili che visualizzano dati e flussi di lavoro del progetto in tempo reale. Creare visualizzazioni personalizzate per monitorare lo stato e le prestazioni del team.

Funzionalità chiave:

  • Più dashboard: creare e personalizzare dashboard con widget che mostrano lo stato di compilazione, i risultati dei test e le query sugli elementi di lavoro
  • Spostamento rapido: usare i dashboard come hub centrale per accedere a aree diverse del progetto
  • Estendibilità: integrare servizi non Microsoft o creare estensioni personalizzate per estendere la funzionalità

Per altre informazioni, vedere la documentazione relativa ai dashboard.

Screenshot della pagina di destinazione Dashboard che mostra Agile Lead Time, Future Spring, New Work Item, Work in Progress e Team Velocity.

Azure Boards (Pannelli di Azure)

Lo sviluppo di software moderno richiede un monitoraggio efficiente del lavoro e la collaborazione tra i team. Azure Boards offre strumenti Agile che semplificano la pianificazione e il monitoraggio durante il ciclo di vita di sviluppo.

Funzionalità chiave:

  • Gestione degli elementi di lavoro: creare e aggiornare storie utente, bug, attività e funzionalità
  • Query e grafici: creare query personalizzate e generare grafici di stato per visualizzare il progresso
  • Gestione del backlog: assegnare priorità al lavoro e mantenere backlog chiari e attuabili
  • Pianificazione dello sprint: pianificare iterazioni e tenere traccia dello stato di avanzamento dello sprint con le metriche di velocità
  • Bacheche delle attività: aggiornare lo stato del lavoro attraverso bacheche Kanban interattive
  • Gestione del portfolio: Organizzare il lavoro gerarchicamente dagli epici alle attività
  • Supporto Scrum: Facilitare le riunioni in piedi giornaliere e le revisioni degli sprint con bacheche in tempo reale

Azure Boards supporta più tipi di elemento di lavoro, ognuno con campi personalizzabili che tengono traccia dello stato di avanzamento attraverso il processo di sviluppo. Sia che pratichi Scrum, Kanban o Scrumban, Azure Boards fornisce i backlog e i board per supportare la tua metodologia.

I team ottengono visibilità completa sullo stato del progetto, consentendo decisioni basate sui dati e monitoraggio delle tendenze tramite dashboard e report completi.

Per informazioni dettagliate, vedere Che cos'è Azure Boards?

Screenshot della pagina backlog di Azure Boards che mostra molte schede, tra cui Nuovi elementi, Elementi attivi e Elementi da analizzare.

Azure Repos

Azure Repos offre sistemi di controllo del codice sorgente che consentono una collaborazione fluida nelle codebase mantenendo completa la cronologia delle modifiche. Questi repository sono essenziali per i progetti multi-sviluppatore, garantendo coerenza e coordinamento durante lo sviluppo.

Screenshot della pagina di destinazione di Azure Repos che mostra il ramo 'main' nel repository con cartelle e un file README.

Azure DevOps supporta due opzioni di controllo del codice sorgente: Git e Team Foundation Version Control (TFVC).

Git

Git fornisce il controllo della versione distribuita con copie del repository locale per ogni sviluppatore, abilitando il lavoro offline e la diramazione flessibile. Git è la scelta predefinita per i nuovi progetti.

Annotazioni

Git in Azure DevOps è Git standard. È possibile usare Visual Studio con servizi Git non Microsoft. È anche possibile usare client Git non Microsoft con Azure DevOps Server.

Funzionalità chiave:

  • Esaminare i file: esaminare i dettagli del file e la cronologia delle modifiche
  • Scaricare e modificare i file: ottenere copie locali e apportare modifiche
  • Gestire i commit: tenere traccia dei commit e mantenere la cronologia delle modifiche chiare
  • Usare le richieste pull: creare, esaminare e completare revisioni di codice collaborativo
  • Usare i tag Git: Contrassegnare punti specifici nella cronologia del repository

TFVC

Il controllo della versione di Team Foundation (TFVC) fornisce il controllo della versione centralizzato con la gestione della cronologia sul lato server. Gli sviluppatori lavorano con versioni a file singolo in locale mentre il server mantiene la cronologia delle modifiche completa.

Funzionalità principali:

  • Flusso di lavoro a versione singola: gli sviluppatori lavorano con le versioni dei file correnti, riducendo la complessità
  • Cronologia lato server: tutte le modifiche e le versioni archiviate in modo sicuro nel server
  • Branching basato sul percorso: rami gestiti dal server con organizzazione chiara

Integrazione dell'ambiente di sviluppo

Azure DevOps supporta lo sviluppo multipiattaforma con un'ampia integrazione degli strumenti:

  • Supporto multipiattaforma: build per Android, iOS, Linux, macOS e Windows
  • Integrazione dell'IDE: funziona con Android Studio, Eclipse, IntelliJ, Visual Studio, VS Code e Xcode
  • Supporto del linguaggio: supporta .NET, Java, Node.js, Python, PHP, Ruby e altro ancora
  • Flessibilità client: usare Git o TFVC con gli strumenti di sviluppo preferiti

Azure Pipelines

Azure Pipelines automatizza processi di compilazione, test e rilascio per abilitare la distribuzione rapida e affidabile del software.

Funzionalità principali:

  • Compilazioni automatizzate: Attiva le compilazioni basate su commit di codice con integrazione e verifica automatizzate
  • Integrazione dei test: eseguire test dopo le compilazioni per convalidare le modifiche e rilevare i problemi in anticipo
  • Pipeline di versione: distribuire compilazioni tra ambienti dalla gestione temporanea alla produzione

Funzionalità principali:

  • Integrazione continua (CI): compilare e testare automaticamente le modifiche al codice
  • Continuous Delivery (CD): ottimizzare i rilasci affidabili dallo sviluppo all'ambiente di produzione
  • Automazione della compilazione: personalizzare i processi di compilazione con passaggi e trigger definiti
  • Gestione delle release: configurare pipeline di distribuzione multi-ambiente
  • Automazione della distribuzione: Riduzione dello sforzo manuale e degli errori di distribuzione
  • Flussi di lavoro di approvazione: aggiungere livelli di verifica prima di promuovere le compilazioni
  • Monitoraggio delle versioni: monitorare le distribuzioni nei diversi ambienti

Per informazioni dettagliate, vedere Che cos'è Azure Pipelines?

Screenshot della pagina di destinazione di Azure Pipelines che mostra l'elenco delle pipeline di esecuzione di recente.

Piani di test di Azure

I piani di test di Azure consentono test completi tramite la gestione manuale, esplorativa e automatizzata dei test.

Funzionalità chiave:

  • Personalizzazione del flusso di lavoro: creare piani di test, gruppi e case personalizzabili allineati alle esigenze del progetto
  • Tracciabilità: collegare i requisiti direttamente ai test case e ai bug per il rilevamento end-to-end
  • Selezione test: usare gruppi di test basati su query per la selezione dei test basata su criteri
  • Interfaccia intuitiva: gestire i test case tramite un'interfaccia griglia simile a Excel
  • Elementi riutilizzabili: condividere i passaggi e i parametri dei test tra i test per la coerenza
  • Collaborazione: condividere piani di test con gli stakeholder per la revisione e il feedback
  • Esecuzione multipiattaforma: eseguire test da qualsiasi browser in qualsiasi piattaforma
  • Monitoraggio delle attività: tenere traccia dello stato di avanzamento dei test con grafici e report in tempo reale

Per informazioni dettagliate, vedere la documentazione sui piani di test di Azure.

Screenshot della pagina di destinazione dei piani di test che mostra un layout verticale di gruppi di test e test case nel piano di test.

Azure Artifacts

Azure Artifacts abilita la gestione dei pacchetti per pacchetti NuGet, npm, Maven, Python e Universal. Integra con le pipeline di compilazione, gestisci le versioni e controlla l'accesso con fonti upstream e criteri di conservazione.

Funzionalità chiave:

  • Più tipi di pacchetto: ospitare tutti i tipi di pacchetto principali in un singolo feed
  • Origini upstream: connettersi ai repository pubblici mantenendo la sicurezza
  • Controllo delle versioni dei pacchetti: gestire le versioni con criteri di controllo delle versioni e conservazione semantici
  • Controllo di accesso: controllare le autorizzazioni dei feed con la gestione granulare degli accessi
  • Integrazione della compilazione: pubblicare e usare automaticamente i pacchetti nelle pipeline di compilazione
  • Ricerca del codice: eseguire ricerche nei repository con filtri in base al percorso, all'estensione di file e al tipo di codice

Servizi di collaborazione

Azure DevOps migliora la collaborazione tra i team tramite i servizi seguenti progettati per semplificare la comunicazione e il rilevamento dei progetti:

  • Wiki del progetto: documentare i dettagli del progetto, le linee guida e la knowledge base in un wiki centralizzato e facilmente accessibile.
  • Discussioni degli elementi di lavoro: facilitare le conversazioni direttamente all'interno dei moduli degli elementi di lavoro e abilitare la comunicazione contestuale e tempestiva.
  • Collegamenti di tracciabilità: stabilire collegamenti tra elementi di lavoro, commit, richieste pull e altro ancora e garantire una tracciabilità completa nel progetto.
  • Avvisi e notifiche: configurare avvisi personalizzati e notifiche di modifica per mantenere i membri del team informati sugli aggiornamenti e le modifiche del progetto.
  • Gestione dei commenti e suggerimenti: semplificare il processo di richiesta, fornitura e gestione dei commenti e suggerimenti per migliorare continuamente i risultati del progetto.
  • Analisi e creazione di report: usare il servizio di analisi e la creazione di report di Power BI per ottenere informazioni dettagliate sulle prestazioni del progetto e prendere decisioni basate sui dati.

Questi servizi di collaborazione sono fondamentali per mantenere un team coeso e informato in grado di rispondere rapidamente alle esigenze e alle opportunità del progetto.

Ganci di servizio

Gli hook del servizio automatizzano le interazioni con i servizi esterni e rispondono agli eventi del progetto. Configurare hook per l'invio di notifiche, azioni di trigger o l'integrazione con strumenti non Microsoft quando le compilazioni hanno esito negativo, viene eseguito il commit del codice o le modifiche degli elementi di lavoro.

Funzionalità chiave:

  • Integrazione di app personalizzate: attivare azioni automatizzate nelle applicazioni in base a eventi di Azure DevOps
  • Destinazioni del servizio: connettersi a vari servizi esterni per risposte automatiche agli eventi del progetto

Per le integrazioni disponibili, vedere Visual Studio Marketplace. Per ulteriori informazioni, vedere Integrazione con service hook.

Servizi ospitati nel cloud di Azure

Azure offre servizi cloud per lo sviluppo e la distribuzione di applicazioni che funzionano in modo indipendente o si integrano con Azure DevOps per flussi di lavoro semplici.

Vantaggi principali:

  • Supporto completo: supporto completo dell'infrastruttura e della piattaforma per l'intero ciclo di vita dell'applicazione
  • Integrazione con Azure DevOps: i servizi combinati creano un'esperienza di sviluppo integrata

Per il catalogo dei servizi completo, vedere Prodotti Azure.

Servizi amministrativi

Azure DevOps offre strumenti di amministrazione semplificati per la gestione efficace di progetti e team.

Funzionalità chiave:

  • Gestione del portale Web: eseguire attività amministrative tramite il portale Web di Azure DevOps
  • Impostazioni complete: configurare impostazioni dettagliate per utenti, team, progetti e organizzazioni con un controllo granulare

Per altre informazioni, vedere Informazioni sulle impostazioni a livello di utente, team, progetto e organizzazione.

Funzionalità chiave

Gestione di progetto

  • Tenere traccia di storie utente, funzionalità, bug e attività
  • Pianificare sprint e versioni usando metodologie Agile
  • Monitorare lo stato di avanzamento con grafici burn-down e rilevamento della velocità
  • Personalizzare tipi di elementi di lavoro e flussi di lavoro

Controllo del codice sorgente

  • Ospitare repository Git privati illimitati
  • Supporto per i flussi di lavoro Git, tra cui la diramazione, l'unione e le richieste pull
  • Funzionalità di revisione del codice con commenti e criteri di approvazione
  • Integrazione con GitHub e altri provider Git

Compilazione e distribuzione

  • Integrazione continua con compilazioni automatizzate attivate dalle modifiche al codice
  • Supporto multipiattaforma per .NET, Java, Node.js, Python, Android, iOS, Linux, macOS e Windows
  • Eseguire la distribuzione in ambienti Azure, AWS, GCP o in sede
  • Distribuzione in più ambienti tra sviluppo, gestione temporanea e produzione
  • Gestione dei rilasci con controlli di approvazione e strategie di distribuzione
  • Elaborazione parallela con più agenti di compilazione per ci/CD più veloci

Test e qualità

  • Gestione ed esecuzione manuali dei test case
  • Integrazione automatizzata dei test nelle pipeline di compilazione
  • Copertura del codice e report dei test
  • Analisi della sicurezza e controlli di conformità

Perché scegliere Azure DevOps Services?

Azure DevOps Services offre diversi vantaggi per i team di sviluppo:

  • Configurazione rapida: iniziare subito a usare Azure DevOps senza la configurazione o la manutenzione dell'infrastruttura
  • Aggiornamenti automatici: ottenere le funzionalità e gli aggiornamenti della sicurezza più recenti senza intervento manuale
  • Scalabilità globale: basata sull'infrastruttura globale di Azure con contratto di servizio% 99.9
  • Sicurezza: sicurezza di livello aziendale con integrazione di Microsoft Entra ID, certificazioni di conformità e protezione dei dati
  • Integrazione: funziona con GitHub, Visual Studio, VS Code e centinaia di estensioni dal marketplace
  • Flessibilità: supporto per qualsiasi stack di sviluppo, linguaggio o piattaforma
  • Collaborazione: rimuovere le barriere tra i team e incoraggiare la collaborazione nell'intero ciclo di vita di sviluppo

Prezzi e accesso

  • Gratuito per i piccoli team: fino a cinque utenti possono accedere a tutte le funzionalità di base
  • Paga mentre cresci: aggiungere utenti con licenze Basic o Basic + Test Plans secondo necessità
  • Stakeholder senza limiti: accesso gratuito per stakeholder senza limiti per la visualizzazione di dashboard ed elementi di lavoro

Azure DevOps Server

Azure DevOps Server è disponibile per le organizzazioni che devono mantenere i dati in locale o che richiedono personalizzazioni specifiche non disponibili nel servizio cloud. Include gli stessi servizi di base di Azure DevOps Services, ma richiede l'infrastruttura e la manutenzione.

Per altre informazioni su Azure DevOps Server, vedere Installare Azure DevOps Server.

Come iniziare

È possibile iniziare a usare Azure DevOps? Di seguito sono elencati i passaggi successivi:

  1. Creare un'organizzazione gratuita : configurare l'organizzazione di Azure DevOps Services
  2. Creare il primo progetto - Iniziare a organizzare il lavoro
  3. Invitare i membri del team - Aggiungere i colleghi al team per collaborare
  4. Importare o creare repository - Ottenere il codice in Azure Repos
  5. Configurare la prima pipeline - Automatizzare compilazioni e distribuzioni