Condividi tramite


Usare TFSDeleteProject per eliminare un progetto in Azure DevOps locale

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

È possibile rimuovere un progetto da Azure DevOps Server quando il progetto non è più necessario usando TFSDeleteProject.

Inoltre, se sono presenti componenti che rimangono non eliminati dopo una creazione di progetto non riuscita, è possibile usare TFSDeleteProject per rimuoverli.

Per eliminare un progetto da Azure DevOps Services tramite la console di amministrazione, vedere Eliminare un progetto.

Avvertimento

TFSDeleteProject elimina definitivamente il progetto, dopo di che non può essere recuperato. È consigliabile eseguire il backup di tutti i dati importanti del progetto prima di usare TFSDeleteProject.

Per accedere allo strumento da riga di comando TFSDeleteProject, aprire una finestra del prompt dei comandi e immettere:

cd %programfiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TfsDeleteProject.exe

Prerequisiti

Per usare il comando TFSDeleteProject, è necessario essere membri del gruppo di sicurezza Amministratori di Team Foundation o del gruppo di sicurezza Project Administrators.

Per altre informazioni, vedere Impostare le autorizzazioni di amministratore per Azure DevOps Server.

TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName

Opzione

Descrizione

/q

Opzionale. Usare la modalità silenziosa. Non richiedere conferma all'utente.

/forza

Opzionale. Specifica che il processo di eliminazione deve continuare anche se alcuni componenti non possono essere eliminati.

/excludewss

Opzionale. Specifica di non eliminare il sito di SharePoint associato al progetto. Specificare questa opzione per mantenere il sito esistente in modo che altri progetti possano continuare a usarlo.

/collection:URL

Obbligatorio. Specifica l'URI della raccolta di progetti. È necessario usare il formato seguente per l'URI: http://ServerName:Port/VirtualDirectoryName/CollectionName.

Se non si specifica una directory virtuale, è necessario usare il formato seguente per l'URI: http://ServerName:Port/CollectionName.

TeamProjectName

Obbligatorio. Nome del progetto. Se il nome include spazi, racchiuderlo tra virgolette.

Osservazioni

Quando si crea un progetto, Azure DevOps Server crea oggetti dati nel server che ospita Azure DevOps Server e può creare oggetti dati nel server che ospita SharePoint Products e il server che ospita SQL Server Reporting Services.

Quando si rimuove un progetto, i report vengono rimossi automaticamente da SQL Server Reporting Services.

Quando si rimuove un progetto, è possibile scegliere se rimuovere o meno gli oggetti creati per supportare il sito di SharePoint.

Tuttavia, un errore può impedire a Azure DevOps Server di creare o eliminare tutti gli oggetti. Per risolvere questi problemi, le sezioni seguenti forniscono informazioni generali, collegamenti ad altre risorse e passaggi specifici che consentono di determinare la causa del problema, risolvere il problema e, quando necessario, eliminare gli oggetti dati che rimangono dopo l'esecuzione di TFSDeleteProject.

Processo TFSDeleteProject

Quando si usa lo strumento da riga di comando TFSDeleteProject, vengono prima eliminati i dati del progetto e quindi i siti Web del progetto.

Fase 1: TFSDeleteProject elimina i dati del progetto

Nella prima fase TFSDeleteProject esegue automaticamente i passaggi seguenti per rimuovere i dati del progetto:

  1. TFSDeleteProject crea un inventario di tutti i componenti candidati per l'eliminazione.

    Sono inclusi i componenti che si integrano con Test Manager, Team Foundation Build e il controllo della versione di Team Foundation.

  2. TFSDeleteProject elimina il componente che visualizza il nodo del progetto in Team Explorer.

  3. TFSDeleteProject contrassegna le informazioni sul controllo della versione per l'eliminazione, ma non elimina immediatamente queste informazioni.

    Le informazioni includono tutti i rami di controllo della versione nel progetto specificato, ma nessun altro ramo all'esterno del progetto.

    • Se un ramo padre e un ramo figlio si trovano entrambi nel progetto, TFSDeleteProject contrassegna entrambi per l'eliminazione.
    • Se i rami padre e figlio si trovano in progetti diversi, TFSDeleteProject contrassegna solo il ramo specificato.
    • Se un altro progetto è un ramo del progetto specificato, TFSDeleteProject contrassegna solo il progetto specificato. Quando il progetto specificato viene eliminato, il progetto di ramo diventa orfano.
  4. TFSDeleteProject elimina immediatamente i dati di compilazione, incluse informazioni e dati di base, definizioni di compilazione, agenti di compilazione e risultati di test associati al progetto. Lo strumento non elimina i punti di distribuzione della build.

    Non è necessario eliminare il percorso di rilascio di un progetto precedente prima di creare un progetto che utilizza lo stesso percorso di rilascio.

    Se il progetto specificato contiene una grande quantità di dati di compilazione, l'eliminazione potrebbe non terminare entro il periodo di timeout.

    Per risolvere questo problema, consulta la sezione Aumentare il periodo di Time-Out e poi esegui di nuovo TFSDeleteProject.

  5. TFSDeleteProject elimina immediatamente gli elementi di lavoro e i campi dell'elemento di lavoro che appartengono al progetto specificato ed elimina tutti i metadati non condivisi.

    Se il progetto specificato contiene una grande quantità di dati dell'elemento di lavoro, l'eliminazione potrebbe non terminare entro il periodo di timeout.

    Per risolvere questo problema, vedere Aumentare il periodo di Time-Out e quindi eseguire di nuovo TFSDeleteProject.

