Sdílet prostřednictvím


Použití TFSDeleteProject k odstranění projektu v místním prostředí Azure DevOps

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

Projekt můžete odebrat z Azure DevOps Server, když už projekt není potřeba, pomocí TFSDeleteProject.

Kromě toho, pokud existují součásti, které zůstanou odstraněny po neúspěšném vytvoření projektu, můžete použít TFSDeleteProject k jejich odebrání.

Pokud chcete odstranit projekt z Azure DevOps Services pomocí konzoly pro správu, přečtěte si téma Odstranění projektu.

Upozornění

TFSDeleteProject trvale zničí projekt, po kterém jej nelze obnovit. Před použitím projektu TFSDeleteProject byste měli zálohovat všechna důležitá data projektu.

Pokud chcete získat přístup k nástroji příkazového řádku TFSDeleteProject, otevřete okno příkazového řádku, ve kterém je nainstalovaná sada Visual Studio nebo Team Explorer, a zadejte:

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

V 32bitové edici systému Windows nahraďte %programfiles(x86)% za %programfiles%.

Požadavky

Chcete-li použít příkaz TFSDeleteProject , musíte být členem skupiny zabezpečení Správci team foundation nebo skupiny zabezpečení Správci projektu .

Další informace najdete v tématu Nastavení oprávnění správce pro Azure DevOps Server.

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

Možnost

Popis

/Q

Nepovinný parametr. Použijte tichý režim. Nevybídejte uživatele k potvrzení.

/Síla

Nepovinný parametr. Určuje, že proces odstraňování by měl pokračovat i v případě, že některé součásti nelze odstranit.

/excludewss

Nepovinný parametr. Určuje, že se neodstraní sharepointový web přidružený k projektu. Tuto možnost zadejte, pokud chcete zachovat stávající web, aby ho mohly dál používat jiné projekty.

/collection:URL

Povinná hodnota. Určuje identifikátor URI kolekce projektu. Pro identifikátor URI musíte použít následující formát: http://ServerName:Port/VirtualDirectoryName/CollectionName.

Pokud nezadáte virtuální adresář, musíte pro identifikátor URI použít následující formát: http://ServerName:Port/CollectionName.

Název projektu TeamProject

Povinná hodnota. Název projektu. Pokud název obsahuje mezery, uzavřete ho do uvozovek.

Poznámky

Při vytváření projektu vytvoří Azure DevOps Server datové objekty na serveru, který je hostitelem Azure DevOps Server, a může vytvářet datové objekty na serveru, který je hostitelem sady SharePoint Products, a na serveru, který je hostitelem SQL Server Reporting Services.

Když odeberete projekt, sestavy se automaticky odeberou z SQL Server Reporting Services.

Když odeberete projekt, můžete zvolit, jestli se mají odebrat objekty, které byly vytvořeny pro podporu sharepointového webu.

Chyba však může Azure DevOps Server znemožnit vytvoření nebo odstranění všech objektů. Při řešení těchto problémů poskytují následující části základní informace, odkazy na další zdroje informací a konkrétní kroky, které vám pomůžou určit příčinu problému, opravit problém a v případě potřeby odstranit datové objekty, které zůstanou po spuštění projektu TFSDeleteProject.

Proces TFSDeleteProject

Při použití nástroje příkazového řádku TFSDeleteProject nejprve odstraní data projektu a poté weby projektů.

Fáze 1: TFSDeleteProject odstraňuje data projektu

