Udostępnij za pośrednictwem


Przenoszenie lub klonowanie z jednego sprzętu do innego dla lokalnej usługi Azure DevOps

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

Możesz przenieść lub sklonować wdrożenie oprogramowania usługi Azure DevOps Server. Serwer Azure DevOps Server można przenieść z jednej maszyny do innej, przywracając go do nowego sprzętu (nazywanego przenoszeniem opartym na przywracaniu). Możesz na przykład przenieść serwer Azure DevOps Server na serwer z większą pojemnością lub większą szybkością przetwarzania. Po przejściu na nowy serwer nie utracisz żadnej historii projektu.

Aby sklonować wdrożenie usługi Azure DevOps Server, wykonaj te same kroki co przeniesienie i kilka dodatkowych.

Przeniesienie jest wykonywane, gdy planujesz zaprzestać korzystania z oryginalnego sprzętu i wdrożenia usługi Azure DevOps Server. Klonujesz, gdy zamierzasz nadal używać oryginalnego wystąpienia usługi Azure DevOps Server.

Ważne

W niektórych sytuacjach warto zmienić domenę wdrożenia usługi Azure DevOps Server, a także jego sprzęt. Zmiana domeny jest przenoszeniem opartym na środowisku i nigdy nie należy łączyć dwóch typów przenoszenia. Najpierw ukończ przenoszenie sprzętu, a następnie zmień środowisko.

Sprawdzanie uprawnień

Aby pomyślnie przenieść usługę Azure DevOps Server, musisz być administratorem obu zestawów sprzętu (starego i nowego). Ponadto musisz być administratorem (lub mieć równoważne uprawnienia) dla usługi Azure DevOps Server i całego oprogramowania, od którego zależy wdrożenie: PROGRAM SQL Server, raportowanie i inne oprogramowanie, z którym międzyoperacyjnie współpracuje wdrożenie, takie jak Program Project Server.

Upewnij się, że jesteś członkiem następujących grup:

  • Serwery: Administratorzy (lokalna grupa administratorów lub odpowiednik)
  • Azure DevOps Server: Administratorzy team Foundation i użytkownicy konsoli administracyjnej
  • SQL Server: sysadmin

Jeśli nie jesteś członkiem jednej lub kilku z tych grup, uzyskaj teraz uprawnienia.

Tworzenie kopii zapasowych baz danych i klucza szyfrowania

  1. Otwórz konsolę administracyjną serwera Azure DevOps Server i na stronie Zaplanowane kopie zapasowe wykonaj pełną kopię zapasową. Kopia zapasowa utworzy kopię zapasową wszystkich skonfigurowanych kopii zapasowych w planie tworzenia kopii zapasowych, ale zrobi to natychmiast, a nie zgodnie z harmonogramem w planie. Jeśli wdrożenie korzysta z raportowania, możesz utworzyć kopię zapasową klucza szyfrowania w ramach tego zestawu kopii zapasowych.

    Okno można zamknąć, gdy zadanie zostanie ukończone

    (Jeśli nie masz skonfigurowanych kopii zapasowych, musisz utworzyć plan , zanim będzie można utworzyć pełną kopię zapasową).

  2. Po zakończeniu tworzenia kopii zapasowej sprawdź, czy kopia zapasowa jest dostępna na urządzeniu magazynowym lub udziale sieciowym i czy możesz uzyskać dostęp do tej kopii zapasowej z nowego sprzętu.

Instalowanie i konfigurowanie programu SQL Server na nowym serwerze warstwy danych

  • Zainstaluj program SQL Server na nowym serwerze i upewnij się, że działa. Jeśli poprzednie wdrożenie używało raportowania, upewnij się, że uwzględnisz składniki usług raportowania i analizy. Musisz zainstalować tę samą wersję i wersję, która była używana wcześniej, w tym dodatek Service Pack i skumulowane poziomy aktualizacji.

    Instalowanie programu SQL Server 2008 R2 — funkcje

    Alternatywnie możesz utworzyć wystąpienie programu SQL Server na serwerze, na którym zainstalowano już zgodną wersję i przywrócić bazy danych serwera Azure DevOps Server do tego wystąpienia, ale będzie to wymagało większej konfiguracji po przywróceniu.

    Aby uzyskać więcej informacji na temat opcji instalowania i konfigurowania programu SQL Server, przejdź tutaj.

    Po zainstalowaniu programu SQL Server, jeśli wdrożenie obejmuje raportowanie, otwórz program SQL Server Management Studio i odłącz bazy danych ReportServer i ReportServerTempDB. W przeciwnym razie możesz nie być w stanie przywrócić tych baz danych przy użyciu kopii zapasowej utworzonej dla baz danych usługi Azure DevOps Server.

    Istniejące bazy danych muszą być odłączone przed przywróceniem

