Gestire le raccolte di progetti in Azure DevOps Server

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Quando il Azure DevOps Server ospita più progetti, è possibile gestirli in modo più efficiente raggruppandoli e assegnando le stesse risorse a loro. Ad esempio, è possibile raggruppare progetti con requisiti o obiettivi simili, ad esempio tutti i progetti che accedono a una determinata base di codice. È possibile quindi gestire il gruppo di progetti team come risorsa autonoma con gruppi di utenti, risorse server e pianificazione di manutenzione specifici.

Un gruppo di progetti viene chiamato raccolta di progetti. Quando si installa Azure DevOps Server, viene creata una raccolta predefinita per contenere tutti i progetti. Quando si crea una raccolta, si specificano le risorse logiche e fisiche che possono essere usate all'interno di tale raccolta. Tutti gli elementi e i dati usati da tali progetti vengono archiviati nell'unico database della raccolta.

Nella figura seguente viene illustrato il modo in cui i database per le raccolte di progetti sono integrati con l'architettura logica. Quando si crea un progetto, si specifica la raccolta che archivierà i dati.

Esempio: possibile percorso di database di raccolte

Visualizzare informazioni o configurare un progetto esistente

  1. Se non è stato aggiunto come amministratore di Azure DevOps Server, aggiungere ora.

    È necessario essere un membro del gruppo Administrators locale nel server in cui si vuole aprire la console e un membro del gruppo Azure DevOps Server o Team Foundation Administrators oppure l'autorizzazione Modifica informazioni Server-Level deve essere impostata su Consenti.

  2. Accedere al server a livello di applicazione, aprire la console di amministrazione e aprire il nodo Raccolte progetti team .

    Screenshot del nodo Console Amministrazione Team Project Collections Azure DevOps Server 2022.

    Screenshot di Amministrazione Console, nodo Raccolte progetti team, Azure DevOps Server 2019-2020.

    Screenshot del nodo Console Amministrazione Team Project Collections, TFS-2018.

  3. Evidenziare il nome di una raccolta ed esaminare le informazioni fornite nelle varie schede. Alcune schede vengono visualizzate solo se l'applicazione corrispondente è stata configurata.

    Nella scheda corrispondente è possibile eseguire le attività seguenti.

    Scheda Attività
    Generale
    • Avviare la raccolta o arrestare la raccolta: avviare o arrestare una raccolta. I progetti diventano non disponibili quando si arresta una raccolta. Una ravvolta viene in genere arrestata per supportare le operazioni di manutenzione, quali lo spostamento o la suddivisione di una raccolta.
    • Se la raccolta viene avviata, viene visualizzata solo La raccolta stop . Se la raccolta viene arrestata, viene visualizzata solo La raccolta Start . Il completamento delle operazioni di avvio o arresto di una raccolta può richiedere diversi minuti. Potrebbe essere necessario scegliere Aggiorna per visualizzare la modifica nello stato.
    • Modifica impostazioni: modificare la descrizione o la configurazione della raccolta.
    • Appartenenza al gruppo: aggiungere o rimuovere utenti o gruppi come membri di una raccolta. Per altre informazioni, vedere Impostare le autorizzazioni di amministratore per le raccolte di progetti.
    • Amministrazione sicurezza: gestire le autorizzazioni di un gruppo di raccolte. Per altre informazioni, vedere Autorizzazioni e gruppi di riferimento.
    Status
    • Visualizzare un log attività o rieseguire un processo.
    Progetti

Configurare la creazione di report

La pagina Creazione report viene visualizzata solo quando è stato aggiunto un server di report ad Azure DevOps. Scegliere questa pagina per eseguire le attività seguenti:

  • Configurare il server di report per essere usato dalla raccolta.
  • Quando si modifica il percorso della cartella predefinita, l'operazione avrà esito negativo se si digita il percorso di una cartella che non esiste nel server e non si dispone dell'autorizzazione per creare una cartella in tale server. È necessario specificare una cartella esistente se non si dispone delle autorizzazioni per creare cartelle in tale server.
  • Per rimuovere il percorso predefinito per le sottocartelle del report, scegliere Cancella configurazione.
  • La rimozione della configurazione rimuove la funzionalità di creazione report per tutti i progetti esistenti e futuri nella raccolta.