V první fázi TFSDeleteProject automaticky provede následující kroky k odebrání dat projektu:

  1. TFSDeleteProject vytvoří inventář všech komponent, které jsou kandidáty na odstranění.

    To zahrnuje komponenty, které se integrují s nástrojem Test Manager, Team Foundation Build a správou verzí Team Foundation.

  2. TFSDeleteProject odstraní komponentu, která zobrazuje uzel projektu v Team Exploreru.

  3. TFSDeleteProject označí informace o správě verzí příznakem k odstranění, ale neodstraní je okamžitě.

    Informace zahrnují všechny větve správy verzí v zadaném projektu, ale žádné jiné větve mimo projekt.

    • Pokud jsou v projektu nadřazená i podřízená větev, TFSDeleteProject označí obě větve k odstranění.
    • Pokud jsou nadřazené a podřízené větve v různých projektech, TFSDeleteProject označí příznakem pouze zadanou větev.
    • Pokud jiný projekt je větev ze zadaného projektu, TFSDeleteProject označí příznakem pouze zadaný projekt. Po odstranění zadaného projektu se projekt větve stane osamocený.
  4. TFSDeleteProject okamžitě odstraní data sestavení, včetně informací a základních dat, definic sestavení, agentů sestavení a výsledků testů přidružených k projektu. Nástroj neodstraní umístění vyřazení sestavení.

    Před vytvořením projektu, který používá stejné umístění pro vyřazení sestavení, nemusíte odstraňovat umístění pro odstranění buildu ze starého projektu.

    Pokud zadaný projekt obsahuje velké množství dat sestavení, odstranění nemusí být dokončeno během časového limitu.

    Chcete-li tento problém vyřešit, přečtěte si téma Zvýšení Time-Out období a potom znovu spusťte TFSDeleteProject.

  5. TFSDeleteProject okamžitě odstraní pracovní položky a pole pracovních položek, která patří do zadaného projektu, a odstraní všechna nesdílená metadata.

    Pokud zadaný projekt obsahuje velké množství dat pracovní položky, odstranění nemusí být dokončeno během časového limitu.

    Chcete-li tento problém vyřešit, přečtěte si téma Zvýšení Time-Out Období a potom spusťte TFSDeleteProject znovu.

Fáze 2: TFSDeleteProject odstraňuje weby projektů

Ve druhé fázi TFSDeleteProject odstraní následující data:

Důležité

Dokončení těchto kroků může trvat dlouhou dobu a během této doby může snížit výkon serveru.

  • TFSDeleteProject Používá rozhraní API služby Reporting Services k odstranění sestav na serveru, který je hostitelem služby Reporting Services.
  • TFSDeleteProject Odstraní web portálu projektu ze serveru, který je hostitelem sady SharePoint Products.

K tomuto kroku dojde pouze v případě, že projekt vlastní web a odstranění webu není vyloučeno z příkazového řádku. (Vezměte v úvahu, že více projektů může odkazovat na jeden web, ale pouze jeden z nich může být vlastníkem, ve kterém jsou sestavy a řídicí panely ve výchozím nastavení pomocí tohoto projektu.)

Poznámka

Před odstraněním projektu můžete ověřit, že služby Reporting Services a SharePoint Products používají správné adresy URL projektu, a to ověřením nastavení portálu. Další informace najdete v tématu Přidání portálu projektu.

Pokud TFSDeleteProject úspěšně odstraní všechny výše uvedené datové prvky, vrátí zprávu Hotovo.

Pokud chcete tento výsledek ověřit, přečtěte si část Ověření odstranění součástí projektu.

Pokud není odebrána jedna nebo více součástí, můžete znovu spustit TFSProjectDelete pomocí /force možnost pokračovat v procesu odstraňování i v případě, že nelze odstranit všechny datové prvky.

Pomocí této možnosti TFSDeleteProject přeskočí komponentu, kterou nelze odstranit, vrátí chybovou zprávu, odstraní další komponentu a ponechá metadata projektu a nastavení zabezpečení beze změny.

Data, která můžou zůstat neodhledná

Po úspěšném dokončení projektu TFSDeleteProject můžou v nasazení zůstat následující data:

  • Projektová data v datové krychli.

    Data projektu zůstanou v datové krychli, dokud nebude datová krychle znovu sestavena. V takovém okamžiku služba kontroleru skladu odebere všechna historická data sestavení, která byla odstraněna z databází Azure DevOps.

  • Vytváření souborů a složek.

    Binární soubory sestavení, soubory protokolů sestavení a soubory protokolů obsahující výsledky testů se publikují během procesu sestavení.

    Umístění těchto souborů se neodstraní. Pokud chcete tyto soubory odebrat, musíte je odebrat ručně.

  • Metadata sledování pracovních položek, která jsou sdílena.

    TFSDeleteProject neodstraní žádná metadata pro sledování pracovních položek, která jsou sdílena mezi projekty.

  • Sady odložených verzí obsahující sdílený kód.

    Sady odložených verzí se neodstraní, pokud je v sadě odložených položek kód z více projektů.

Ověření odstranění projektu

