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 la creazione di un progetto non riuscito, è possibile usare TFSDeleteProject per rimuoverli.

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

Avviso

TFSDeleteProject elimina definitivamente il progetto, dopo il quale non può essere ripristinato. È necessario 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 in cui è installato Visual Studio o Team Explorer e immettere:

cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE

In un'edizione a 32 bit di Windows sostituire %programfiles(x86)% con %programfiles%.

Prerequisiti

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

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

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

Opzione

Descrizione

/q

facoltativo. Utilizzare la modalità non interattiva. Non richiedere la conferma dell'utente.

/Forza

facoltativo. Specifica che il processo di eliminazione deve continuare anche se non è possibile eliminare alcuni componenti.

/excludewss

facoltativo. 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. Per l'URI è necessario usare il formato seguente: http://ServerName:Port/VirtualDirectoryName/CollectionName.

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

NomeProgettoTeam

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

Commenti

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 Prodotti SharePoint 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 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 di 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.

    Nelle informazioni sono inclusi tutti i branch del controllo della versione del progetto specificato, ma nessun altro branch al di fuori del progetto.

    • Se un ramo padre e un ramo figlio sono 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 viene eliminato il progetto specificato, il progetto di branch diventa un orfano.
  4. TFSDeleteProject elimina immediatamente i dati di compilazione, inclusi dati di base e informazioni, definizioni di compilazione, agenti di compilazione e risultati dei test associati al progetto. Tramite lo strumento non vengono eliminate le destinazioni finali della compilazione.

    Non è necessario eliminare il percorso di rilascio della compilazione di un progetto precedente prima di creare un progetto che usa la stessa posizione di rilascio della compilazione.

    Se nel progetto specificato è contenuta una grande quantità di dati di compilazione, 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.

  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 nel progetto specificato è contenuta una grande quantità di dati degli elementi 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

È possibile che il completamento di questi passaggi richieda tempi lunghi durante i quali potrebbe verificarsi una riduzione delle 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 viene eseguito solo se il sito è di proprietà del progetto e l'eliminazione del sito non è esclusa nella riga di comando. Si consideri che più progetti possono puntare a un singolo sito, ma solo uno di essi può essere il proprietario in cui i report o i dashboard sono per impostazione predefinita usando 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 altre 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 eseguire di nuovo TFSProjectDelete usando l'opzione /force per continuare il processo di eliminazione anche se non è possibile eliminare tutti gli elementi dati.

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

Dati che potrebbero rimanere non recapitati

I dati seguenti potrebbero rimanere nella distribuzione dopo il completamento di TFSDeleteProject:

  • Dati del progetto 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.

  • Eliminare file e cartelle di compilazione.

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

    I percorsi per questi file non vengono eliminati. Se si desidera rimuovere questi file, è necessario effettuare l'operazione manualmente.

  • Metadati di rilevamento degli elementi di lavoro condivisi.

    TFSDeleteProject non elimina i metadati per il rilevamento degli elementi di lavoro condivisi tra progetti.

  • Insiemi di scaffali del controllo 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 del sito Web e dei report del portale di 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 sia più disponibile.

  3. Nella casella degli indirizzi in Internet Explorer digitare l'URL del sito Web di Reporting Services utilizzando uno dei formati di URL riportati di seguito.

    • http://ReportingServices/Reports
    • http://ReportingServices/Reports_TFSInstance
  4. In Gestione rapporti 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.

    La cartella con il nome del progetto eliminato non dovrebbe essere più disponibile.

  6. Se rimangono i rapporti o il sito Web, vedere la procedura descritta di seguito.

Rimuovere i componenti rimanenti dopo l'eliminazione parziale del progetto

Se il sito Web del portale di progetto e la cartella report 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 degli indirizzi digitare l'URL del sito Web di Reporting Services utilizzando uno dei formati di URL riportati di seguito.

    • http://localhost/Reports
    • http://localhost/Reports_TFSInstance
  3. In Gestione rapporti scegliere Mostra 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 Windows SharePoint Services.

Aumentare il periodo di timeout

Per impostazione predefinita, ogni chiamata al servizio Web che il comando TFSDeleteProject rilascia per eliminare un componente deve essere completato entro 10 minuti. Se vi sono sei chiamate, il processo potrebbe impiegare fino a un'ora. Se si vuole 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 del servizio Web. In generale, mantenere il periodo di timeout entro i 10 minuti per impedire che tramite le chiamate del servizio Web si verifichi un peggioramento delle prestazioni del server e un blocco dell'utilizzo dell'interfaccia utente da parte degli utenti per lunghi periodi di tempo. Pertanto, dopo l'eliminazione del progetto, è necessario impostare di nuovo il periodo di timeout su 10 minuti.

Prerequisiti

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

Importante

Se si modifica in modo errato il Registro di sistema è possibile che il computer diventi instabile. Se non si ha familiarità con il Registro di sistema, evitare di aggiungere o rimuovere voci o di apportare qualsiasi modifica.

  1. Accedere al server di livello applicazione.

  2. Fare clic su Start, Esegui, digitare regedit, quindi scegliere OK.

  3. Nel riquadro del browser espandere HKEY_ LOCAL_MACHINE:

    • Se nel server viene eseguito un sistema operativo a 32 bit, espandere: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
    • Se nel server viene eseguito un sistema operativo a 64 bit, espandere: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
  4. Se la chiave TeamFoundation\RequestSettings non esiste, seguire questi passaggi per crearla:

    1. Aprire il menu di scelta rapida per TeamFoundation, puntare a Nuovo, quindi scegliere Chiave.
    2. Denominare la chiave RequestSettings.
    3. Aprire il menu di scelta rapida per RequestSettings, puntare a Nuovo, quindi scegliere Valore DWORD.
    4. Denominare il nuovo valore DefaultTimeout.
  5. Aprire il menu di scelta rapida per DefaultTimeout e scegliere Modifica.

  6. In Dati valore digitare il periodo di timeout in millisecondi, quindi scegliere Decimale.

    Ad esempio, per aumentare il periodo di timeout a 30 minuti, digitare 1800000. Per modificare il periodo di timeout di nuovo 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 Azure DevOps Server AdventureWorks1 nella raccolta di progetti Collection1 e da Team Explorer.

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