Använda TFSDeleteProject för att ta bort ett projekt lokalt i Azure DevOps
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Du kan ta bort ett projekt från Azure DevOps Server när projektet inte längre krävs med hjälp av TFSDeleteProject.
Om det dessutom finns komponenter som inte tas bort efter att ett misslyckat projekt har skapats kan du använda TFSDeleteProject för att ta bort dem.
Information om hur du tar bort ett projekt från Azure DevOps Services med hjälp av administratörskonsolen finns i Ta bort ett projekt.
Varning
TFSDeleteProject förstör projektet permanent, varefter det inte kan återställas. Du bör säkerhetskopiera alla viktiga projektdata innan du använder TFSDeleteProject.
Öppna kommandoradsverktyget TFSDeleteProject genom att öppna kommandotolken och ange:
cd %programfiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TfsDeleteProject.exe
Förutsättningar
Om du vill använda kommandot TFSDeleteProject måste du vara medlem i Team Foundation-administratörer säkerhetsgrupp eller projektadministratörer säkerhetsgrupp.
Mer information finns i Ange administratörsbehörigheter för Azure DevOps Server.
TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName
alternativ
Beskrivning
/q
Valfri. Använd tyst läge. Fråga inte användaren om bekräftelse.
/tvinga
Valfri. Anger att borttagningsprocessen ska fortsätta även om vissa komponenter inte kan tas bort.
/excludewss
Valfri. Anger att den SharePoint-webbplats som är associerad med projektet inte ska tas bort. Ange det här alternativet för att underhålla den befintliga webbplatsen så att andra projekt kan fortsätta att använda den.
/collection:URL
Krävs. Anger URI för projektsamlingen. Du måste använda följande format för URI:n: http://ServerName:Port/VirtualDirectoryName/CollectionName
.
Om du inte anger en virtuell katalog måste du använda följande format för URI:n: http://ServerName:Port/CollectionName
.
TeamProjectName
Krävs. Namnet på projektet. Om namnet innehåller blanksteg, omge det med citattecken.
Anmärkningar
När du skapar ett projekt skapar Azure DevOps Server dataobjekt på den server som är värd för Azure DevOps Server och kan skapa dataobjekt på den server som är värd för SharePoint-produkter och den server som är värd för SQL Server Reporting Services.
När du tar bort ett projekt tas rapporterna bort automatiskt från SQL Server Reporting Services.
När du tar bort ett projekt kan du välja om du vill ta bort de objekt som skapades för att stödja SharePoint-webbplatsen.
Ett fel kan dock hindra Azure DevOps Server från att skapa eller ta bort alla objekt. För att felsöka dessa problem innehåller följande avsnitt bakgrundsinformation, länkar till andra resurser och specifika steg som hjälper dig att fastställa orsaken till problemet, åtgärda problemet och vid behov ta bort dataobjekt som finns kvar efter att TFSDeleteProject har körts.
TFSDeleteProject-processen
När du använder kommandoradsverktyget TFSDeleteProject tar det först bort projektdata och sedan projektwebbplatser.
Fas 1: TFSDeleteProject tar bort projektdata
I den första fasen utför TFSDeleteProject automatiskt följande steg för att ta bort projektdata:
TFSDeleteProject skapar en inventering av alla komponenter som är kandidater för borttagning.
Detta omfattar komponenter som integreras med Test Manager, Team Foundation Build och Team Foundation versionskontroll.
TFSDeleteProject tar bort komponenten som visar projektnoden i Team Explorer.
TFSDeleteProject flaggar versionskontrollinformationen för borttagning, men tar inte bort den här informationen omedelbart.
Informationen innehåller alla versionskontrollgrenar i det angivna projektet, men inga andra grenar utanför projektet.
- Om både en överordnad gren och en underordnad gren finns i projektet flaggar TFSDeleteProject båda för borttagning.
- Om föräldra- och barngrenar finns i olika projekt flaggar TFSDeleteProject endast den angivna grenen.
- Om ett annat projekt är en gren från det angivna projektet flaggar TFSDeleteProject endast det angivna projektet. När det angivna projektet tas bort blir grenprojektet överblivet.
TFSDeleteProject tar omedelbart bort byggdata, inklusive information och kärndata, byggdefinitioner, byggagenter och testresultat som är associerade med projektet. Verktyget tar inte bort släppplatser för bygget.
Du behöver inte ta bort byggplatsen för ett gammalt projekt innan du skapar ett projekt som använder samma byggplats.
Om det angivna projektet innehåller en stor mängd byggdata kanske borttagningen inte slutförs inom tidsgränsen.
För att lösa det här problemet, se Öka Time-Out-perioden, och kör sedan TFSDeleteProject igen.
TFSDeleteProject tar omedelbart bort arbetsobjekt och arbetsobjektfält som tillhör det angivna projektet och tar bort alla icke-delade metadata.
Om det angivna projektet innehåller en stor mängd arbetsobjektdata kanske borttagningen inte slutförs inom tidsgränsen.
Information om hur du löser det här problemet finns i Öka Time-Out period och kör sedan TFSDeleteProject igen.
Fas 2: TFSDeleteProject tar bort projektwebbplatser
I den andra fasen tar TFSDeleteProject bort följande data:
Viktig
De här stegen kan ta lång tid att slutföra och under den tiden kan de försämra serverprestanda.
- TFSDeleteProject Använder Reporting Services-API:er för att ta bort rapporter på servern som är värd för Reporting Services.
- TFSDeleteProject Tar bort projektportalwebbplatsen från den server som är värd för SharePoint-produkter.
Det här steget inträffar endast om projektet äger platsen och webbplatsborttagningen inte utesluts på kommandoraden. (Tänk på att flera projekt kan peka på en enda webbplats, men bara en av dem kan vara ägare där rapporter/instrumentpaneler som standard använder det här projektet).
Not
Innan du tar bort ett projekt kan du bekräfta att Reporting Services och SharePoint-produkter använder rätt projekt-URL:er genom att verifiera portalinställningarna. Mer information finns i Lägg till en projektportal.
Om TFSDeleteProject tar bort alla dataelement ovan returneras meddelandet Klar.
Information om hur du verifierar det här resultatet finns i Kontrollera att projektkomponenter tas bort.
Om en eller flera komponenter inte tas bort kan du köra TFSProjectDelete igen med alternativet /force för att fortsätta borttagningsprocessen även om det inte går att ta bort alla dataelement.
Med det här alternativet TFSDeleteProject hoppar över en komponent som den inte kan ta bort, returnerar ett felmeddelande, tar bort nästa komponent och lämnar projektets metadata och säkerhetsinställningar intakta.
Data som kan förbli odelade
Följande data kan finnas kvar i distributionen när TFSDeleteProject har slutförts:
Projektdata i kuben.
Projektdata finns kvar i kuben tills kuben återskapas, då lagerkontrollanttjänsten tar bort alla historiska byggdata som har tagits bort från Azure DevOps-databaserna.
Bygg droppfiler och mappar.
Skapa binärfiler, skapa loggfiler och loggfiler som innehåller testresultat publiceras under byggprocessen.
Platserna för dessa filer tas inte bort. Om du vill ta bort de här filerna måste du ta bort dem manuellt.
Spårningsmetadata för arbetsobjekt som delas.
TFSDeleteProject tar inte bort några metadata för spårning av arbetsobjekt som delas mellan projekt.
Hyllor för versionskontroll som innehåller delad kod.
Hyllor för versionskontroll tas inte bort om det finns kod i hyllorna från flera projekt.
Verifiera borttagning av projekt
Du kan kontrollera att ett projekt har tagits bort genom att bekräfta att projektnoden inte längre visas i Team Explorer och att dess projektportalwebbplats och rapportmappar inte längre finns.
Öppna Team Explorer och kontrollera att projektet inte visas som en projektnod.
Öppna Internet Explorer och skriv URL:en för projektportalwebbplatsen. Kontrollera att webbplatsen inte längre finns.
I Internet Explorer i rutan Adress skriver du URL:en för Reporting Services-webbplatsen med något av följande URL-format:
http://ReportingServices/Reports
http://ReportingServices/Reports_TFSInstance
I Rapporthanteraren väljer du Visa information.
Kontrollera att mappen för det borttagna projektet inte längre visas.
Välj rotmappen TfsReports och välj sedan mappen med namnet för projektsamlingen.
Det bör inte längre finnas en mapp med namnet på det borttagna projektet.
Om rapporterna eller webbplatsen finns kvar kan du läsa nästa procedur.
Ta bort återstående komponenter efter delprojektborttagning
Om projektportalens webbplats och rapportmapp finns kvar när du har tagit bort ett projekt tar du bort webbplatsen och mappen manuellt.
Logga in på den server som är värd för Reporting Services för projektet som du tog bort.
Öppna Internet Explorer och i rutan Adress skriver du URL:en för Reporting Services-webbplatsen med något av följande URL-format:
http://localhost/Reports
http://localhost/Reports_TFSInstance
I Rapporthanteraren väljer du Visa information.
Välj rotmappen TfsReports och välj sedan mappen med namnet för projektsamlingen.
Markera kryssrutan för projektet som togs bort.
Välj Ta bort.
Välj OK för att bekräfta att du vill ta bort rapportmappen för projektet.
Information om hur du tar bort projektportalwebbplatsen för ett borttaget projekt finns på följande sida på Microsofts webbplats:
Skapa, Redigera och Ta bort Windows SharePoint Services-webbplatser.
Öka tidsgränsen
Som standardinställning måste varje anrop till webbtjänsten som utfärdas av TFSDeleteProject-kommandot för att ta bort en komponent slutföras inom 10 minuter. Om det finns sex anrop kan processen ta upp till en timme. Om du vill ta bort ett projekt som är associerat med en stor mängd data kan du tillfälligt öka den här tidsgränsen.
Not
När du ökar tidsgränsen påverkar ändringen alla webbtjänstanrop. I allmänhet vill du hålla tidsgränsen inom 10 minuter för att förhindra att webbtjänstanrop försämrar serverprestandan och gör att användare blir utelåst från att använda användargränssnittet under långa tidsperioder. När projektet har tagits bort bör du därför ändra tidsgränsen tillbaka till 10 minuter.
Förutsättningar
För att kunna slutföra dessa procedurer måste du vara Windows-administratör på programnivåservern.
Viktig
Felaktig ändring av datorns register kan leda till att datorn blir instabil. Om du inte är bekant med registret bör du inte lägga till eller ta bort poster eller ändra det på något sätt.
Logga in på programnivåservern.
Välj Start, Kör, skriv regedit och välj sedan OK.
Expandera HKEY_ LOCAL_MACHINE i webbläsarfönstret:
- Om servern kör ett 32-bitars operativsystem expanderar du: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
- Om servern kör ett 64-bitars operativsystem expanderar du: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
Om nyckeln TeamFoundation\RequestSettings inte finns följer du dessa steg för att skapa den:
- Öppna snabbmenyn för TeamFoundation, peka på Ny och välj Nyckel.
- Ge nyckeln namnet RequestSettings.
- Öppna snabbmenyn för RequestSettings, peka på Ny och välj DWORD-värde.
- Ge det nya värdet namnet DefaultTimeout.
Öppna snabbmenyn för DefaultTimeout och välj Ändra.
I Värdedata skriver du tidsgränsen i millisekunder och väljer sedan Decimal.
Om du till exempel vill öka tidsgränsen till 30 minuter skriver du 18000000. Om du vill ändra tidsgränsen tillbaka till 10 minuter skriver du 600000.
Välj OK.
På menyn Arkiv väljer du Avsluta.
Exempel
Följande kommando tar bort alla komponenter som är associerade med projektet StoreFront på Azure DevOps Server AdventureWorks1-servern i projektsamlingen Collection1 och från Team Explorer.
TFSDeleteProject /force /collection:http://AdventureWorks1:8080/tfs/Collection1 StoreFront