Instalowanie i konfigurowanie oprogramowania na nowym serwerze warstwy aplikacji

Aby skonfigurować nowy serwer lub serwery dla usługi Azure DevOps Server, należy najpierw zainstalować i skonfigurować oprogramowanie wymagane do jej obsługi. To oprogramowanie obejmuje następujące składniki:

  • obsługiwany system operacyjny dla konfiguracji wdrożenia

  • Zainstaluj i skonfiguruj system Windows, usługi IIS (jeśli nie skonfigurowano domyślnie) i upewnij się, że serwer i jego oprogramowanie działają. 

    Aby uzyskać więcej informacji, zobacz wymagania systemowe dotyczące usługi Azure DevOps Server.

Przywracanie baz danych usługi Azure DevOps Server

Aby przywrócić bazy danych usługi Azure DevOps Server przy użyciu narzędzia przywracania, należy zainstalować serwer Usługi Azure DevOps Server na nowym serwerze warstwy danych, a następnie użyć funkcji przywracania w węźle Zaplanowane kopie zapasowe.

Jeśli chcesz ręcznie przywrócić bazy danych usługi Azure DevOps Server przy użyciu narzędzi przywracania programu SQL Server, możesz to zrobić, ale jest to trudniejsza procedura. Ponadto należy ręcznie usunąć wymagania dotyczące baz danych w nowym wdrożeniu. Kreator przywracania w usłudze Azure DevOps Server automatycznie wykonuje tę operację w ramach procesu przywracania, ale ta funkcja nie jest częścią narzędzi przywracania programu SQL Server.

  1. Uruchom nośnik instalacyjny usługi Azure DevOps Server. Na stronie Konfiguracja serwera Team Foundation Server wybierz pozycję Zainstaluj.

  2. Po zakończeniu instalacji zostanie otwarte Centrum konfiguracji serwera Team Foundation Server. Zamknij go.

    Konsola administracyjna zostanie otwarta automatycznie w stanie nieskonfigurowanym. Jest to oczekiwane.

  3. Aby uruchomić kreatora Przywracania, otwórz konsolę administracyjną serwera Azure DevOps Server i otwórz zaplanowane kopie zapasowe.

    Uruchamianie kreatora przywracania

  4. Określ ścieżkę do zestawu kopii zapasowych i wybierz zestaw utworzony po przejściu w stan spoczynku starego wdrożenia.

    Wybierz ścieżkę sieci, a następnie zestaw przywracania

  5. Ukończ pracę kreatora i przywróć bazy danych do nowego wystąpienia programu SQL Server.

    Bazy danych są przywracane do nowego serwera

(Opcja klonowania) Ponowne konfigurowanie identyfikatorów serwerów i ponowne mapowanie baz danych

Uwaga

PrzygotowanieClone używane do użycia przed rozpoczęciem wdrażania nowego serwera DevOps Server przy użyciu kopii zapasowej bazy danych już w środowisku produkcyjnym na innym serwerze. To polecenie nie jest już wymagane, ponieważ włączyliśmy jego funkcjonalność do scenariuszy przedprodukcyjnego uaktualniania i klonowania w kreatorze konfiguracji.

Wykonaj następny zestaw kroków na nowym serwerze warstwy aplikacji, jeśli zamierzasz nadal korzystać z oryginalnego wystąpienia usługi Azure DevOps Server. Te kroki są niezbędne, aby uniknąć ryzyka uszkodzenia jednego lub obu wdrożeń. Jeśli oba serwery są aktywne, można skończyć się uszkodzeniem, szczególnie jeśli wskazują na te same zasoby raportowania.

  1. Otwórz okno wiersza polecenia jako administrator i zmień katalogi na Dysk:%programfiles%\TFS 12.0\Tools. Otwórz okno wiersza polecenia i wprowadź:

  2. Uruchom polecenie TFSConfig PrepareClone, aby usunąć informacje o zaplanowanych kopiach zapasowych i zasobach raportowania.

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
    
  3. Uruchom polecenie TFSConfig ChangeServerID, aby zmienić identyfikatory GUID serwera skojarzone z bazami danych. Identyfikatory GUID muszą być unikatowe we wdrożeniu usługi Azure DevOps Server.

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
    
  4. Uruchom polecenie TFSConfig RemapDBs, aby przekierować sklonowany serwer Azure DevOps Server do jego baz danych.

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,erverName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/review] [/continue] [/usesqlalwayson]
    