Creare una raccolta di progetti

Prima di creare una raccolta di progetti, vedere Quali sono i vantaggi e i svantaggi della creazione di più raccolte di progetti, come descritto più avanti in questo articolo.

  1. Se non è stato aggiunto come amministratore, aggiungere ora.

    È necessario essere un membro del gruppo Administrators locale nel server in cui si vuole aprire la console e un membro del gruppo Amministratori di Team Foundation o l'autorizzazione Modifica Server-Level Informazioni deve essere impostata su Consenti.

  2. Nella console di amministrazione aprire la pagina Raccolte progetto team e scegliere Crea raccolta.

    Screenshot della console di amministrazione, nodo Raccolte progetto team, Raccolta create, Azure DevOps Server 2022.

    Screenshot della console di amministrazione di Azure DevOps Server con l'opzione Crea raccolta evidenziata.

    Screenshot della console di amministrazione di TFS, Creare una raccolta di progetti.

  3. Seguire le indicazioni fornite dalla procedura guidata Crea raccolta progetti team .

    Per Nome specificare un nome univoco senza più di 64 caratteri (più breve è meglio), e non specificare barre o altri caratteri speciali elencati in Restrizioni di denominazione.

    Finestra di dialogo Crea raccolta, Azure DevOps Server 2022, con l'opzione Ereditarietà selezionata.

    Screenshot della finestra di dialogo Crea raccolta progetto team con l'opzione Ereditarietà selezionata.

  1. Scegliere Ereditarietà se si vuole usare l'interfaccia utente per personalizzare il rilevamento del lavoro. Questa scelta si basa sul servizio analisi per supportare le esigenze di creazione di report.

    Scegliere XML se si desidera usare i file di definizione XML per personalizzare il rilevamento del lavoro.

    Nota

    Per il modello di processo XML locale, è possibile usare witadmin per elencare, importare, esportare e modificare un processo per un progetto. Per i modelli di processo ereditati, è possibile usare solo witadmin per elencare ed esportare le informazioni sul processo. Per una panoramica dei modelli di processo e delle funzionalità supportate, vedere Personalizzare l'esperienza di rilevamento del lavoro.

La procedura guidata supporta la configurazione delle risorse seguenti. Alcune risorse possono essere configurate solo se il server di livello applicazione che ospita la raccolta è stato precedentemente configurato per supportare l'applicazione corrispondente.

Istanza livello dati o di SQL Server

  1. Specificare il nome del server a livello di dati Azure DevOps. Se si vuole usare un'istanza denominata per ospitare il database per questa raccolta di progetti, è necessario specificare anche il nome dell'istanza come nell'esempio seguente:

    Nomeserver\Instancename

  2. Scegliere Crea un nuovo database per questa raccolta se si vuole creare un database per la raccolta. Questa opzione richiede che l'account del servizio usato da Visual Studio Team Foundation Background Job Agent disponga delle autorizzazioni per creare un database nell'istanza di SQL Server.

    In alternativa, scegliere Usa questo database esistente se si vuole usare un database già esistente e specificare il nome del database. Questa opzione richiede la presenza di un database vuoto nell'istanza denominata di SQL Server e le autorizzazioni di scrittura.

SQL Server Reporting Services

  1. I report vengono visualizzati se è stato configurato il livello applicazione per l'uso di SQL Server Reporting Services, in caso contrario, è disabilitato. Per configurarla in un secondo momento, vedere Aggiungere un server di report.

  2. Esaminare le informazioni per il server e la cartella che ospiterà i report e scegliere Avanti. Questa opzione richiede che l'account utente disponga delle autorizzazioni per creare una cartella sul server che esegue Reporting Services.

    A meno che le restrizioni di sicurezza nell'infrastruttura aziendale non impediscano la creazione automatica di una cartella come parte della procedura guidata, è necessario usare l'opzione predefinita per creare una cartella.

  3. Se è necessario usare una cartella creata da un amministratore nel server che esegue Reporting Services, espandere Configurazione avanzata, scegliere Specificare un percorso di una cartella esistente e specificare il percorso relativo della cartella creata.

    Scegliere Verifica percorso e, se il percorso è corretto, scegliere Avanti.