Fase 2: TFSDeleteProject elimina i siti Web del progetto

Nella seconda fase TFSDeleteProject elimina i dati seguenti:

Importante

Il completamento di questi passaggi può richiedere molto tempo e, durante tale periodo, possono ridurre le prestazioni del server.

  • TFSDeleteProject Usa le API di Reporting Services per eliminare i report nel server che ospita Reporting Services.
  • TFSDeleteProject Elimina il sito Web del portale di progetto dal server che ospita Prodotti SharePoint.

Questo passaggio si verifica solo se il progetto è proprietario del sito e l'eliminazione del sito non viene esclusa nella riga di comando. Considera che più progetti possono puntare a un singolo sito, ma solo uno di essi può essere il proprietario dove per impostazione predefinita i report e i dashboard usano questo progetto.

Nota

Prima di eliminare un progetto, è possibile verificare che Reporting Services e Prodotti SharePoint usino gli URL di progetto corretti verificando le impostazioni del portale. Per ulteriori informazioni, vedere Aggiungere un portale di progetto.

Se TFSDeleteProject elimina correttamente tutti gli elementi dati precedenti, restituisce il messaggio Done.

Per verificare questo risultato, vedere Verificare che i componenti del progetto siano eliminati.

Se uno o più componenti non vengono rimossi, è possibile rieseguire TFSProjectDelete usando l'opzione /force per continuare il processo di eliminazione anche se non è possibile eliminare tutti gli elementi di dati.

Con questa opzione TFSDeleteProject, ignora un componente che non può eliminare, restituisce un messaggio di errore, elimina il componente successivo e lascia intatti i metadati del progetto e le impostazioni di sicurezza.

Dati che potrebbero rimanere non eliminati

Dopo il completamento di TFSDeleteProject, i dati seguenti potrebbero rimanere nella distribuzione:

  • dati di Project nel cubo.

    I dati del progetto rimangono nel cubo fino a quando il cubo non viene ricompilato, al momento in cui il servizio controller del warehouse rimuove tutti i dati di compilazione cronologici eliminati dai database di Azure DevOps.

  • Costruire file e cartelle di rilascio.

    I file binari di compilazione, i file di log di compilazione e i file di log contenenti i risultati dei test vengono pubblicati durante il processo di compilazione.

    Le ubicazioni per questi file non vengono eliminate. Se si desidera rimuovere questi file, è necessario rimuoverli manualmente.

  • metadati di rilevamento degli elementi di lavoro condivisi.

    TFSDeleteProject non elimina i metadati del monitoraggio degli elementi di lavoro che sono condivisi tra i progetti.

  • gli scaffali dei controlli della versione contenenti codice condiviso.

    Gli scaffali del controllo della versione non vengono eliminati se nel set di scaffali è presente codice da più progetti.

Verificare l'eliminazione del progetto