Konfigurowanie serwera warstwy aplikacji

  1. W konsoli administracyjnej usługi Azure DevOps Server wybierz pozycję Konfiguruj zainstalowane funkcje, aby uruchomić centrum konfiguracji.

  2. Uruchom kreatora Tylko warstwa aplikacji i w obszarze Bazy danych określ nowe wystąpienie programu SQL Server, w którym przywrócono bazy danych usługi Azure DevOps Server. Z listy wybierz bazę danych Tfs_Configuration.

    Wybierz zestaw kopii zapasowych programu SQL Server i bazy danych

  3. Przed zamknięciem ostatniej strony kreatora poszukaj symbolu "i". Oznacza to informacje, które mogą być potrzebne do użycia w przyszłości. Ostatnia strona zawiera również lokalizację dziennika konfiguracji.

    Zanotuj wszelkie problemy i lokalizację pliku dziennika

Aktualizowanie adresów URL serwera Azure DevOps Server

  1. Przejdź do węzła warstwy aplikacji i przyjrzyj się powiadomieniom i adresom URL portalu internetowego. Należy pamiętać, że nadal wskazują lokalizację starego wdrożenia. Zaktualizuj je.

    Powiadomienia i adresy URL sieci Web są nieaktualne

  2. Po zaktualizowaniu adresów URL przy użyciu nazwy nowego serwera przejrzyj informacje, aby upewnić się, że jest ona poprawna.

    Adres URL serwera nadal używa hosta lokalnego

Aktualizowanie wszystkich kont usług

Musisz zaktualizować konto usługi dla serwera Azure DevOps Server (TFSService) i konta źródeł danych (TFSReports). Nawet jeśli te konta nie uległy zmianie, należy zaktualizować informacje, aby zapewnić, że tożsamość i format kont są odpowiednie dla nowego serwera.

  1. Otwórz okno wiersza polecenia jako administrator i zmień katalogi na Dysk:\%programfiles%\TFS 12.0\Tools.

  2. W wierszu polecenia wpisz następujące polecenie, aby dodać konto usługi dla usługi Azure DevOps, gdzie DatabaseName jest nazwą bazy danych konfiguracji (domyślnie TFS_Configuration):

    TfsConfig Accounts /add /AccountType:ApplicationTier /account: AccountName /SQLInstance: ServerName /DatabaseName: DatabaseName

  3. W wierszu polecenia wpisz następujące polecenie, aby dodać konto źródeł danych:

    Konta TfsConfig /add /AccountType:ReportingDataSource /account: AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName:DatabaseName

    Aby uzyskać więcej informacji, zobacz Accounts Command (Polecenie kont).

Aktualizowanie serwerów kompilacji

Teraz musisz przekierować serwery kompilacji, aby wskazywały przeniesione wdrożenie usługi Azure DevOps Server.

  1. Na każdym serwerze kompilacji otwórz konsolę administracyjną i zatrzymaj usługę kompilacji.

  2. We właściwościach usługi kompilacji zaktualizuj właściwości komunikacji.

    Zatrzymaj usługę, a następnie wprowadź zmiany

Konfigurowanie usług Reporting and Analysis Services

Jeśli wdrożenie korzysta z serwera raportów, musisz przekierować serwer Azure DevOps Server do jego lokalizacji, ponownie uruchomić magazyn i ręcznie ponownie skompilować bazę danych dla usług Analysis Services. Jeśli nie używasz raportowania, pomiń tę procedurę.

  1. Przejdź do węzła Raportowanie. Wymienione wartości serwera raportów są stare, a nie nowe, więc je edytować.

    Raporty nadal wskazują stary serwer

  2. Zmień wartości na wszystkich trzech kartach, aby wskazać nowy serwer. Upewnij się, że podajesz poprawne informacje dla konta źródeł danych w nowym wdrożeniu.

    Upewnij się, że informacje są poprawne na wszystkich 3 kartach

  3. Wybierz pozycję Uruchom zadania , aby ponownie uruchomić raportowanie.

  4. Wybierz pozycję Rozpocznij ponowne kompilowanie , aby ponownie skompilować magazyn.

Weryfikowanie uprawnień dla użytkowników, grup i kont usług

Po przejściu do nowego sprzętu upewnij się, że wszyscy użytkownicy, grupy i konta usług dla wdrożenia są skonfigurowane z uprawnieniami, które wymagają poprawnego działania na każdym serwerze. Niektórych uprawnień, takich jak dodatkowe uprawnienia w programie SQL Server lub na komputerze lokalnym, nie można przeprowadzić automatycznej migracji. Na przykład administratorzy usługi Azure DevOps muszą być członkami lokalnej grupy Administratorzy na serwerze warstwy aplikacji, aby otworzyć konsolę administracyjną, dlatego należy dodać je ręcznie do tej grupy.

  • Zaloguj się na serwerze i upewnij się, że użytkownicy, grupy i konta usług są skonfigurowane z uprawnieniami wymaganymi do operacji. Ręcznie sprawdź członkostwo w grupach projektów i zespołach oraz sprawdź, czy te grupy i zespoły mają oczekiwane uprawnienia.

  • Przejdź do kolekcji projektów i upewnij się, że wszystkie projekty w tej kolekcji są wyświetlane zgodnie z oczekiwaniami, a użytkownicy w tych projektach mogą odpowiednio uzyskać dostęp do swoich elementów roboczych.

  • Otwórz portal internetowy i sprawdź, czy witryny zespołu i zespoły są wyświetlane zgodnie z oczekiwaniami.

