Udostępnij za pośrednictwem


Usuwanie projektu w środowisku lokalnym usługi Azure DevOps przy użyciu serwera TFSDeleteProject

Azure DevOps Server 2022 r. | Azure DevOps Server 2020 r. | Azure DevOps Server 2019 r.

Projekt można usunąć z Azure DevOps Server, gdy projekt nie jest już wymagany przy użyciu programu TFSDeleteProject.

Ponadto, jeśli istnieją składniki, które pozostają niezaukończone po nieudanym utworzeniu projektu, możesz użyć tfSDeleteProject, aby je usunąć.

Aby usunąć projekt z 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, w którym jest zainstalowany program Visual Studio lub Team Explorer i wprowadź następujące polecenie:

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

W 32-bitowej wersji systemu Windows zastąp ciąg %programfiles(x86)% ciągiem %programfiles%.

Wymagania wstępne

Aby użyć polecenia TFSDeleteProject , musisz być członkiem grupy zabezpieczeń Administratorzy programu Team Foundation lub grupy zabezpieczeń Administratorzy projektu .

Aby uzyskać więcej informacji, zobacz Ustawianie uprawnień administratora dla Azure DevOps Server.

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

Opcja

Opis

/P

Opcjonalny. Użyj trybu cichego. Nie monituj użytkownika o potwierdzenie.

/Życie

Opcjonalny. Określa, że proces usuwania powinien być kontynuowany, nawet jeśli nie można usunąć niektórych składników.

/excludewss

Opcjonalny. 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 identyfikator URI kolekcji projektu. Musisz użyć następującego formatu dla identyfikatora URI: 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, ujęć ją w cudzysłów.

Uwagi

Podczas tworzenia projektu Azure DevOps Server tworzy obiekty danych na serwerze hostujące Azure DevOps Server i może tworzyć obiekty danych na serwerze hostujące produkty programu SharePoint oraz serwer hostujący SQL Server Reporting Services.

Po usunięciu projektu raporty zostaną automatycznie usunięte z SQL Server Reporting Services.

Po usunięciu projektu możesz wybrać, czy obiekty utworzone do obsługi witryny programu SharePoint mają być usuwane.

Jednak błąd może uniemożliwić Azure DevOps Server tworzenie lub usuwanie wszystkich obiektów. Aby rozwiązać te problemy, poniższe sekcje zawierają informacje w tle, linki do innych zasobów i konkretne kroki, które ułatwiają określenie przyczyny problemu, rozwiązania problemu i usunięcia obiektów danych, które pozostają po uruchomieniu tfSDeleteProject.

Proces TFSDeleteProject

Gdy używasz narzędzia wiersza polecenia TFSDeleteProject, najpierw usuwa dane projektu, a następnie projekt witryn sieci Web.

Faza 1. TfSDeleteProject usuwa dane projektu

W pierwszej fazie tfSDeleteProject automatycznie wykonuje następujące kroki, aby usunąć dane projektu:

  1. 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.

  2. TFSDeleteProject usuwa składnik, który wyświetla węzeł projektu w programie Team Explorer.

  3. TFSDeleteProject flaguje informacje o kontroli wersji do usunięcia, ale nie usuwa natychmiast tych informacji.

    Informacje obejmują wszystkie gałęzie kontroli wersji w określonym projekcie, ale żadne inne gałęzie poza projektem.

    • Jeśli gałąź nadrzędna i gałąź podrzędna znajdują się w projekcie, flagi TFSDeleteProject są flagami zarówno do usunięcia.
    • Jeśli gałęzie nadrzędne i podrzędne znajdują się w różnych projektach, flagi TFSDeleteProject są flagami tylko określonej gałęzi.
    • 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ę oddzielony.
  4. 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 upuszczania 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 okresie przekroczenia limitu czasu.

    Aby obejść ten problem, zobacz Zwiększanie okresu Time-Out, a następnie ponownie uruchom polecenie TFSDeleteProject.

  5. TfSDeleteProject natychmiast usuwa elementy robocze i pola elementów roboczych należących do określonego projektu i usuwa wszystkie metadane inne niż udostępnione.

    Jeśli określony projekt zawiera dużą ilość danych elementu roboczego, usunięcie może nie zostać zakończone w okresie przekroczenia limitu czasu.

    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żne

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ć jedną lokację, ale tylko jeden z nich może być właścicielem, w którym raporty/pulpity nawigacyjne są domyślnie używane w tym projekcie).

Uwaga

Przed usunięciem projektu można potwierdzić, że usługi Reporting Services i produkty SharePoint używają prawidłowych adresów URL projektu, weryfikując ustawienia portalu. Aby uzyskać więcej informacji, zobacz Dodawanie portalu projektu.

Jeśli program TFSDeleteProject pomyślnie usunie wszystkie powyższe elementy danych, zwraca komunikat Gotowe.

Aby sprawdzić ten wynik, zobacz Weryfikowanie usunięcia składników projektu.

Jeśli co najmniej jeden składnik nie zostanie usunięty, możesz ponownie uruchomić polecenie TFSProjectDelete przy użyciu opcji /force, aby kontynuować proces usuwania, nawet jeśli nie można 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ń nienaruszone.