È possibile verificare l'esito positivo di un'eliminazione del progetto confermando che il nodo del progetto non viene più visualizzato in Team Explorer e che le cartelle dei report e del sito Web del portale del progetto non esistono più.

  1. Aprire Team Explorer e verificare che il progetto non venga visualizzato come nodo del progetto.

  2. Aprire Internet Explorer e digitare l'URL del sito Web del portale del progetto. Verificare che il sito non esista più.

  3. Nella casella Indirizzo di Internet Explorer digitare l'URL del sito Web Reporting Services usando uno dei formati url seguenti:

    • http://ReportingServices/Reports
    • http://ReportingServices/Reports_TFSInstance
  4. In Gestione dei report, scegliere Mostra Dettagli.

  5. Verificare che la cartella per il progetto eliminato non venga più visualizzata.

    Scegliere la cartella radice TfsReports e quindi scegliere la cartella denominata per la raccolta di progetti.

    Non dovrebbe più essere presente una cartella con il nome del progetto eliminato.

  6. Se i report o il sito Web rimangono, consultare la procedura successiva.

Rimuovere i componenti rimanenti dopo l'eliminazione parziale del progetto

Se il sito Web e la cartella report del portale del progetto rimangono dopo l'eliminazione di un progetto, rimuovere manualmente il sito e la cartella.

  1. Accedere al server che ospita Reporting Services per il progetto eliminato.

  2. Aprire Internet Explorer e nella casella Indirizzo digitare l'URL del sito Web Reporting Services usando uno dei formati di URL seguenti:

    • http://localhost/Reports
    • http://localhost/Reports_TFSInstance
  3. In Gestione report scegliere Mostra i dettagli.

  4. Scegliere la cartella radice TfsReports e quindi scegliere la cartella denominata per la raccolta di progetti.

  5. Selezionare la casella di controllo per il progetto eliminato.

  6. Scegliere Elimina.

  7. Scegliere OK per confermare che si vuole eliminare la cartella report per il progetto.

  8. Per rimuovere il sito Web del portale di progetto di un progetto eliminato, vedere la pagina seguente nel sito Web Microsoft:

Creare, modificare ed eliminare siti di Windows SharePoint Services.

Aumentare il periodo di timeout

Per impostazione predefinita, ogni chiamata al servizio Web che il comando TFSDeleteProject genera per eliminare un componente deve essere completato entro 10 minuti. Se sono presenti sei chiamate, il processo potrebbe richiedere fino a un'ora. Se si desidera eliminare un progetto associato a una grande quantità di dati, è possibile aumentare temporaneamente questo periodo di timeout.

Nota

Quando si aumenta il periodo di timeout, la modifica influisce su tutte le chiamate al servizio Web. In generale, si vuole mantenere il periodo di timeout entro 10 minuti per impedire alle chiamate al servizio Web di ridurre le prestazioni del server e impedire agli utenti di usare l'interfaccia utente per lunghi periodi di tempo. Pertanto, dopo l'eliminazione con successo del progetto, è necessario ripristinare il periodo di timeout a 10 minuti.

Prerequisiti

Per completare queste procedure, è necessario essere un amministratore di Windows nel server a livello di applicazione.

Importante

La modifica non corretta del Registro di sistema del computer può causare l'instabilità del computer. Se non si ha familiarità con il Registro di sistema, non è consigliabile aggiungere o rimuovere voci o modificarle in alcun modo.

  1. Accedere al server del livello applicazione.

  2. Scegliere Start, Esegui, digitare regedit e quindi scegliere OK.

  3. Nel riquadro del browser, espandi HKEY_ LOCAL_MACHINE:

    • Se il server esegue un sistema operativo a 32 bit, espandi: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
    • Se il server esegue un sistema operativo a 64 bit, bisogna espandere: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
  4. Se la chiave TeamFoundation\RequestSettings non esiste, seguire questa procedura per crearla:

    1. Aprire il menu di scelta rapida per TeamFoundation, puntare su Nuovo e selezionare Chiave.
    2. Assegnare alla chiave il nome RequestSettings.
    3. Aprire il menu di scelta rapida per RequestSettings, puntare su Nuovo e selezionare Valore DWORD.
    4. Assegnare al nuovo valore il nome DefaultTimeout.
  5. Aprite il menu contestuale per DefaultTimeout e scegli Modifica.

  6. In Dati valore digitare il periodo di timeout in millisecondi e quindi scegliere Decimal.

    Ad esempio, per aumentare il periodo di timeout a 30 minuti, digitare 1800000. Per modificare il periodo di timeout a 10 minuti, digitare 600000.

  7. Scegliere OK.

  8. Scegliere Esci dal menu File.

Esempio

Il comando seguente rimuove tutti i componenti associati al progetto StoreFront nel server AdventureWorks1 di Azure DevOps Server nella raccolta di progetti Collection1 e da Team Explorer.

TFSDeleteProject /force /collection:http://AdventureWorks1:8080/tfs/Collection1 StoreFront