Processo di verifica

  1. Nei controlli di idoneità esaminare lo stato dei controlli.

    Viene visualizzato un indicatore di errore sottolineato blu accanto a qualsiasi configurazione contenente un errore. È possibile scegliere l'indicatore per visualizzare un messaggio dettagliato relativo al problema. È necessario risolvere tutti gli errori prima di poter continuare.

    Dopo aver superato tutti i controlli di idoneità, scegliere Crea.

  2. Il processo di creazione di una raccolta di progetti inizia.

    Screenshot della finestra di dialogo Crea raccolta progetto team che mostra che il processo di creazione ha avuto esito positivo.

    Al termine della procedura guidata, scegliere Chiudi.

Scollegare o eliminare una raccolta di progetti

Scollegare una raccolta di progetti quando si vuole eseguire un'operazione di manutenzione, ad esempio lo spostamento o la suddivisione di una raccolta. Teams non può accedere ai progetti o al codice sorgente quando si scollega la raccolta.

Eliminare una raccolta quando non sono più necessari i dati archiviati nei progetti definiti nella raccolta. I tre passaggi per eliminare una raccolta sono (1) scollegare la raccolta e (2) eliminare il database di raccolta.

Rimuovere la raccolta

  1. Dalla console di amministrazione evidenziare il nome della raccolta da eliminare e quindi scegliere Scollega raccolta.

    Screenshot di selezionare Scollega raccolta Azure DevOps Server 2022.

    Screenshot di selezionare Scollega raccolta, Azure DevOps Server 2019-2020.

    Screenshot di selezionare Scollega raccolta, TFS 2018.

  2. Seguire le indicazioni fornite dalla Procedura guidata Scollega raccolta progetti team.

    (Facoltativo) Nella pagina Specificare un messaggio di manutenzione per la raccolta di progetti, in Messaggio di manutenzione specificare un messaggio per gli utenti che potrebbero provare a connettersi ai progetti in questa raccolta.

  3. Al termine di tutti i controlli di conformità, scegliere Scollega.

    Nella pagina Monitor the project collection detach progress (Monitorare lo stato di avanzamento della raccolta di progetti) al termine di tutti i processi scegliere Avanti.

  4. (Facoltativo) Nella pagina Rivedi informazioni supplementari per questa raccolta di progetti prendere nota del percorso del file di log.

Eliminare il database di raccolta

  1. Aprire SQL Server Management Studio, connettersi all'istanza del motore di database di SQL Server che ospita il database di raccolta ed espandere l'istanza.

    Evidenziare il nome del database di raccolta (per impostazione predefinita, TFS_CollectionName) e quindi eliminare il database.

    Per altre informazioni, vedere Eliminare un database.

La raccolta di progetti non viene più visualizzata nell'elenco delle raccolte nella console di amministrazione.

Domande e risposte

D: È disponibile uno strumento da riga di comando per la gestione delle raccolte?

Un: È possibile usare il comando TFSConfig Collection per collegare, scollegare, eliminare o clonare una raccolta di progetti.

D: Quali sono i vantaggi e i svantaggi della creazione di più raccolte di progetti?

Se le attività di sviluppo trarranno vantaggio dalla possibilità di creare rami e unire codice oppure è necessario eseguire una query sullo stato degli elementi di lavoro correlati allo stesso codice, è necessario consolidare i progetti nella stessa raccolta di progetti.

R: Vantaggi per la creazione di più raccolte

È possibile separare meglio le necessità operative di una codebase o un altro raggruppamento di progetti dalle necessità operative di un altro raggruppamento. Poiché i dati di ogni raccolta vengono archiviati nel relativo database, è possibile gestire in modo indipendente molti aspetti di ciascuna raccolta separatamente dalle altre raccolte nella distribuzione. È possibile, ad esempio, arrestare e avviare ogni raccolta singolarmente. Pertanto, è possibile pianificare le operazioni di manutenzione per ciascuna raccolta in momenti diversi.

