Użyj narzędzia TFSDeleteProject, aby usunąć projekt w lokalnym środowisku Azure DevOps.
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Projekt można usunąć z usługi Azure DevOps Server, gdy projekt nie jest już wymagany przy użyciu narzędzia TFSDeleteProject.
Ponadto, jeśli istnieją składniki, które pozostają nieukończone po nieudanym utworzeniu projektu, możesz użyć tfSDeleteProject, aby je usunąć.
Aby usunąć projekt z usług Azure DevOps Services przy użyciu konsoli administracyjnej, zobacz Usuwanie projektu.
Ostrzeżenie
TfSDeleteProject trwale niszczy projekt, po którym nie można go odzyskać. Przed użyciem tfSDeleteProject należy utworzyć kopię zapasową wszystkich ważnych danych projektu.
Aby uzyskać dostęp do narzędzia wiersza polecenia TFSDeleteProject, otwórz okno wiersza polecenia i wprowadź:
cd %programfiles%\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\TfsDeleteProject.exe
Warunki wstępne
Aby użyć polecenia TFSDeleteProject, musisz być członkiem grupy zabezpieczeń Team Foundation Administrators lub Project Administrators grupy zabezpieczeń.
Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień administratora dla usługi Azure DevOps Server.
TFSDeleteproject [/q] [/force] [/excludewss] /collection:URL TeamProjectName
Opcja
opis
/q
Fakultatywny. Użyj trybu cichego. Nie monituj użytkownika o potwierdzenie.
/wymuś
Fakultatywny. Określa, że proces usuwania powinien być kontynuowany nawet wtedy, gdy nie można usunąć niektórych składników.
/excludewsss
Fakultatywny. Określa, aby nie usuwać witryny programu SharePoint skojarzonej z projektem. Określ tę opcję, aby zachować istniejącą witrynę, aby inne projekty mogły nadal z niej korzystać.
/collection:URL
Wymagane. Określa adres URI kolekcji projektu. Dla identyfikatora URI należy użyć następującego formatu: http://ServerName:Port/VirtualDirectoryName/CollectionName
.
Jeśli nie określisz katalogu wirtualnego, musisz użyć następującego formatu dla identyfikatora URI: http://ServerName:Port/CollectionName
.
TeamProjectName
Wymagane. Nazwa projektu. Jeśli nazwa zawiera spacje, należy ująć ją w cudzysłów.
Uwagi
Podczas tworzenia projektu usługa Azure DevOps Server tworzy obiekty danych na serwerze hostujące serwer Usługi Azure DevOps Server i może tworzyć obiekty danych na serwerze hostujące produkty programu SharePoint oraz serwer hostujący usługi SQL Server Reporting Services.
Po usunięciu projektu raporty zostaną automatycznie usunięte z usług SQL Server Reporting Services.
Po usunięciu projektu można wybrać, czy obiekty utworzone w celu obsługi witryny programu SharePoint mają być usuwane.
Jednak błąd może uniemożliwić usłudze Azure DevOps Server tworzenie lub usuwanie wszystkich obiektów. Aby rozwiązać te problemy, poniższe sekcje zawierają podstawowe informacje, linki do innych zasobów i konkretne kroki, które ułatwiają określenie przyczyny problemu, rozwiązanie problemu i usunięcie obiektów danych, które pozostają po uruchomieniu tfSDeleteProject.
Proces TFSDeleteProject
Kiedy używasz narzędzia wiersza poleceń TFSDeleteProject, najpierw usuwa ono dane projektu, a następnie usuwa witryny projektowe.
Faza 1. TfSDeleteProject usuwa dane projektu
W pierwszej fazie tfSDeleteProject automatycznie wykonuje następujące kroki, aby usunąć dane projektu:
TfSDeleteProject tworzy spis wszystkich składników, które są kandydatami do usunięcia.
Obejmuje to składniki integrujące się z programem Test Manager, kompilacją Team Foundation i kontrolą wersji programu Team Foundation.
TfSDeleteProject usuwa składnik, który wyświetla węzeł projektu w programie Team Explorer.
TFSDeleteProject oznacza informacje o kontroli wersji do usunięcia, ale nie usuwa tych informacji natychmiast.
Informacje obejmują wszystkie gałęzie kontroli wersji w określonym projekcie, ale nie inne gałęzie poza projektem.
- Jeśli zarówno gałąź nadrzędna, jak i gałąź podrzędna znajdują się w projekcie, TFSDeleteProject oznacza obie do usunięcia.
- Jeśli gałęzie nadrzędne i podrzędne znajdują się w różnych projektach, TFSDeleteProject oznacza tylko określoną gałąź.
- Jeśli inny projekt jest gałęzią z określonego projektu, tfSDeleteProject flaguje tylko określony projekt. Po usunięciu określonego projektu projekt gałęzi staje się osierocony.
TfSDeleteProject natychmiast usuwa dane kompilacji, w tym informacje i podstawowe dane, definicje kompilacji, agentów kompilacji i wyniki testów skojarzone z projektem. Narzędzie nie usuwa lokalizacji docelowych kompilacji.
Nie musisz usuwać lokalizacji upuszczania kompilacji starego projektu przed utworzeniem projektu, który używa tej samej lokalizacji upuszczania kompilacji.
Jeśli określony projekt zawiera dużą ilość danych kompilacji, usunięcie może nie zostać zakończone w przedziale czasu.
Aby obejść ten problem, zobacz Zwiększanie okresu Time-Out, a następnie ponownie uruchom polecenie TFSDeleteProject.
TfSDeleteProject natychmiast usuwa elementy robocze i pola elementów roboczych należących do określonego projektu i usuwa wszystkie metadane nieudzielone.
Jeśli określony projekt zawiera dużą ilość danych dotyczących elementów roboczych, kasowanie może nie zostać zakończone w wyznaczonym czasie.
Aby rozwiązać ten problem, zobacz Zwiększanie okresu Time-Out, a następnie ponownie uruchom polecenie TFSDeleteProject.
Faza 2. TfSDeleteProject usuwa witryny sieci Web projektu
W drugiej fazie TFSDeleteProject usuwa następujące dane:
Ważny
Wykonanie tych kroków może zająć dużo czasu, a w tym czasie może obniżyć wydajność serwera.
- TFSDeleteProject używa interfejsów API usług Reporting Services do usuwania raportów na serwerze hostujących usługi Reporting Services.
- TFSDeleteProject usuwa witrynę sieci Web portalu projektu z serwera, który hostuje produkty programu SharePoint.
Ten krok występuje tylko wtedy, gdy projekt jest właścicielem witryny, a usunięcie witryny nie jest wykluczone w wierszu polecenia. (Należy wziąć pod uwagę, że wiele projektów może wskazywać na jedną witrynę, ale tylko jeden z nich może być jej właścicielem, w którym to przypadku raporty/pulpity nawigacyjne są domyślnie używane w tym projekcie).
Notatka
Przed usunięciem projektu można potwierdzić, że usługi Reporting Services i produkty programu SharePoint używają poprawnych adresów URL projektu, weryfikując ustawienia portalu. Więcej informacji znajdziesz w Dodaj portal projektu.
Jeśli tfSDeleteProject pomyślnie usunie wszystkie powyższe elementy danych, zwraca komunikat Gotowe.
Aby zweryfikować ten wynik, zobacz Sprawdź, czy składniki projektu zostały usunięte.
Jeśli co najmniej jeden składnik nie zostanie usunięty, możesz ponownie uruchomić polecenie TFSProjectDelete, używając opcji /force, aby kontynuować proces usuwania, nawet jeśli nie może usunąć wszystkich elementów danych.
Dzięki tej opcji TFSDeleteProject pomija składnik, którego nie można usunąć, zwraca komunikat o błędzie, usuwa następny składnik i pozostawia metadane projektu i ustawienia zabezpieczeń bez zmian.
Dane, które mogą pozostać nieusunięte
Następujące dane mogą pozostać we wdrożeniu po pomyślnym ukończeniu TFSDeleteProject:
dane programu Project w module.
Dane projektu pozostają w module do czasu odbudowy modułu, w którym usługa kontrolera magazynu usuwa wszystkie historyczne dane kompilacji, które zostały usunięte z baz danych usługi Azure DevOps.
Zbuduj pliki i foldery.
Pliki binarne kompilacji, pliki dziennika kompilacji i pliki dziennika zawierające wyniki testów są publikowane podczas procesu kompilacji.
Lokalizacje tych plików nie są usuwane. Jeśli chcesz usunąć te pliki, musisz je usunąć ręcznie.
metadane śledzenia elementów roboczych, które są udostępniane.
TFSDeleteProject nie usuwa żadnych metadanych dla śledzenia elementów roboczych współużytkowanych między projektami.
Zestawy kontroli wersji zawierające udostępniony kod.
Zestawy półek kontroli wersji nie są usuwane, jeśli w półkach znajduje się kod z wielu projektów.
Weryfikowanie usunięcia projektu
Możesz zweryfikować powodzenie usunięcia projektu, potwierdzając, że węzeł projektu nie jest już wyświetlany w programie Team Explorer i że jego witryna sieci Web i foldery raportów portalu projektu nie istnieją.
Otwórz program Team Explorer i sprawdź, czy projekt nie jest wyświetlany jako węzeł projektu.
Otwórz program Internet Explorer i wpisz adres URL witryny sieci Web portalu projektu. Sprawdź, czy witryna już nie istnieje.
W programie Internet Explorer w polu Adres wpisz adres URL witryny sieci Web usług Reporting Services przy użyciu jednego z następujących formatów adresów URL:
http://ReportingServices/Reports
http://ReportingServices/Reports_TFSInstance
W Menedżerze raportów wybierz pozycję Pokaż szczegóły.
Sprawdź, czy folder usuniętego projektu nie jest już wyświetlany.
Wybierz folder główny TfsReports, a następnie wybierz folder o nazwie dla kolekcji projektów.
Nie powinno już istnieć folder o nazwie usuniętego projektu.
Jeśli raporty lub witryna sieci Web pozostaną, zobacz następną procedurę.
Usuwanie pozostałych składników po częściowym usunięciu projektu
Jeśli witryna sieci Web i folder raportów portalu projektu pozostaną po usunięciu projektu, usuń witrynę i folder ręcznie.
Zaloguj się na serwerze hostujący usługi Reporting Services dla usuniętego projektu.
Otwórz program Internet Explorer i w polu Adres wpisz adres URL witryny sieci Web usług Reporting Services przy użyciu jednego z następujących formatów adresów URL:
http://localhost/Reports
http://localhost/Reports_TFSInstance
W Menedżerze raportów wybierz pozycję Pokaż szczegóły.
Wybierz folder główny TfsReports, a następnie wybierz folder o nazwie dla kolekcji projektów.
Zaznacz pole wyboru dla projektu, który został usunięty.
Wybierz pozycję Usuń.
Wybierz przycisk OK, aby potwierdzić, że chcesz usunąć folder reports dla projektu.
Aby usunąć witrynę sieci Web portalu projektu usuniętego projektu, zobacz następującą stronę w witrynie sieci Web firmy Microsoft:
tworzenie, edytowanie i usuwanie witryn programu Windows SharePoint Services.
Zwiększ okres limitu czasu
Domyślnie każde wywołanie usługi sieci Web, które wydaje polecenie TFSDeleteProject do usunięcia składnika, musi zostać zakończone w ciągu 10 minut. Jeśli jest sześć połączeń, proces może potrwać do godziny. Jeśli chcesz usunąć projekt skojarzony z dużą ilością danych, możesz tymczasowo zwiększyć ten limit czasu.
Notatka
Po zwiększeniu limitu czasu zmiana wpływa na wszystkie wywołania usługi sieci Web. Ogólnie rzecz biorąc, należy utrzymywać limit czasu na poziomie 10 minut, aby zapobiec pogorszeniu wydajności serwera przez wywołania usług sieciowych i zablokować użytkowników przed używaniem interfejsu użytkownika przez długi czas. W związku z tym po pomyślnym usunięciu projektu należy zmienić limit czasu z powrotem na 10 minut.
Warunki wstępne
Aby wykonać te procedury, musisz być administratorem systemu Windows na serwerze warstwy aplikacji.
Ważny
Nieprawidłowe modyfikowanie rejestru komputera może spowodować, że komputer stanie się niestabilny. Jeśli nie znasz rejestru, nie należy dodawać ani usuwać wpisów ani modyfikować ich w żaden sposób.
Zaloguj się do serwera warstwy aplikacji.
Wybierz pozycję Start, Uruchom, wpisz regedit, a następnie wybierz przycisk OK.
W okienku przeglądarki rozwiń węzeł HKEY_ LOCAL_MACHINE:
- Jeśli na serwerze jest uruchomiony 32-bitowy system operacyjny, rozwiń węzeł: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
- Jeśli na serwerze jest uruchomiony 64-bitowy system operacyjny, rozwiń węzeł: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
Jeśli klucz TeamFoundation\RequestSettings nie istnieje, wykonaj następujące kroki, aby go utworzyć:
- Otwórz menu kontekstowe TeamFoundation, wskaż Nowy, a następnie wybierz Klucz.
- Nadaj kluczowi nazwę RequestSettings.
- Otwórz menu kontekstowe dla RequestSettings, wskaż Nowy, a następnie wybierz Wartość DWORD.
- Nadaj nowej wartości nazwę DefaultTimeout.
Otwórz menu kontekstowe defaultTimeout i wybierz pozycję Modyfikuj.
W polu "Dane wartości" wpisz wartość limitu czasu w milisekundach, a następnie wybierz opcję Dziesiętne.
Aby na przykład zwiększyć limit czasu do 30 minut, wpisz 18000000. Aby zmienić limit czasu z powrotem na 10 minut, wpisz 600000.
Wybierz przycisk OK.
W menu Plik wybierz pozycję Zakończ.
Przykład
Następujące polecenie usuwa wszystkie składniki skojarzone z projektem StoreFront na serwerze Azure DevOps AdventureWorks1 w kolekcji projektów Collection1 oraz z Team Explorer.
TFSDeleteProject /force /collection:http://AdventureWorks1:8080/tfs/Collection1 StoreFront
Powiązane artykuły
- Usuwanie projektu