Úspěch odstranění projektu můžete ověřit potvrzením, že se uzel projektu již nezobrazuje v Team Exploreru a že jeho webové stránky portálu projektů a složky sestav již neexistují.

  1. Otevřete Team Explorer a ověřte, že se projekt nezobrazuje jako uzel projektu.

  2. Otevřete Internet Explorer a zadejte adresu URL webu portálu projektu. Ověřte, že web již neexistuje.

  3. V aplikaci Internet Explorer zadejte do pole Adresa adresu URL webu služby Reporting Services pomocí jednoho z následujících formátů adresy URL:

    • http://ReportingServices/Reports
    • http://ReportingServices/Reports_TFSInstance
  4. Ve Správci sestav zvolte Zobrazit podrobnosti.

  5. Ověřte, že se složka odstraněného projektu už nezobrazuje.

    Zvolte kořenovou složku TfsReports a pak zvolte složku s názvem pro kolekci projektů.

    Složka s názvem odstraněného projektu by už neměla existovat.

  6. Pokud sestavy nebo web zůstanou, podívejte se na další postup.

Odebrání zbývajících komponent po částečném odstranění projektu

Pokud web portálu projektu a složka sestav zůstanou i po odstranění projektu, odeberte web a složku ručně.

  1. Přihlaste se k serveru, který je hostitelem služby Reporting Services pro odstraněný projekt.

  2. Otevřete Internet Explorer a do pole Adresa zadejte adresu URL webu služby Reporting Services pomocí jednoho z následujících formátů adres URL:

    • http://localhost/Reports
    • http://localhost/Reports_TFSInstance
  3. Ve Správci sestav zvolte Zobrazit podrobnosti.

  4. Zvolte kořenovou složku TfsReports a pak zvolte složku s názvem kolekce projektů.

  5. Zaškrtněte políčko u odstraněného projektu.

  6. Zvolte Odstranit.

  7. Zvolte OK a potvrďte, že chcete odstranit složku reports pro projekt.

  8. Chcete-li odebrat web portálu projektu odstraněného projektu, podívejte se na následující stránku na webu společnosti Microsoft:

Vytváření, úpravy a odstraňování webů Windows SharePoint Services.

Prodloužení časového limitu

Ve výchozím nastavení musí každé volání webové služby, které příkaz TFSDeleteProject vydá k odstranění komponenty, dokončeno do 10 minut. Pokud se jedná o šest volání, může proces trvat až hodinu. Pokud chcete odstranit projekt, který je přidružený k velkému množství dat, můžete tento časový limit dočasně prodloužit.

Poznámka

Při prodloužení časového limitu změna ovlivní všechna volání webové služby. Obecně platí, že chcete zachovat časový limit do 10 minut, aby volání webové služby nesnížila výkon serveru a způsobovala, že uživatelé nebudou po dlouhou dobu používat uživatelské rozhraní. Proto po úspěšném odstranění projektu byste měli změnit časový limit zpět na 10 minut.

Požadavky

K provedení těchto postupů musíte být správcem Windows na serveru aplikační vrstvy.

Důležité

Nesprávná úprava registru počítače může způsobit nestabilitu počítače. Pokud registr neznáte, neměli byste přidávat ani odebírat položky ani ho žádným způsobem upravovat.

  1. Přihlaste se k serveru aplikační vrstvy.

  2. Zvolte Start, Spustit, zadejte regedit a pak zvolte OK.

  3. V podokně prohlížeče rozbalte HKEY_ LOCAL_MACHINE:

    • Pokud server používá 32bitový operační systém, rozbalte HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
    • Pokud server používá 64bitový operační systém, rozbalte HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
  4. Pokud klíč TeamFoundation\RequestSettings neexistuje, vytvořte ho následujícím postupem:

    1. Otevřete místní nabídku TeamFoundation, přejděte na Nový a zvolte Klíč.
    2. Pojmenujte klíč RequestSettings.
    3. Otevřete místní nabídku RequestSettings, přejděte na Nový a zvolte Hodnota DWORD.
    4. Novou hodnotu pojmenujte DefaultTimeout.
  5. Otevřete místní nabídku DefaultTimeout a zvolte Změnit.

  6. Do pole Data hodnoty zadejte časový limit v milisekundách a pak zvolte Desetinné číslo.

    Pokud chcete například prodloužit časový limit na 30 minut, zadejte 1800000. Pokud chcete změnit časový limit zpět na 10 minut, zadejte 600000.

  7. Vyberte OK.

  8. V nabídce Soubor zvolte Ukončit.

Příklad

Následující příkaz odebere všechny komponenty přidružené k projektu StoreFront na serveru Azure DevOps Server AdventureWorks1 v kolekci projektů Collection1 a z Team Exploreru.

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