Dane, które mogą pozostać niezaufane

Następujące dane mogą pozostać we wdrożeniu po pomyślnym ukończeniu tfSDeleteProject:

  • Dane projektu w module.

    Dane projektu pozostają w module do momentu ponownego skompilowania modułu, w którym usługa kontrolera magazynu usuwa wszystkie historyczne dane kompilacji usunięte z baz danych usługi Azure DevOps.

  • Kompiluj upuszczanie plików i folderów.

    Pliki binarne kompilacji, pliki dziennika kompilacji i pliki dziennika zawierające wyniki testu są publikowane podczas procesu kompilacji.

    Lokalizacje tych plików nie są usuwane. Jeśli chcesz usunąć te pliki, musisz usunąć je ręcznie.

  • Metadane śledzenia elementów roboczych, które są współużytkowane.

    TfSDeleteProject nie usuwa żadnych metadanych do śledzenia elementów roboczych współużytkowanych między projektami.

  • Zestawy półek kontroli wersji zawierające kod udostępniony.

    Zestawy półek kontroli wersji nie są usuwane, jeśli w zestawie półek 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 w portalu projektu nie istnieją.

  1. Otwórz program Team Explorer i sprawdź, czy projekt nie jest wyświetlany jako węzeł projektu.

  2. Otwórz program Internet Explorer i wpisz adres URL witryny sieci Web portalu projektu. Sprawdź, czy witryna już nie istnieje.

  3. 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
  4. W Menedżerze raportów wybierz pozycję Pokaż szczegóły.

  5. 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.

  6. 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.

  1. Zaloguj się na serwerze hostujący usługi Reporting Services dla usuniętego projektu.

  2. Otwórz program Internet Explorer, a 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
  3. W Menedżerze raportów wybierz pozycję Pokaż szczegóły.

  4. Wybierz folder główny TfsReports, a następnie wybierz folder o nazwie dla kolekcji projektów.

  5. Zaznacz pole wyboru dla projektu, który został usunięty.

  6. Wybierz przycisk Usuń.

  7. Wybierz przycisk OK, aby potwierdzić, że chcesz usunąć folder raportów dla projektu.

  8. Aby usunąć witrynę sieci Web portalu projektu usuniętego, zobacz następującą stronę w witrynie sieci Web firmy Microsoft:

Tworzenie, edytowanie i usuwanie witryn Windows SharePoint Services.

Zwiększanie limitu czasu

Domyślnie każde wywołanie usługi sieci Web, które powoduje problemy z poleceniem TFSDeleteProject w celu usunięcia składnika, musi zakończyć się w ciągu 10 minut. Jeśli istnieje sześć wywołań, 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.

Uwaga

Po zwiększeniu limitu czasu zmiana wpływa na wszystkie wywołania usługi sieci Web. Ogólnie rzecz biorąc, należy zachować limit czasu do 10 minut, aby zapobiec pogorszeniu wydajności serwera przez wywołania usługi sieci Web i uniemożliwić użytkownikom korzystanie z 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.

Wymagania wstępne

Aby wykonać te procedury, musisz być administratorem systemu Windows na serwerze warstwy aplikacji.

Ważne

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.

  1. Zaloguj się do serwera warstwy aplikacji.

  2. Wybierz pozycję Start, Uruchom, wpisz regedit, a następnie wybierz przycisk OK.

  3. W okienku przeglądarki rozwiń HKEY_ LOCAL_MACHINE:

    • Jeśli na serwerze działa 32-bitowy system operacyjny, rozwiń węzeł: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
    • Jeśli na serwerze działa 64-bitowy system operacyjny, rozwiń węzeł: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432\Microsoft\VisualStudio\11.0\TeamFoundation\RequestSettings.
  4. Jeśli klucz TeamFoundation\RequestSettings nie istnieje, wykonaj następujące kroki, aby go utworzyć:

    1. Otwórz menu kontekstowe teamFoundation, wskaż pozycję Nowy, a następnie wybierz pozycję Klucz.
    2. Nadaj kluczowi nazwę RequestSettings.
    3. Otwórz menu kontekstowe elementu RequestSettings, wskaż pozycję Nowy, a następnie wybierz wartość DWORD.
    4. Nadaj nowej wartości nazwę DefaultTimeout.
  5. Otwórz menu kontekstowe ustawienia DefaultTimeout i wybierz pozycję Modyfikuj.

  6. W obszarze Dane wartości wpisz limit czasu w milisekundach, a następnie wybierz pozycję Dziesiętny.

    Aby na przykład zwiększyć limit czasu do 30 minut, wpisz 1800000. Aby zmienić limit czasu z powrotem na 10 minut, wpisz 600000.

  7. Wybierz przycisk OK.

  8. W menu Plik wybierz pozycję Zakończ.

Przykład

Następujące polecenie usuwa wszystkie składniki skojarzone z programem StoreFront projektu na serwerze Azure DevOps Server AdventureWorks1 w kolekcji projektów Collection1 i z programu Team Explorer.

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