Lokales Wechseln von einer Umgebung zur anderen für Azure DevOps

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

Das häufigste umgebungsbasierte Verschiebungsszenario ist das Ändern der Domäne der Azure DevOps Server Bereitstellung, unabhängig davon, ob es sich um eine Domänennamenänderung handelt oder von einer Arbeitsgruppe in eine Domäne wechselt.

Wichtig

In einigen Situationen können Sie die Domäne einer Azure DevOps Server Bereitstellung sowie die Hardware ändern. Eine Änderung der Hardware ist eine wiederherstellungsbasierte Verschiebung, und beide Verschiebungstypen dürfen niemals kombiniert werden. Schließen Sie zuerst die Hardwareverschiebung ab, und ändern Sie dann die Umgebung.

Darüber hinaus ist das Ändern von Identitäten in Azure DevOps Server im Rahmen einer Umgebungsänderung der Aspekt, der am häufigsten Konflikte oder Probleme verursacht. Der Identitätsbefehl ist ein leistungsfähiges Tool, hat jedoch bestimmte Einschränkungen. Lesen Sie die entsprechenden Informationen im Rahmen der Planung Ihrer Verschiebung. Um eine erfolgreiche Verschiebung sicherzustellen, beachten Sie die folgenden Anforderungen:

  • Sobald ein Benutzerkonto in Azure DevOps Server vorhanden ist, kann es nicht entfernt oder ein anderes Konto zugeordnet werden. Wenn Sie z. B. DomainA/UserA in DomainB/UserB verschieben, funktioniert der Befehl Identitäten nur dann zum Migrieren des Benutzers, wenn DomainB/UserB noch nicht in Azure DevOps Server vorhanden ist.
  • Da die Mitglieder der lokalen Gruppe Administratoren automatisch zu Azure DevOps Server hinzugefügt werden, müssen Sie alle Konten entfernen, die Sie aus dieser Gruppe migrieren möchten, bevor Sie die Domäne oder Umgebung ändern.

Weitere Hintergrundinformationen finden Sie hier für eine detaillierte Beschreibung der Funktionsweise von Identitätsänderungen in Azure DevOps Server, einschließlich Einschränkungen des Tools.

In den folgenden Abschnitten werden die Schritte zum Ändern der Umgebung Ihrer Azure DevOps Server-Bereitstellung beschrieben:

  1. Überprüfen von Berechtigungen und Konten
  2. Beenden Azure DevOps Server Dienste
  3. Daten sichern
  4. Hinzufügen Azure DevOps Server der neuen Domäne
  5. Verschieben Azure DevOps Server Benutzer- und Dienstkonten
  6. Konfigurieren von Reporting und Analysis Services
  7. Neustart Azure DevOps Server Dienste

Überprüfen von Berechtigungen und Konten

Um die Umgebung für Azure DevOps Server erfolgreich zu ändern, müssen Sie Administrator auf dem lokalen Computer sowie für Azure DevOps Server und die gesamte Software sein, von der Ihre Bereitstellung abhängt: SQL Server, Berichterstellung und jede andere Software, mit der Ihre Bereitstellung interopt, z. B. Project Server. Alle Mitglieder der lokalen Gruppe Administratoren werden jedoch automatisch in Azure DevOps Server eingeschlossen, was probleme beim Migrieren von Konten verursachen kann. Daher sollten Sie ein Konto verwenden, das im Rahmen der umgebungsbasierten Verschiebung nicht migriert werden soll. Es ist empfehlenswert, ein spezielles administratives Konto nur für die Verschiebung hinzuzufügen, und dieses Konto für die Migration zu verwenden.

So überprüfen Sie, ob Sie Berechtigungen auf Administratorebene haben

  • Stellen Sie sicher, dass das Konto, das Sie verwenden, Mitglied der folgenden Gruppen ist:
    • Server: Administratoren (lokale Administratorengruppe oder entsprechend)
    • Azure DevOps Server: Team Foundation-Administratoren und Admin-Konsolenbenutzer
    • SQL Server: sysadmin