Nie masz pewności, jakich grup i uprawnień oczekiwać? Aby uzyskać więcej informacji, zobacz Dodawanie użytkowników do projektów, Ustawianie uprawnień administratora dla kolekcji projektów, Ustawianie uprawnień administratora dla serwera Azure DevOps Server oraz kont usług i zależności w usłudze Azure DevOps Server.

Odświeżanie pamięci podręcznej danych na komputerach klienckich

Poinformuj użytkowników

Po przeniesieniu usługi Azure DevOps Server musisz poinformować użytkowników, jak nawiązać połączenie z przeniesionym wdrożeniem. W szczególności należy podać następujące informacje:

  • Nazwa nowego serwera i adres URL portalu internetowego, dzięki czemu mogą ponownie łączyć się ze swoimi projektami

  • Nowe nazwy baz danych do raportowania, jeśli raportowanie jest częścią wdrożenia

  • Jeśli są członkami projektu korzystającego z usługi Git, instrukcje dotyczące aktualizowania wszystkich klonów, które mają lokalnie dla każdego repozytorium dla tego projektu. W szczególności należy uruchomić następujące polecenie dla każdego klonu:

    git remote set-url <remote name> <new URL>
    

    Użytkownicy mogą zobaczyć, jaki jest adres URL każdego klonu, przeglądając projekt na karcie Eksplorator.

    Kopiowanie adresu URL w celu ręcznego sklonowania repozytorium

Konfigurowanie kopii zapasowych

Mimo że utworzono kopie zapasowe zaplanowane dla starego wdrożenia, zaplanowane kopie zapasowe nie zostały zmienione w celu utworzenia kopii zapasowej przeniesionego wdrożenia. Należy je skonfigurować.

  • W konsoli administracyjnej przejdź do węzła Zaplanowane kopie zapasowe i skonfiguruj ponownie zaplanowane kopie zapasowe, aby utworzyć kopię zapasową baz danych usługi Azure DevOps Server na nowym serwerze. Aby uzyskać więcej informacji, zobacz Tworzenie harmonogramu i planu tworzenia kopii zapasowych.

Pytania i odpowiedzi

.: Chcę zmienić domeny, a nie serwery fizyczne. Czy mogę to zrobić?

Odpowiedź: Tak. Jest to nazywane przenoszeniem opartym na środowisku, a kroki można znaleźć tutaj. Nie należy próbować łączyć ruchu opartego na środowisku z przenoszeniem opartym na sprzęcie. Najpierw ukończ przenoszenie sprzętu, a następnie zmień środowisko.

.: Właśnie zdałem sobie sprawę, że chcę nadal korzystać z mojego starego serwera Azure DevOps Server po przejściu na nowy sprzęt. Czy mogę to zrobić?

Odp.: Tak, ale bardzo ważne jest, aby od razu wykonać dodatkowe kroki. W idealnym przypadku należy wykonać te kroki w ramach przenoszenia lub kroków klonowania. Jest to najlepszy sposób, aby uniknąć ryzyka uszkodzenia jednego lub obu wdrożeń. Jeśli oba serwery są aktywne, można skończyć się uszkodzeniem, szczególnie jeśli wskazują na te same zasoby raportowania.

Aby rozwiązać ten problem:

  1. Uruchom polecenie TFSConfig PrepareClone na nowym serwerze

  2. Uruchom polecenie TFSConfig ChangeServerID na nowym serwerze

  3. Uruchom polecenie TFSConfig RemapDBs na nowym serwerze

.: Mam wdrożenie integrujące się z programem Project Server. Czy muszę wykonać dodatkowe kroki, aby można było pracować z przeniesionym serwerem Usługi Azure DevOps?

Elementy: Tak, po zakończeniu przenoszenia sprzętu należy użyć polecenia TFSAdmin ProjectServer /RegisterPWA z /tfs, /force i /pwa opcje ponownego zarejestrowania serwera DevOps Server w programie Project Server. Więcej informacji na temat integracji usługi Azure DevOps Server z programem Project Server można znaleźć tutaj.