Il raggruppamento di progetti in più raccolte offre i vantaggi seguenti:

  • Maggiore flessibilità e scalabilità nella gestione e distribuzione di database e risorse. Un gruppo di progetti correlati condivide report, elementi di lavoro e linee guida per i processi, nonché una codebase.

    Creando un database per ogni raccolta, i team e gli amministratori possono eseguire le attività seguenti:

    • Eseguire la compilazione, il branching, il merge e l'iterazione di una codebase autonoma in base alle esigenze dei progetti all'interno della raccolta. Le dipendenze del codice esterne alla raccolta possono essere gestite in modo formale.
    • Eseguire il backup e il ripristino dei dati per ogni raccolta indipendentemente dalle altre raccolte.
    • Archiviare tutti i database della raccolta in una singola istanza di SQL Server o distribuirli in una o più istanze.
    • Scollegare una raccolta, eseguirne il backup e quindi ripristinarla in un'altra distribuzione di Azure DevOps.
    • Riassegnare le risorse per soddisfare meglio le esigenze dei progetti, man mano che aumentano le dimensioni nel tempo.
  • Maggiore sicurezza operativa. Poiché ogni raccolta contiene un proprio set di utenti e autorizzazioni, è possibile separare le diverse codebase in differenti raccolte. Gli amministratori possono aggiungere utenti solo alla raccolta contenente il progetto o i progetti relativi a quella particolare codebase.

  • Maggiore capacità di supportare processi di flusso di lavoro personalizzati. Ogni raccolta gestisce i modelli di processo, i tipi di elemento di lavoro, i tipi di collegamento, gli elenchi globali e i campi dell'elemento di lavoro separatamente dalle altre raccolte. Separando i progetti con processi di flusso di lavoro diversi in raccolte diverse, tali personalizzazioni vengono esposte solo a tali progetti all'interno di una raccolta.

R: Svantaggi della creazione di più raccolte

Lo svantaggio principale della creazione di più raccolte di progetti consiste nell'aumentare la complessità della distribuzione di Azure DevOps.

  • È necessario eseguire il backup e il ripristino del database per ogni raccolta; anche le altre attività di gestione e manutenzione aumentano proporzionalmente al numero di raccolte disponibili. Ad esempio, è necessario gestire il set di utenti e autorizzazioni per ogni raccolta di progetti singolarmente.
  • I team non possono collegare gli elementi di lavoro di diverse raccolte.
  • I team non possono eseguire il branching o il merge del codice tra diverse raccolte.
  • I team non possono creare query tra diverse raccolte.

D: Quali risorse vengono gestite a livello di raccolta?

Un: Ogni progetto appartiene a una raccolta. Per informazioni sulla gestione di una raccolta, vedere Introduzione alla gestione dell'organizzazione o della raccolta di progetti.

D: In che modo i dati archiviati per raccolte di team diversi supportano la creazione di report?

Un: Un singolo data warehouse relazionale contiene tutti i dati reportabili di tutti i progetti definiti in tutte le raccolte di progetti per una distribuzione di Azure DevOps. I dati di tale warehouse vengono quindi elaborati e scritti nel cubo OLAP. Poiché i dati vengono raccolti in un singolo data warehouse, è possibile creare report in più raccolte di progetti.

Per creare o personalizzare i report, è necessario aggiungere account utente al ruolo TfsWarehouseDataReader. Gli autori dei report devono avere l'accesso in lettura per il data warehouse relazionale e il cubo di Analysis Services. Questi account possono visualizzare i dati per tutti i progetti team ospitati in tutte le raccolte di progetti nella distribuzione di Azure DevOps. Non è possibile limitare l'accesso a un progetto o a una raccolta.

D: Ricerca per categorie ridimensionare la distribuzione con le raccolte?

Un: Vedere Spostare una raccolta di progetti o Dividere una raccolta di progetti.