Wenn Sie kein Mitglied einer oder mehrerer dieser Gruppen sind, rufen Sie jetzt Berechtigungen ab.

Nachdem Sie nun ein Konto mit allen erforderlichen Berechtigungen verwenden, überprüfen Sie die Konten, um festzustellen, ob es möglicherweise Konflikte mit Namen oder Gruppen in der Umgebung für die Verschiebung gibt. Da Konten, die Mitglied der lokalen Administratorgruppe sind, nicht migriert werden können, werden diese als erste entfernt.

Entfernen von zu migrierenden Konten aus der lokalen Administratorgruppe

  • Öffnen Sie die lokale Administratorgruppe und entfernen Sie alle Konten, die Sie zur neuen Umgebung migrieren möchten. Wiederholen Sie diesen Schritt für alle weiteren Gruppen, die möglicherweise betroffen sind.

Überprüfen Sie nun die Liste der Identitäten in der aktuellen Azure DevOps Server Umgebung, und suchen Sie nach potenziellen Problemen mit Gruppen oder einzelnen Benutzerkonten, die möglicherweise in der neuen Umgebung vorhanden sind.

Tipp

Erstellen Sie ggf. eine Tabelle oder Migrationszuordnung der Identitäten, die im Rahmen der umgebungsbasierten Verschiebung migriert werden sollen. Dazu gehören Details, welche Konten möglicherweise nicht automatisch migriert werden können.

Überprüfen von Identitäten

  1. Öffnen Sie auf dem Anwendungsebenenserver für Azure DevOps ein Eingabeaufforderungsfenster mit Administratorberechtigungen, navigieren Sie zu %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools, und führen Sie den folgenden Befehl aus, um die derzeit im System befindlichen Identitäten anzuzeigen:

    TFSConfig Identities
    
  2. Es wird eine Liste mit Identitäten angezeigt. Überprüfen Sie diese Benutzer und Gruppen, um sicherzustellen, dass es keine potenziellen Duplikate oder Probleme mit Identitäten in der Umgebung gibt, in die Sie Azure DevOps Server verschieben, und ergreifen Sie Schritte, um potenzielle Konflikte zu entschärfen.

Dienste beenden

Indem Sie die Dienste beenden, helfen Sie sicherzustellen, dass Benutzer keine Änderungen an Arbeitsaufgaben in der ursprünglichen Bereitstellung vornehmen oder dort Quellcode einchecken, nachdem die Bereitstellung verschoben wurde.

  1. Öffnen Sie auf dem Computer der Anwendungsebene ein Eingabeaufforderungsfenster, und ändern Sie die Verzeichnisse in Drive:\%programfiles%\TFS 12.0\Tools.

  2. Geben Sie den folgenden TFSServiceControl-Befehl ein:

    TFSServiceControl-Ruhe

Sichern der Datenbanken und des Verschlüsselungsschlüssels für SQL Server Reporting Services

  1. Öffnen Sie die Verwaltungskonsole für Azure DevOps Server, und erstellen Sie auf der Seite Geplante Sicherungen eine vollständige Sicherung. Die Sicherung sichert alles, was Sie im Sicherungsplan zur Sicherung konfiguriert haben, jedoch sofort, nicht erst zu dem Zeitpunkt, der im Plan angegeben ist. Wenn die Bereitstellung Berichterstellung verwendet, können Sie den Verschlüsselungsschlüssel als Teil dieses Sicherungssatzes speichern.

    Das Fenster kann geschlossen werden, während der Auftrag abgeschlossen wird

    (Wenn Sie keine Sicherungen konfiguriert haben, müssen Sie einen Plan erstellen , bevor Sie eine vollständige Sicherung erstellen können.)

  2. Wenn die Sicherung abgeschlossen ist, überprüfen Sie, ob die Sicherung auf dem Datenträger oder der Netzwerkfreigabe verfügbar ist und ob Sie von der neuen Hardware auf diese Sicherung zugreifen können.

