Skip to main content

GitHub Enterprise Server auf Google Cloud Platform installieren

Um GitHub Enterprise Server auf Google Cloud Platform zu installieren, musst die Bereitstellung auf einem unterstützten Computertyp erfolgen und ein persistenter Standarddatenträger oder einem persistenten SSD verwendet werden.

Voraussetzungen

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.

Benutzerlizenzenx86-64 vCPUsArbeitsspeicherStammspeicherAngefügter Speicher (Datenspeicher)
Test, Demo oder 10 Benutzer mit eingeschränkten Funktionen432 GB200 GB150 GB
10–3000848 GB200 GB300 GB
3000–50001264 GB200 GB500 GB
5000–80001696 GB200 GB750 GB
8000–10000+20160 GB200 GB1000 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 CPU und Arbeitsspeicher um 25 %
  • GitHub Advanced Security – Erhöhen von CPU und Arbeitsspeicher um 15 %

Diese Anpassungen sollten auf die Basisanforderungen für jede Benutzerebene angewendet werden.

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.

Warnung: Benutzern wird empfohlen, Webhookereignisse zu konfigurieren, um externe Systeme über Aktivität auf GitHub Enterprise Server zu benachrichtigen. 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.

Maschinentyp bestimmen

Bevor du Ihre GitHub Enterprise Server-Instance auf Google Cloud Platform startest, musst du den Computertyp ermitteln, der den Anforderungen deiner Organisation am besten entspricht. Informationen zu den empfohlenen Mindestanforderungen für GitHub Enterprise Server finden Sie unter „Empfohlene 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.

GitHub empfiehlt für GitHub Enterprise Server einen universellen Computer mit hoher Speicherkapazität. Weitere Informationen findest du in der Dokumentation von Google Compute Engine unter Computertypen.

GitHub Enterprise Server-Image auswählen

  1. Liste mithilfe des Befehlszeilentools gcloud compute die öffentlichen GitHub Enterprise Server-Images auf:

    gcloud compute images list --project github-enterprise-public --no-standard-images
    
  2. Notiere dir den Image-Namen für das neueste GCE-Image von GitHub Enterprise Server.

Konfigurieren der Firewall

GCE-VMs werden als Mitglied eines Netzwerks erstellt, das eine Firewall besitzt. Für das der GitHub Enterprise Server-VM zugeordnete Netzwerk musst du die Firewall so konfigurieren, dass die in der folgenden Tabelle aufgelisteten erforderlichen Ports zugelassen werden. 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 unter Netzwerkports und VPC firewall rules in der Dokumentation zu Google Cloud Platform.

  1. Erstelle mithilfe des Befehlszeilentools „gcloud compute“ das Netzwerk. Weitere Informationen findest du in der Google-Dokumentation unter gcloud compute networks create.

    gcloud compute networks create NETWORK-NAME --subnet-mode auto
    
  2. Erstelle eine Firewallregel für jeden der Ports in der folgenden Tabelle. Weitere Informationen findest du in der Google-Dokumentation unter gcloud compute firewall-rules.

    $ gcloud compute firewall-rules create RULE-NAME \
    --network NETWORK-NAME \
    --allow tcp:22,tcp:25,tcp:80,tcp:122,udp:161,tcp:443,udp:1194,tcp:8080,tcp:8443,tcp:9418,icmp
    

    Diese Tabelle zeigt die erforderlichen Ports und wofür sie verwendet werden.

    PortDienstBeschreibung
    22SSHGit über SSH-Zugriff. Unterstützt das Klonen, Abrufen und Übertragen von Vorgängen an öffentliche/private Repositorys.
    25SMTPSMTP mit Verschlüsselung (STARTTLS) wird unterstützt.
    80HTTPWebanwendungszugriff. Alle Anforderungen werden an den HTTPS-Port weitergeleitet, wenn SSL aktiviert ist.
    122SSHShellzugriff auf die Instanz. Der standardmäßige SSH-Port (22) ist für den Git- und SSH-Netzwerkdatenverkehr der Anwendung vorgesehen.
    161/UDPSNMPFür Netzwerküberwachungs-Protokollvorgänge erforderlich.
    443HTTPSWebanwendung und Git über HTTPS-Zugriff.
    1194/UDPVPNSicherer Replikationsnetzwerktunnel in einer hochverfügbaren Konfiguration. Verschlüsselt mit WireGuard.
    8080HTTPWebbasierte Verwaltungskonsole in Nur-Text. Nur erforderlich, wenn SSL manuell deaktiviert wird.
    8443HTTPSSichere webbasierte Verwaltungskonsole. Für die grundlegende Installation und Konfiguration erforderlich.
    9418GitEinfacher 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.

Statische IP zuordnen und mit der VM verknüpfen

Wenn es sich hierbei um eine Produktions-Appliance handelt, wird dringend empfohlen, eine statische externe IP-Adresse zu reservieren und sie der GitHub Enterprise Server-VM zuzuordnen. Andernfalls wird die öffentliche IP-Adresse der VM nach Neustarts nicht beibehalten. Weitere Informationen findest du im Google-Leitfaden zum Reservieren einer statischen externen IP-Adresse.

In Hochverfügbarkeitskonfigurationen in der Produktion sollten primären und Replikat-Appliances separate statische IP-Adressen zugewiesen werden.

GitHub Enterprise Server-Instanz erstellen

Zum Erstellen der GitHub Enterprise Server-Instanz musst du eine GCE-Instanz mit deinem GitHub Enterprise Server-Image erstellen und ein zusätzliches Storage-Volume für deine Instanzdaten anhängen. Weitere Informationen findest du unter Grundlegendes zur Hardware.

  1. Erstelle mit Hilfe des Befehlszeilen-Werkzeugs gcloud einen Datenträger, der als angehängtes Speicher-Volume für deine Instanzdaten dient, und konfiguriere die Größe entsprechend der Anzahl deiner Benutzerlizenzen. Weitere Informationen findest du in der Google-Dokumentation unter gcloud compute disks create.

    gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
    
  2. Erstelle anschließend eine Instanz mit dem Namen des von dir ausgewählten GitHub Enterprise Server-Images, und hänge die Daten-Disk an. Weitere Informationen findest du in der Google-Dokumentation unter gcloud compute instances create.

    $ gcloud compute instances create INSTANCE-NAME \
    --machine-type n1-standard-8 \
    --image GITHUB-ENTERPRISE-IMAGE-NAME \
    --disk name=DATA-DISK-NAME \
    --metadata serial-port-enable=1 \
    --zone ZONE \
    --network NETWORK-NAME \
    --image-project github-enterprise-public
    

Instanz konfigurieren

Zum Konfigurieren der Instanz musst du eine Lizenzdatei hochladen, das Stammkennwort für die Verwaltungskonsole festlegen, die Einstellungen der Instanz konfigurieren und die Instanz neu starten.

Warnung: 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.

  1. Kopiere den Namen des öffentlichen DNS der virtuellen Maschine, und füge ihn in einen Webbrowser ein.
  2. 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.
  3. Konfiguriere und speichere deine gewünschten Einstellungen in der Verwaltungskonsole. Weitere Informationen findest du unter Konfigurieren von GitHub Enterprise.
  4. Die Instanz wird automatisch neu gestartet.
  5. Klicke auf Instanz aufrufen.

Weiterführende Themen