Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Server |Azure DevOps Server |Azure DevOps Server 2022 | Azure DevOps Server 2020
Um Ihre Bereitstellung am besten zu planen und zu verwalten, sollten Sie zunächst die zugrunde liegende Architektur von Azure DevOps Server verstehen. Das Verständnis der Architektur kann Ihnen helfen, die allgemeine Integrität der Bereitstellung aufrechtzuerhalten und die gesamtverfügbarkeit der Server und Dienste sicherzustellen, die Ihre Entwicklungsteams benötigen.
Sie können Azure DevOps Server auf verschiedene Arten bereitstellen: auf einem Server; auf vielen Servern; oder in einer Domäne oder Arbeitsgruppe oder über Domänen hinweg. Alternativ können Sie Azure DevOps Services verwenden, bei denen alle Serverelemente Ihrer Bereitstellung von Microsoft für Sie gehostet werden. Das Verständnis der Architektur kann Ihnen helfen, zu entscheiden, welche Topologie am ehesten Ihren Geschäftlichen Anforderungen entspricht. Unabhängig von Ihrer Wahl der Topologie können Sie die physischen und logischen Anforderungen besser verwalten, wenn Sie die der Architektur zugrunde liegende Struktur von Azure DevOps Server verstehen. Dieser Artikel bietet eine einfache Übersicht über die verschiedenen Architekturen mit Links zu weiteren Informationen zu Beispielbereitstellungen. Außerdem werden technische Informationen zu den Diensten, Datenbanken, Konfigurationsinformationen und Netzwerkports und Protokollen lokaler Bereitstellungen bereitgestellt.
Um die Architektur von Azure DevOps Server und ihre Auswirkungen auf Ihre Bereitstellung zu verstehen, sollten Sie Folgendes berücksichtigen:
- Die logischen Anwendungsebenen, Datenebenen und Clientebenen von Azure DevOps, und ob Sie einen oder mehrere Server für die Anwendungs- und Datenebenen verwenden möchten oder ob Sie die Anwendungs- und Datenebenen mit Azure DevOps Services in der Cloud hosten lassen möchten.
- Der Standort der physischen oder virtuellen Server, die diese Schichten hosten
- Team Foundation Build sowie die Anzahl und der Speicherort von Buildcomputern, die in Ihrer Umgebung ausgeführt werden, einschließlich der Anzahl, die Sie möglicherweise zur Unterstützung Ihrer Entwicklungspraktiken benötigen, oder ob Sie Azure Pipelines-Clouddienste verwenden, um Ihre Softwareanwendungen zu erstellen und bereitzustellen
- Die potenzielle Notwendigkeit für Azure DevOps-Proxyserver
Darüber hinaus müssen Sie die Interaktionen zwischen diesen Entitäten berücksichtigen. Wenn Sie beispielsweise den gehosteten Azure DevOps Server-Dienst verwenden, müssen Sie sicherstellen, dass Ihre Clients auf den Dienst auf Port 443 zugreifen können. Wenn Sie Azure DevOps Server lokal bereitstellen möchten, müssen Sie wissen, welche Webdienste, Datenbanken und Objektmodelle Azure DevOps Server verwendet. Außerdem müssen Sie wissen, welche Netzwerkports und Protokolle Azure DevOps Server standardmäßig verwendet und welche Netzwerkports Sie anpassen können. Schließlich müssen Sie wissen, welche Berechtigungen Sie in Azure DevOps Server und den Komponenten und Programmen festlegen müssen, von denen Ihre Bereitstellung abhängt.
Neben eigenen Diensten hängt Azure DevOps Server von anderen Diensten ab, um funktionieren zu können. Weitere Informationen zu diesen Diensten finden Sie unter Azure DevOps Server-Konzepte und -Komponenten des Azure DevOps Server Data Warehouse. Weitere Informationen zu den Anforderungen und Abhängigkeiten für die Installation finden Sie im Installationshandbuch für Azure DevOps Server.
Wichtig
Sie sollten keine der Azure DevOps Server-Datenbanken manuell ändern, es sei denn, Sie werden von Microsoft Support angewiesen, dies zu tun, oder Sie folgen den beschriebenen Verfahren zum manuellen Sichern der Datenbanken. Alle anderen Änderungen können Ihren Servicevertrag ungültig gestalten.
Azure DevOps Services
Microsoft bietet die Möglichkeit, Azure DevOps Services zu verwenden, die alle serverseitigen Aspekte von Azure DevOps Server für Sie hosten kann. Ihr Quellcode, Arbeitsaufgaben, Buildkonfigurationen und Teamfeatures werden alle in der Cloud gehostet. Aus architektonischer Sicht vereinfacht dies die Verwendung von Azure DevOps Server erheblich, da die einzigen Aspekte der Architektur, die Sie berücksichtigen müssen, die Clientkomponenten und deren Internetzugriff sind.
Bei Verwendung der Azure DevOps Services verwenden Sie einen Webbrowser, um mithilfe Ihres Microsoft-Kontos eine Verbindung mit dem Dienst herzustellen. Sie können Projekte erstellen, Mitglieder zu Ihrem Team hinzufügen und wie bei einem lokal installierten Azure DevOps Server arbeiten, ohne dass der Aufwand für die Verwaltung der Server besteht. Azure DevOps Services hosten Ihre Anwendungsebene, Datenebene und erstellen Server in der Cloud.
Weitere Informationen zu den Clouddiensten und lokalen Bereitstellungen finden Sie unter Azure DevOps Services im Vergleich zu Azure DevOps Server.
Das Objektmodell
Mit der gehosteten oder der lokal bereitgestellten Architektur können Sie die Features und Funktionen von Azure DevOps erweitern, indem Sie eine Anwendung schreiben, die auf ihrem Server- oder Clientobjektmodell basiert. In allen Bereitstellungstypen können Sie Anwendungen schreiben, die Clientfunktionen erweitern. Wenn Sie die Serverfunktionen jedoch erweitern möchten, muss Ihre Anwendung auf dem Server auf der Anwendungsebene ausgeführt werden. Um die Clientfunktionen zu erweitern, müssen Sie die Anwendung auf demselben Computer wie Team Explorer ausführen.
Webdienste und Datenbanken für lokale Bereitstellungen
Azure DevOps Server enthält eine Reihe von Webdiensten und Datenbanken, die Sie separat auf dem Server oder den Servern installieren und konfigurieren, auf denen die logische Anwendung, Daten- und Clientebenen für Azure DevOps gehostet werden. Einige Features, z. B. das Task Board und teambasierte Funktionen, sind vollständig webbasiert und können ausschließlich über ein Webportal, einen clientseitigen webbasierten Dienst, aufgerufen werden. Andere, z. B. die Versionsverwaltungsfeatures, können über ein Webportal oder über eine Clientanwendung aufgerufen werden. Die folgenden Abbildungen enthalten eine allgemeine Übersicht über Webdienste, Anwendungen und Datenbanken für lokale Bereitstellungen von Azure DevOps Server.
Dienste auf Sammlungsebene
Dienste auf Sammlungsebene stellen die Funktionalität für Vorgänge auf der Ebene der Projektsammlung bereit. Sie können Anwendungen erstellen, die Azure DevOps Server erweitern, indem Sie einige dieser Dienste verwenden. Weitere Informationen zum Erstellen von Anwendungen für Azure DevOps Server finden Sie unter Entwickeln von Erweiterungen.
Hinweis
Einige Dienste werden in mehr als einer Ebene angezeigt. Beispielsweise funktioniert der Registrierungsdienst auf Sammlungsebene und auf Serverebene und wird in beiden Listen angezeigt.
Frameworkdienste:
- Registrierungsdienst
- Registrierungsdienst (zur Kompatibilität mit früheren Versionen von Azure DevOps Server)
- Immobiliendienst
- Ereignisdienst
- Sicherheitsdienst
- Standortdienst
- Identitätsverwaltungsdienst
- Versionssteuerungswebdienst
- Webdienst für die Nachverfolgung von Arbeitsaufgaben
- Team Foundation Build-Webdienst
- Laborverwaltungswebdienst
- VMM-Verwaltungswebdienst
- Test Agent Controller-Webdienst
Dienste auf Serverebene
Dienste auf Serverebene (auch als Dienste auf Anwendungsebene bezeichnet) stellen die Funktionalität für Vorgänge für Azure DevOps Server als Softwareanwendung bereit. Sie können Anwendungen erstellen, die Azure DevOps Server erweitern, indem Sie einige dieser Dienste verwenden.
Frameworkdienste:
- Registrierungsdienst
- Ereignisdienst
- Projektsammlungsdienst
- Immobiliendienst
- Sicherheitsdienst
- Standortdienst
- Identitätsverwaltungsdienst
- Verwaltungsdienst
- Sammlungsverwaltungsdienst
- Katalogdienst
Datenschicht
Die Datenebene enthält Daten, gespeicherte Prozeduren und andere zugeordnete Logik. Wenn Sie Azure DevOps Services verwenden, wird die Datenebene für Sie mit SQL Server Azure gehostet. In einer lokalen Bereitstellung von Azure DevOps Server besteht die logische Datenebene aus den folgenden Betriebsspeichern in SQL Server. Diese Speicher befinden sich möglicherweise auf einem physischen Server oder werden auf vielen Servern verteilt. Sie können Anwendungen erstellen, die Azure DevOps Server erweitern, indem Sie einige dieser Betriebsspeicher verwenden.
- Konfigurationsdatenbank (TFS_Configuration)
- Anwendungslager (TFS_Warehouse)
- Analysis Services-Datenbank (TFS_Analysis)
- Datenbanken für Projektsammlungen (TFS_CollectionName)
Die folgende Tabelle enthält eine Liste der Datenbanken, die Azure DevOps Server in lokalen Bereitstellungen verwendet. Sofern nicht anders angegeben, können Sie alle Datenbanken in dieser Liste vom ursprünglichen Server und der Instanz verschieben, in der sie installiert sind, und sie auf einen anderen Server oder eine andere Instanz wiederherstellen.
Datenbankname BESCHREIBUNG Server TFS_Configuration Diese Datenbank speichert den Katalog der Ressourcen und die Konfigurationsinformationen für Azure DevOps Server. Diese Datenbank enthält die Betriebsspeicher für Azure DevOps Server. Instanz von SQL Server, die verwendet wird, wenn Azure DevOps Server installiert und konfiguriert wird. TFS_Warehouse Diese Datenbank speichert die Daten für Berichte. Instanz von SQL Server, die verwendet wird, wenn Azure DevOps Server installiert und konfiguriert wird. TFS_Analysis Diese mehrdimensionale Datenbank speichert die aggregierten Daten aus Projektsammlungen. Instanz von SQL Server, die beim Installieren und Konfigurieren von SQL Server Analysis Services verwendet wird. Datenbanken für Projektsammlungen Eine Datenbank für jede Projektsammlung, die Daten aus allen Projekten in dieser Auflistung enthält. Instanz von SQL Server, die mit Azure DevOps Server kompatibel ist.
Kundenebene
Die Clientebene kommuniziert mit der Anwendungsebene über das Serverobjektmodell und verwendet dieselben Webdienste, die für diese Ebene aufgeführt sind. Dies gilt unabhängig davon, ob Sie Azure DevOps Server lokal bereitstellen oder Azure DevOps Services verwenden. Neben diesem Modell besteht die Clientebene aus Visual Studio Industry Partners (VSIP)-Komponenten, Microsoft Office-Integration, Befehlszeilenschnittstellen und einem Framework für Check-In-Richtlinien.
Konfiguration
Der gehostete Dienst hängt von den Clientdiensten ab, die lokal bereitgestellt werden, und einer Internetverbindung mit der Anwendung und den Datenebenen, die in der Cloud gehostet werden. Eine lokale Bereitstellung von Azure DevOps Server hängt von SQL Server, Internetinformationsdienste (IIS) und dem Windows-Betriebssystem ab. Abhängig von Ihrer ausgewählten Topologie hängt Azure DevOps Server möglicherweise auch von SQL Server Reporting Services oder SharePoint-Produkten ab. Daher können Konfigurationsinformationen für Azure DevOps Server an einem der folgenden Speicherorte gespeichert werden:
- IIS-Datenspeicher.
- Konfigurationsdateien für Azure DevOps Server.
- Datenquellen für Reporting Services (z. B. TFSREPORTS-Daten).
- Konfigurationsdatenbank für Azure DevOps Server. Die Azure DevOps Server-Registrierung ist Teil der Konfigurationsdatenbank.
- Windows-Registrierung.
Beispiele für verschiedene lokale Bereitstellungstopologien und wo diese Ressourcen gespeichert werden, finden Sie unter Beispiele für einfache Topologie, Beispiele für moderate Topologie und Beispiele für komplexe Topologie. Während Sie eine lokale Bereitstellung von Azure DevOps Server verwalten, müssen Sie diese Konfigurationsquellen berücksichtigen. Um die Konfiguration auf irgendeine Weise zu ändern, müssen Sie möglicherweise Informationen ändern, die an mehreren Speicherorten gespeichert sind. Möglicherweise müssen Sie auch Konfigurationsinformationen für die Daten- und Clientebenen ändern. Azure DevOps Server enthält eine Verwaltungskonsole und mehrere Befehlszeilenprogramme, mit denen Sie diese Änderungen vornehmen können. Weitere Informationen finden Sie in der Kurzübersicht zu administrativen Aufgaben.
Active Directory und Synchronisierung von Gruppenidentitäten
In lokalen Bereitstellungen, bei denen Azure DevOps in einer Active Directory-Domäne ausgeführt wird, werden Gruppen- und Identitätsinformationen synchronisiert, wenn eines der folgenden Ereignisse auftritt:
- Der Anwendungsebenenserver wird gestartet.
- Eine Active Directory-Gruppe wird einer Azure DevOps-Gruppe hinzugefügt.
Der Zeitraum, der im geplanten Auftrag angegeben ist, ist abgelaufen. Der Standardwert ist eine Stunde, und alle Gruppen in Azure DevOps Server werden alle 24 Stunden aktualisiert.
Identitätsverwaltungsdienste (Identity Management Services, IMS) werden mit Active Directory synchronisiert und geänderte Identitäten vom Server an die Clients verteilt. Standardmäßig werden alle Gruppen innerhalb von 24 Stunden aktualisiert, aber Sie können dies an die Anforderungen Ihrer Bereitstellung anpassen. Weitere Informationen finden Sie unter Vertrauensstellungen und Waldstrukturen: Aspekte für Azure DevOps Server. Informationen zu lokalen Bereitstellungen, die active Directory nicht verwenden, finden Sie unter Verwalten von Azure DevOps Server in einer Arbeitsgruppe.
Gruppen und Berechtigungen
In einer lokalen Bereitstellung verfügt Azure DevOps Server über einen eigenen Satz von Standardgruppen und Berechtigungen, die Sie auf Projekt-, Sammlungs- oder Serverebene festlegen können. Sie können benutzerdefinierte Gruppen erstellen und Berechtigungen auf Gruppen- und einzelnen Ebenen anpassen. Benutzer oder Gruppen, die Sie Azure DevOps Server hinzufügen, werden jedoch nicht automatisch zu zwei Komponenten hinzugefügt, von denen lokale Bereitstellungen von Azure DevOps Server abhängen können: SharePoint-Produkte und Reporting Services. Wenn Ihre Bereitstellung diese Programme verwendet, müssen Sie ihnen Benutzer und Gruppen hinzufügen und den entsprechenden Berechtigungen erteilen, damit diese Benutzer oder Gruppen in allen Vorgängen in Azure DevOps Server ordnungsgemäß funktionieren. Weitere Informationen finden Sie unter Verwalten von Benutzern oder Gruppen in Azure DevOps Server.
Für gehostete Bereitstellungen wird der Zugriff über eine Kombination aus Microsoft-Konten und Teammitgliedschaften gesteuert. Weitere Informationen finden Sie in der Übersicht über Azure DevOps Services.
Netzwerkports und Protokolle
Standardmäßig ist eine lokale Bereitstellung von Azure DevOps Server für die Verwendung bestimmter Netzwerkports und Protokolle konfiguriert. Die folgende Abbildung zeigt den Netzwerkdatenverkehr für Azure DevOps Server in einer einfachen Bereitstellung.
Ebenso ist der gehostete Dienst für Azure DevOps Server für die Verwendung bestimmter Netzwerkports und Protokolle konfiguriert. Die folgende Abbildung zeigt den Netzwerkdatenverkehr in einer gehosteten Bereitstellung.
Die folgende Abbildung zeigt den Netzwerkdatenverkehr in einer komplexeren Bereitstellung, die die Komponenten für Visual Studio Lab Management enthält. (Beachten Sie, dass lab Management für TFS 2017 und höhere Versionen veraltet ist.)
Virtuelle Computer verwenden Port 80, um mit jedem Testcontroller über den Download eines Laborverwaltungs-Agents zu kommunizieren. Überprüfen Sie, ob dieser Port aktiviert ist, wenn Kommunikationsprobleme auftreten.
Standardnetzwerkeinstellungen
Standardmäßig verwendet die Kommunikation zwischen den Computern in einer Bereitstellung von Azure DevOps die Protokolle und Ports, die in der folgenden Tabelle dargestellt sind. Wenn ein Sternchen (*) der Portnummer folgt, können Sie diesen Port anpassen.
| Ebene und Service | Protokoll | Hafen |
|---|---|---|
| Anwendungsebene – Webdienste | HTTP/HTTPS | 8080/443* |
| Anwendungsebene – Verwaltung von SharePoint-Produkten | HTTP | 17012* wenn SharePoint-Produkte mit Azure DevOps Server installiert wurden; andernfalls zufällig generiert |
| Anwendungsebene – SharePoint-Produkte und Reporting Services | HTTP Windows-Verwaltungsinstrumentationsdienst (WMI) (erforderlich während der Installation, um die URLs für Reporting Services anzugeben und zu überprüfen) |
80* Dynamischer Port |
| Datenschicht | MS-SQL TCP | 1433* |
| Datenebene (SQL Server Analysis Services) | MS-AS | Standard (2382 oder 2383)* Der Standardport variiert je nach version von SQL Server, die Sie installiert haben, und dem Typ der Instanz. Verwenden Sie SQL Server Configuration Manager, um die ports zu bestimmen, die von Ihrer Bereitstellung verwendet werden. |
| Azure DevOps-Proxyserver – Client zu Proxy | HTTP | 8081* |
| Azure DevOps-Proxyserver – Proxy-zu-Anwendungsebene | HTTP/HTTPS | 8080/443* |
| Kundenstufe – Reporting Services | HTTP | 80* |
| Clientebene – Webdienste | HTTP/HTTPS | 8080/443* |
| Build-Controller auf der Anwendungsschicht HTTP/HTTPS | 8080/443 | |
| Build-Agent auf Anwendungsebene | HTTP/HTTPS | 8080/443 |
| Release-Verwaltungsserver | HTTP oder HTTPS | 1000* |
| ReleaseVerwaltungsclient | HTTP oder HTTPS | 1000* |
| Freigabemanagement-Agent | HTTP oder HTTPS | 1000* |
| Testcontroller auf Anwendungsebene | HTTP/HTTPS | 8080/443* |
| Anwendungsebene zum Testen des Controllers | .NET-Remoting | 6901* |
| Anwendungsebene für das Domain Name System (DNS) | Dynamisches DNS-Update | 53 |
| Anwendungsebene – Virtual Machine Manager | HTTP | 8100 |
| Test-Controller zum Testen des Agenten | .NET-Remoting | 6910* |
| Test-Agent zum Testen des Controllers | .NET-Remoting | 6901* |
| Build-Controller zum Bauen des Agenten | SOAP über HTTP | 9191 |
| Lab-Agent zum Lab-Agent in einer isolierten Umgebung | TCP-Sockets | 9050 |
| Build-Agent zum Erstellen des Controllers | SOAP über HTTP | 9191 |
| Virtual Machine Manager-Administratorkonsole – Virtual Machine Manager | HTTP | 8100 |
| Virtual Machine Manager – Virtual Machine Manager Hosts | Windows Remote Management (WinRM) zum Ausführen von Aktionen Intelligent Transfer Service (Background Intelligent Transfer Service, BITS) zum Übertragen von Daten |
80 zum Ausführen von Aktionen 443 zum Übertragen von Daten |
| Virtual Machine Manager– Bibliotheksserver für Virtual Machine Manager | WinRM zum Ausführen von Aktionen BITS zum Übertragen von Daten |
80 zum Ausführen von Aktionen 443 zum Übertragen von Daten |
| Anwendungsebene – Virtual Machine Manager-Hosts | Distributed Component Object Model/Windows Management Interface (DCOM/WMI)-Kommunikation zum Übertragen von Daten | 135 Dynamisch zugewiesene Werte im Bereich von 49152 bis 65535 |
| Client-Schicht – Virtual Machine-Manager-Hosts | Hostbasierte Verbindung mit dem virtuellen Computer. | 2179 zum Ausführen hostbasierter Verbindungen |
| Gehostete Dienste | HTTPS | 443 |
Anpassbare Netzwerkeinstellungen
Wie in der vorherigen Tabelle gezeigt, können Sie die Kommunikation zwischen anwendung, Daten und Clientebenen in lokalen Bereitstellungen ändern, indem Sie Azure DevOps Server so ändern, dass benutzerdefinierte Ports verwendet werden. In der folgenden Tabelle werden Beispieländerungen in Ports von HTTP zu HTTPS beschrieben.
Hinweis
Um Azure DevOps Server für die Verwendung von HTTPS und Secure Sockets Layer zu konfigurieren, müssen Sie nicht nur Ports für HTTPS-Netzwerkdatenverkehr aktivieren, sondern auch viele andere Aufgaben ausführen. Weitere Informationen finden Sie unter Einrichten von HTTPS mit Secure Sockets Layer (SSL) für Azure DevOps Server.
| Dienstleistung | Protokoll | Hafen |
|---|---|---|
| Webdienste mit SSL | HTTPS | Vom Administrator konfiguriert |
| HTTPS für die SharePoint-Zentraladministration | Vom Administrator konfiguriert | |
| SharePoint-Produkte | HTTPS | 443 |
| Berichterstellungsdienste | HTTPS | 443 |
| Clientwebdienste | HTTPS | Vom Administrator konfiguriert |
| Versionsverwaltung | HTTPS | Vom Administrator konfiguriert |