Verknüpfen des Anwendungsebenenservers mit seiner neuen Domäne

  1. Öffnen Sie auf jedem Server die Eigenschaften für den Computer.

  2. Ändern Sie die Einstellungen für den Computer auf die Domäne oder Arbeitsgruppe, mit der Sie den Server verbinden möchten.

    Geben Sie die entsprechenden Anmeldeinformationen ein, wenn Sie aufgefordert werden, den Benutzernamen und das Kennwort eines Kontos einzugeben, das über Berechtigungen zum Hinzufügen dieses Computers zur Domäne verfügt.

  3. Starten Sie den Computer neu, damit die Änderung der Domäne wirksam wird.

    Hinweis

    Nachdem Sie den Computer neu gestartet haben, wird möglicherweise eine Warnung angezeigt, dass Dienste oder Treiber nicht gestartet werden konnten. Fahren Sie mit der nächsten Prozedur fort.

Verschieben von Benutzerkonten und Dienstkonten

Wie zu Beginn dieses Artikels erwähnt, treten beim Verschieben von Konten am häufigsten Probleme auf, insbesondere wenn Sie die Benutzermigration nicht sorgfältig geplant haben. Mit dem Befehl TFSConfig Identities kann kein Konto zu einem Konto migriert werden, das bereits in Azure DevOps Server vorhanden ist.

Wenn Kontonamen in beiden Domänen identisch sind und der einzige Unterschied der Domänenname ist, können Sie den Batchmodus von TFSConfig-Identitäten verwenden, um alle Identitäten sofort zu ändern. Andernfalls müssen Sie die Identitäten einzeln ändern und einen anderen Zielkontonamen angeben, wie unten beschrieben.

  1. Öffnen Sie auf dem Anwendungsebenenserver für Azure DevOps ein Eingabeaufforderungsfenster mit Administratorberechtigungen, navigieren Sie zu %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools, und führen Sie den folgenden Befehl aus, um die Dienst-IDs (SIDs) für das Dienstkonto in die neue Domäne zu ändern:

    TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
    

    Warnung

    Wenn das Dienstkonto ein Systemkonto wie "Netzwerkdienst" war, können Sie das Dienstkonto nicht direkt migrieren, da ein Systemkonto mit demselben Namen in der neuen Umgebung vorhanden ist. Sie müssen eine Prozessänderung in zwei Stufen ausführen. Sehen Sie sich das Beispiel unter Identitätsbefehl an.

  2. Um alle Konten zu migrieren, die den gleichen Namen in der neuen Umgebung haben, geben Sie den folgenden Befehl ein:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
    

    Damit werden die Konten in einem Batchprozess verarbeitet.

  3. Wenn Sie eine neue Domäne sind, die mindestens eine Identität enthält, bei der sich der Name zwischen Umgebungen ändert, müssen Sie die SIDs für jede dieser Identitäten manuell aktualisieren. Wenn das Benutzerkonto von Christie Church in der vorherigen Umgebung "Fabrikam\CChurch" war, in der neuen Umgebung jedoch "NeuFabrikam\ChristieC" ist, müssten Sie die SID manuell aktualisieren. Geben Sie für jedes Konto mit dieser Anforderung den folgenden Befehl ein:

    TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
    
  4. Führen Sie nun den folgenden Befehl aus, um das Dienstkonto zu aktualisieren:

    TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
    
  5. Wenn die Bereitstellung Berichterstellung verwendet, führen Sie den folgenden Befehl aus, um das Datenquellenkonto aktualisieren, das zur Berichterstellung verwendet wird:

    TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
    
  6. Wenn Ihre Bereitstellung Azure DevOps Proxy Server verwendet, führen Sie den folgenden Befehl aus, um das für den Proxy verwendete Dienstkonto zu aktualisieren:

    TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
    

    Hinweis

    Wenn Sie zu einer nicht vertrauenswürdigen Domäne wechseln, müssen Sie möglicherweise Auch Benutzer und Gruppen manuell zu Teams, Projekten, Sammlungen und Azure DevOps Server hinzufügen. Weitere Informationen finden Sie unter Hinzufügen von Benutzern zu Projekten, Festlegen von Administratorberechtigungen für Projektsammlungen und Festlegen von Administratorberechtigungen für Azure DevOps Server.

  7. Wenn die Bereitstellung in Project Server integriert ist, müssen Sie ggf. zusätzliche Schritte ausführen, um die Dienstkonten mit den erforderlichen Berechtigungen für den Betrieb zu konfigurieren. Weitere Informationen finden Sie unter Zuweisen von Berechtigungen zur Unterstützung TFS-Project Serverintegration und ConfigureTFS-Project Server-Integration.

