Du kannst GitHub Enterprise Server auf Global Azure oder Azure Government bereitstellen.
Voraussetzungen
- Du musst über eine GitHub Enterprise-Lizenzdatei verfügen. Weitere Informationen findest du unter Eine Testversion von GitHub Enterprise Server einrichten und unter Informationen zu Lizenzen für GitHub Enterprise.
- Du musst über ein Azure-Konto verfügen, das neue Computer bereitstellen kann. Weitere Informationen findest du auf der Microsoft Azure-Website.
- Die meisten Aktionen, die zum Starten deines virtuellen Computers (VM) erforderlich sind, können auch mithilfe des Azure-Portals ausgeführt werden. Zur Ersteinrichtung solltest du jedoch die Azure-Befehlszeilenschnittstelle (CLI) installieren. Im Folgenden findest du Beispiele zur Verwendung der Azure CLI 2.0. Weitere Informationen findest du im Azure-Leitfaden zum Installieren der Azure CLI 2.0.
Hardwareaspekte
Empfohlene Mindestanforderungen
Basierend auf der Anzahl der Benutzerlizenzen für Ihre GitHub Enterprise Server-Instance werden verschiedene Hardwarekonfigurationen empfohlen. Wenn Sie mehr Ressourcen bereitstellen als für die empfohlenen Mindestanforderungen erforderlich, werden dadurch die Leistung und die Skalierung Ihrer Instanz verbessert.
Benutzerlizenzen | x86-64 vCPUs | Arbeitsspeicher | Stammspeicher | Angefügter Speicher (Datenspeicher) |
---|---|---|---|---|
Test, Demo oder 10 Benutzer mit eingeschränkten Funktionen | 4 | 32 GB | 200 GB | 150 GB |
10–3000 | 8 | 48 GB | 200 GB | 300 GB |
3000–5000 | 12 | 64 GB | 200 GB | 500 GB |
5000–8000 | 16 | 96 GB | 200 GB | 750 GB |
8000–10000+ | 20 | 160 GB | 200 GB | 1000 GB |
Wenn GitHub Actions oder GitHub Advanced Security für die Benutzer Ihrer Instanz aktiviert werden soll, sind weitere Ressourcen erforderlich.
- GitHub Actions – Erhöhen von sowohl CPU als auch Arbeitsspeicher um mindestens 25 %
- GitHub Advanced Security – Erhöhen von sowohl CPU als auch Arbeitsspeicher um mindestens 25 %
Diese Anpassungen sollten auf die Basisanforderungen für jede Benutzerebene angewendet werden. Es wird empfohlen, alle Änderungen an deinen Ressourcen zu überwachen, da möglicherweise weitere Erhöhungen erforderlich sind.
Weitere Informationen zu diesen Anforderungen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.
Wenn Container registry für die Benutzer*innen deiner Instanz aktiviert werden soll, sind weitere Ressourcen erforderlich. Weitere Informationen zu diesen Anforderungen findest du unter Erste Schritte mit GitHub-Paketen für dein Unternehmen.
Weitere Informationen zum Anpassen von Ressourcen für eine vorhandene Instanz findest du unter Speicherkapazität erhöhen und CPU- und Arbeitsspeicherressourcen erhöhen.
Storage
Wir empfehlen ein Hochleistungs-SSD mit hoher Eingabe-/Ausgaberate pro Sekunde (IOPS) und niedriger Latenz für GitHub Enterprise Server. Workloads sind E/A-intensiv. Wenn du einen Bare-Metal-Hypervisor verwendest, empfehlen wir, den Datenträger direkt anzufügen oder einen Datenträger aus einem Storage Area Network (SAN) zu verwenden.
Deine Instanz erfordert einen beständigen Datenträger, der vom Stammdatenträger getrennt ist. Weitere Informationen findest du unter Systemübersicht.
Warning
Der Stammspeicher bezieht sich auf die Gesamtgröße des Stammdatenträgers deiner Instanz. Wenn die Instanz gestartet wird, sehen Sie, dass auf dem Stammdateisystem 100 GB sind auf dem Stammdateisystem verfügbar. Die verbleibenden 100 GB sind für Upgrades reserviert. Weitere Informationen findest du unter Systemübersicht.
Zum Konfigurieren von GitHub Actions musst du externen Blobspeicher bereitstellen. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.
Der verfügbare Speicherplatz im Stammdateisystem beträgt 50 % der Gesamtdatenträgergröße. Du kannst die Größe des Stammdatenträgers deiner Instanz ändern, indem du eine neue Instanz erstellst oder eine vorhandene Instanz verwendest. Weitere Informationen findest du unter Systemübersicht und unter Speicherkapazität erhöhen.
CPU und Arbeitsspeicher
Die für GitHub Enterprise Server erforderlichen CPU- und Arbeitsspeicherressourcen hängen vom Aktivitätsgrad für Benutzer, Automatisierungen und Integrationen ab.
Alle VMs, die du für Ihre GitHub Enterprise Server-Instance bereitstellst, müssen die x86-64-CPU-Architektur aufweisen. Andere Architekturen (z. B. AArch64 oder arm64) werden nicht unterstützt.
Wenn du beabsichtigst, GitHub Actions für die Benutzer deiner GitHub Enterprise Server-Instanz zu aktivieren, musst du möglicherweise zusätzliche CPU- und Arbeitsspeicherressourcen für deine Instanz bereitstellen. Weitere Informationen findest du unter Erste Schritte mit GitHub Actions für GitHub Enterprise Server.
Wenn Sie CPU-Ressourcen erhöhen, empfiehlt GitHub mindestens 6,5 GB Arbeitsspeicher für jede vCPU (bis zu 16 vCPUs) hinzuzufügen, die Sie für die Instance bereitstellen. Wenn du mehr als 16 vCPUs verwendest, musst du keine 6,5 GB Arbeitsspeicher für jede vCPU hinzufügen. Du solltest deine Instanz jedoch überwachen, um sicherzustellen, dass genügend Arbeitsspeicher vorhanden ist.
Warning
Benutzern wird empfohlen, Webhookereignisse so zu konfigurieren, dass externe Systeme über Aktivität auf GitHub Enterprise Server benachrichtigt werden. Automatisierte Überprüfungen auf Änderungen, oder auch Abrufe, wirken sich negativ auf die Leistung und Skalierbarkeit deiner Instanz aus. Weitere Informationen findest du unter Informationen zu Webhooks.
Weitere Informationen zum Überwachen der Kapazität und Leistung von GitHub Enterprise Server findest du unter Überwachen Ihrer Instanz.
Du kannst die CPU- oder Arbeitsspeicherressourcen deiner Instanz erhöhen. Weitere Informationen findest du unter CPU- und Arbeitsspeicherressourcen erhöhen.
Typ der virtuellen Maschine ermitteln
Bevor du Ihre GitHub Enterprise Server-Instance auf Azure startest, musst du den Computertyp ermitteln, der den Anforderungen deiner Organisation am besten entspricht. Weitere Informationen zu arbeitsspeicheroptimierten Computern findest du in der Microsoft Azure-Dokumentation unter Arbeitsspeicheroptimierte Größen virtueller Computer. Informationen zum Überprüfen der empfohlenen Mindestanforderungen an Ressourcen für GitHub Enterprise Server finden Sie unter „Mindestanforderungen“.
Sie können Ihre CPU oder Ihren Speicher jederzeit hochskalieren, indem Sie die Größe Ihrer Instance anpasst. Die Änderung der für Ihre Instance verfügbaren Ressourcen erfordert Downtime für Ihre Benutzer, daher empfiehlt GitHub eine Bereitstellung mit Ressourcen, um die Skalierung zu berücksichtigen.
Für die GitHub Enterprise Server-Appliance ist eine Premium-Storage-Daten-Disk erforderlich. Zudem wird sie auf jeder Azure-VM unterstützt, die Premium-Storage unterstützt. Azure VM-Typen mit dem Suffix s
unterstützen Storage Premium. Weitere Informationen findest du unter Welche Datenträgertypen sind in Azure verfügbar? und Azure Storage Premium: für hohe Leistung konzipiert in der Azure-Dokumentation.
GitHub empfiehlt eine arbeitsspeicheroptimierte VM für GitHub Enterprise Server. Weitere Informationen findest du unter Arbeitsspeicheroptimierte VM-Größen in der Azure-Dokumentation.
GitHub Enterprise Server unterstützt jede Region, die Ihren VM-Typ unterstützt. Weitere Informationen zu den unterstützten Regionen für jede VM findest du unter Verfügbare Produkte nach Region.
GitHub Enterprise Server-VM erstellen
Zum Erstellen der Instanz musst Du das GitHub Enterprise Server-Abbild auf Deine virtuelle Maschine importieren und ein zusätzliches Storage-Volume für Deine Instanzdaten anhängen. Weitere Informationen findest du unter Grundlegendes zur Hardware.
-
Suche nach dem neuesten GitHub Enterprise Server-Appliance-Image. Weitere Informationen zum Befehl
vm image list
findest du in der Microsoft-Dokumentation unteraz vm image list
.az vm image list --all -f GitHub-Enterprise | grep '"urn": "GitHub:' | sort -V
-
Erstelle mithilfe des von dir ermittelten Appliance-Images eine neue VM. Weitere Informationen findest du in der Microsoft-Dokumentation unter az vm create.
Übergib Optionen für den Namen deiner VM, den Ressourcentyp, die Größe deiner VM, den Namen deiner bevorzugten Azure-Region, den Namen der von dir im vorherigen Schritt aufgelisteten Appliance-Image-VM und die Storage-SKU für den Premium-Storage. Weitere Informationen zu Ressourcengruppen findest du in der Microsoft-Dokumentation unter Ressourcengruppen.
az vm create -n VM_NAME -g RESOURCE_GROUP --size VM_SIZE -l REGION --image APPLIANCE_IMAGE_NAME --storage-sku Premium_LRS
-
Konfiguriere die Sicherheitseinstellungen auf deiner VM, um die erforderlichen Ports zu öffnen. Es wird empfohlen, Netzwerkports basierend auf den Netzwerkdiensten, die du für Verwaltungs- und Benutzerzwecke verfügbar machen musst, selektiv zu öffnen. Weitere Informationen findest du in der Microsoft-Dokumentation unter Netzwerkports und unter az vm open-port. In der folgenden Tabelle findest du eine Beschreibung der einzelnen Ports, um festzustellen, welche Ports du öffnen musst.
az vm open-port -n VM_NAME -g RESOURCE_GROUP --port PORT_NUMBER
Diese Tabelle zeigt, wofür jeder Port verwendet wird.
Port Dienst Beschreibung 22 SSH Git über SSH-Zugriff. Unterstützt das Klonen, Abrufen und Übertragen von Vorgängen an öffentliche/private Repositorys. 25 SMTP SMTP mit Verschlüsselung (STARTTLS) wird unterstützt. 80 HTTP Webanwendungszugriff. Alle Anforderungen werden an den HTTPS-Port weitergeleitet, wenn SSL aktiviert ist. 122 SSH Shellzugriff auf die Instanz. Der standardmäßige SSH-Port (22) ist für den Git- und SSH-Netzwerkdatenverkehr der Anwendung vorgesehen. 161/UDP SNMP Für Netzwerküberwachungs-Protokollvorgänge erforderlich. 443 HTTPS Webanwendung und Git über HTTPS-Zugriff. 1194/UDP VPN Sicherer Replikationsnetzwerktunnel in einer hochverfügbaren Konfiguration. Verschlüsselt mit WireGuard. 8080 HTTP Webbasierte Verwaltungskonsole in Nur-Text. Nur erforderlich, wenn SSL manuell deaktiviert wird. 8443 HTTPS Sichere webbasierte Verwaltungskonsole. Für die grundlegende Installation und Konfiguration erforderlich. 9418 Git Einfacher Git-Protokollport. Nur Klon- und Abrufvorgänge zu öffentlichen Repositorys. Unverschlüsselte Netzwerkkommunikation. Wenn du den privaten Modus in deiner Instanz aktiviert hast, ist das Öffnen dieses Ports nur erforderlich, wenn du auch anonymen Git-Lesezugriff aktiviert hast. Weitere Informationen findest du unter Erzwingen von Repositoryverwaltungsrichtlinien in einem Unternehmen. -
Erstelle eine neue unverschlüsselte Daten-Festplatte, hänge sie an die VM und konfiguriere die Größe entsprechend deiner Anzahl von Benutzerlizenzen. Weitere Informationen findest du in der Microsoft-Dokumentation unter az vm disk attach.
Übergib Optionen für den Namen deiner VM (z. B.
ghe-acme-corp
), die Ressourcengruppe, die SKU „Storage Premium“, die Größe des Datenträgers (z. B.200
) und einen Namen für die resultierende VHD.az vm disk attach --vm-name VM_NAME -g RESOURCE_GROUP --sku Premium_LRS --new -z SIZE_IN_GB --name ghe-data.vhd --caching ReadWrite
Note
Damit Nicht-Produktionsinstanzen einen ausreichenden E/A-Durchsatz aufweisen, wird eine minimale Datenträgergröße von 150 GiB mit aktiviertem Lese-/Schreibcache (
--caching ReadWrite
) empfohlen.
GitHub Enterprise Server-VM konfigurieren
Zum Konfigurieren der Instanz musst du den Status der Instanz überprüfen, eine Lizenzdatei hochladen, das Stammkennwort für die Verwaltungskonsole festlegen, die Einstellungen der Instanz konfigurieren und die Instanz neu starten.
Warning
Um zu verhindern, dass ein Angreifer die neue Instanz gefährdet, lege unbedingt persönlich das Stammkennwort für die Verwaltungskonsole fest, und erstelle den ersten Benutzer so schnell wie möglich.
-
Vor der VM-Konfiguration musst du darauf warten, dass sie den Status „ReadyRole“ aufweist. Führe den Befehl
vm list
aus, um den Status der VM zu überprüfen. Weitere Informationen findest du in der Microsoft-Dokumentation unter az vm list.$ az vm list -d -g RESOURCE_GROUP -o table > Name ResourceGroup PowerState PublicIps Fqdns Location Zones > ------ --------------- ------------ ------------ ------- ---------- ------- > VM_NAME RESOURCE_GROUP VM running 40.76.79.202 eastus
Note
Azure erstellt keinen automatischen FQDNS-Eintrag für die VM. Weitere Informationen findest du im Azure-Leitfaden zum Erstellen eines vollqualifizierten Domänennamens im Azure-Portal für eine Linux-VM.
- Kopiere den Namen des öffentlichen DNS der virtuellen Maschine, und füge ihn in einen Webbrowser ein.
-
Lade an der Eingabeaufforderung Deine Lizenzdatei hoch, und lege das Passwort für die Managementkonsole fest. Weitere Informationen findest du unter Verwalten deiner Lizenz für GitHub Enterprise.
-
Konfiguriere und speichere deine gewünschten Einstellungen in der Verwaltungskonsole. Weitere Informationen findest du unter Konfigurieren von GitHub Enterprise.
- Die Instanz wird automatisch neu gestartet.
-
Klicke auf Instanz aufrufen.
Die Merkmale der Azure-Erweiterung
GitHub Enterprise Server unterstützt die Installation von Azure-Erweiterungsfeatures nicht. Das Image GitHub Enterprise Server wird mit einem angepassten waagent
-Paket ausgeliefert, das nur grundlegende VM-Verwaltungsfunktionen unterstützt und erweiterte VM-Verwaltungsfunktionen blockiert.
Um Systeminstabilität deiner GitHub Enterprise Server-Instanz zu vermeiden, wird der walinuxagent
-Dienst absichtlich in GitHub Enterprise Server in einem eingeschränkten Modus ausgeführt, wodurch der Agent explizit nicht in der Lage ist, andere Agents zu installieren. VM-Verwaltungsfeatures, die auf im GitHub Enterprise Server-Image enthaltene zusätzliche Agents und Erweiterungen beruhen, z. B. die Überwachungs-Agent-Erweiterung für Azure Insights oder Azure-Sicherungen, werden nicht unterstützt.
Da GitHub Enterprise Server ein angepasstes Linux-Betriebssystem nur mit den erforderlichen Anwendungen und Diensten ausführt, überschreibt das manuelle Installieren oder Aktualisieren von Betriebssystempaketen diese Anpassungen und kann zu unerwartetem Verhalten führen. Weitere Informationen findest du unter Systemübersicht.