Konfigurieren von Reporting und Analysis Services

Sie können diesen Vorgang überspringen, wenn Sie die Berichterstellung nicht als Teil der Bereitstellung verwenden.

Wenn Sie einen Berichtsserver im Rahmen dieser Art der Verschiebung umbenannt haben, müssen Sie Azure DevOps Server an den neuen Speicherort umleiten. Sie müssen auch das Warehouse neu starten und die Datenbank für Analysis Services neu manuell erstellen.

  1. Öffnen Sie die Verwaltungskonsole für Azure DevOps, wechseln Sie zum Knoten Berichterstellung, und bearbeiten Sie die Einstellungen.

    Berichte zeigen weiterhin auf den alten Server

  2. Ändern Sie die Werte auf allen drei Registerkarten so, dass sie den neuen Namen des Servers enthalten. Geben Sie unbedingt die korrekten Informationen für das Datenquellenkonto in der neuen Umgebung an.

    Vergewissern Sie sich, dass die Informationen auf allen 3 Registerkarten richtig sind

  3. Wählen Sie Aufträge starten aus, um die Berichterstellung neu zu starten.

  4. Wählen Sie Neu erstellen starten aus, um das Lager neu zu erstellen.

Konfigurieren von Sicherungen

Wenn der Netzwerkfreigabename oder der Datenträger sich mit der Domänennamenänderung geändert hat, müssen Sie die geplanten Sicherungen aktualisieren, damit auf diese umbenannten Ressourcen verwiesen wird.

  • Navigieren Sie in der Verwaltungskonsole zum Knoten Geplante Sicherungen, und konfigurieren Sie die geplanten Sicherungen neu, um die Azure DevOps Server Datenbanken auf dem neuen Server zu sichern. Weitere Informationen finden Sie unter Create eines Sicherungszeitplans und -plans.

Neustarten von Diensten

Nachdem Sie nun Azure DevOps Server mit allen Informationen für die neue Umgebung aktualisiert haben, starten Sie die Dienste neu.

  1. Öffnen Sie auf dem Azure DevOps Server Computer der Anwendungsebene ein Eingabeaufforderungsfenster mit Administratorberechtigungen, und ändern Sie die Verzeichnisse in Drive:\%programfiles%\TFS 12.0\Tools.

  2. Geben Sie den folgenden TFSServiceControl-Befehl ein:

    TFSServiceControl unquiesce

Fragen und Antworten

F: Ich möchte den oder die physischen Server für die Bereitstellung ändern, nicht die Domäne. Ist das möglich?

A: Ja. Dies wird als hardwarebasierte Verschiebung bezeichnet, und die Schritte werden unter Verschieben oder Klonen von einer Hardware auf eine andere bereitgestellt. Versuchen Sie nicht, eine umgebungsbasierte Verschiebung mit einer hardwarebasierten Verschiebung zu kombinieren. Schließen Sie zunächst die Hardwareverschiebung ab, und ändern Sie erst dann die Umgebung.