GitHub Enterprise Server auf Google Cloud Platform installieren
Um GitHub Enterprise Server auf Google Cloud Platform zu installieren, müssen Sie es auf einem unterstützten Maschinentyp bereitstellen und eine persistente Standard-Disk oder ein persistentes SSD verwenden.
Inhalt dieses Artikels
- Voraussetzungen
- Grundlegendes zur Hardware
- Maschinentyp bestimmen
- GitHub Enterprise Server-Image auswählen
- Firewall konfigurieren
- Statische IP zuordnen und mit der VM verknüpfen
- GitHub Enterprise Server-Instanz erstellen
- Instanz konfigurieren
- Weiterführende Informationen
Voraussetzungen
-
Sie müssen über eine GitHub Enterprise-Lizenzdatei verfügen. Besuchen Sie enterprise.github.com, um eine vorhandene Lizenzdatei herunterzuladen oder eine Testlizenz anzufordern. Weitere Informationen finden Sie unter „Ihre GitHub Enterprise Server-Lizenz verwalten)“.
-
Sie müssen über ein Google Cloud Platform-Konto verfügen, mit dem VM-Instanzen (virtuelle Maschine) in Google Compute Engine (GCE) gestartet werden können. Weitere Informationen finden Sie auf der „Google Cloud Platform-Website und in der Google Cloud Platform-Dokumentation“.
-
Die meisten Aktionen, die zum Starten Ihrer Instanz erforderlich sind, können auch mit der Google Cloud Platform Console ausgeführt werden. Zur Ersteinrichtung sollten Sie jedoch das Befehlszeilentool „gcloud compute“ installieren. Im Folgenden finden Sie Beispiele zur Verwendung des Befehlszeilentools „gcloud compute“. Weitere Informationen finden Sie in der Google-Dokumentation zur Installations- und Einrichtungsanleitung für „gcloud compute“.
Grundlegendes zur Hardware
GitHub Enterprise Server schreibt eine persistente Data-Disk vor, die von der Root-Disk getrennt ist. Weitere Informationen finden Sie unter „Systemübersicht“.
We recommend different hardware configurations based on the number of seats used in Ihre GitHub Enterprise Server-Instanz. |
Benutzer | vCPUs | Arbeitsspeicher | Attached-Storage | Root-Storage |
---|---|---|---|---|
10–500 | 2 | 16 GB | 100 GB | 200 GB |
500–3000 | 4 | 32 GB | 250 GB | 200 GB |
3000–5000 | 8 | 64 GB | 500 GB | 200 GB |
5000–8000 | 12 | 72 GB | 750 GB | 200 GB |
8000–10000+ | 16 | 128 GB | 1000 GB | 200 GB |
Es gibt Mindestempfehlungen. Entsprechend Ihrer Nutzung, beispielsweise in Bezug auf die Benutzeraktivität und die ausgewählten Integrationen, sind möglicherweise mehr Ressourcen erforderlich. Weitere Informationen finden Sie unter „CPU- und Arbeitsspeicherressourcen erhöhen“.
Hinweis: Die Größe der Root-Disk kann geändert werden, indem eine neue Appliance erstellt oder eine vorhandene Appliance verwendet wird. Weitere Informationen finden Sie unter „Speicherkapazität erhöhen“.
Warnung: Sie sollten Webhooks verwenden, um Repository-Änderungen für die fortlaufende Integration (CI) oder für ähnliche Systeme abzurufen. Durch regelmäßige automatische Überprüfungen oder durch das automatische Abrufen wird die Skalierbarkeit Ihrer Instanz erheblich reduziert. Weitere Informationen finden Sie unter „Informationen zu Webhooks“.
Maschinentyp bestimmen
Bevor Sie Ihre GitHub Enterprise Server-Instanz auf Google Cloud Platform starten, müssen Sie den Maschinentyp ermitteln, der den Anforderungen Ihrer Organisation am besten gerecht wird.
Unterstützte Maschinentypen
GitHub Enterprise Server wird auf den folgenden Google Compute Engine-Maschinentypen (GCE) unterstützt. Weitere Informationen finden Sie im Google Cloud Platform-Artikel zu den „Maschinentypen“. |
| | Standard | Oberer Speicher | Hohe CPU | | | -------------- | --------------- | ------------- | | | n1-standard-4 | n1-highmem-4 | n1-highcpu-4 | | | n1-standard-8 | n1-highmem-8 | n1-highcpu-8 | | | n1-standard-16 | n1-highmem-16 | n1-highcpu-16 | | | n1-standard-32 | n1-highmem-32 | n1-highcpu-32 |
Empfohlene Maschinentypen
Basierend auf der Anzahl Ihrer Benutzer werden die folgenden Maschinentypen empfohlen.
Benutzer | Empfohlener Typ |
---|---|
10–500 | n1-standard-4 |
500–3000 | n1-standard-8 |
3000–5000 | n1-highmem-8 |
5000–8000 | n1-highmem-16 |
8000–10000+ | n1-highmem-32 |
Hinweis: Sie können Ihre CPU oder Ihren Arbeitsspeicher jederzeit hochskalieren, indem Sie die Größe Ihrer Instanz anpassen. Da das Anpassen Ihrer CPU- oder Arbeitsspeichergröße jedoch Ausfallzeiten für Ihre Benutzer bedeutet, empfehlen wir ein Over-Provisioning der zu skalierenden Ressourcen.
GitHub Enterprise Server-Image auswählen
-
Listen Sie mithilfe des Befehlszeilentools gcloud compute die öffentlichen GitHub Enterprise Server-Images auf:
$ gcloud compute images list --project github-enterprise-public --no-standard-images
-
Notieren Sie sich den Image-Namen für das neueste GCE-Image von GitHub Enterprise Server.
Firewall konfigurieren
GCE-VMs werden als Mitglied eines Netzwerks erstellt, das eine Firewall besitzt. Für das der GitHub Enterprise Server-VM zugeordnete Netzwerk müssen Sie die Firewall so konfigurieren, dass die in der folgenden Tabelle aufgelisteten erforderlichen Ports zugelassen werden. Weitere Informationen zu den Firewallregeln auf Google Cloud Platform finden Sie im Leitfaden „Übersicht über Firewallregeln“.
-
Erstellen Sie mithilfe des Befehlszeilentools „gcloud compute“ das Netzwerk. Weitere Informationen finden Sie unter „gcloud compute networks create“ in der Google-Dokumentation.
$ gcloud compute networks create NETWORK-NAME --subnet-mode auto
-
Erstellen Sie eine Firewallregel für jeden der Ports in der folgenden Tabelle. Weitere Informationen finden Sie unter „gcloud compute firewall-rules“ in der Google-Dokumentation.
$ 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.
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-Netzwerk-Traffic 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. 8080 HTTP Webbasierte Managementkonsole in Nur-Text. Nur erforderlich, wenn SSL manuell deaktiviert wird. 8443 HTTPS Sichere webbasierte Managementkonsole. Für die grundlegende Installation und Konfiguration erforderlich. 9418 Git Einfacher Git-Protokollport. Nur Klon- und Abrufvorgänge zu öffentlichen Repositorys. Unverschlüsselte Netzwerkkommunikation.
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 finden Sie im Google-Leitfaden unter „Statische externe IP-Adresse reservieren“.
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 müssen Sie eine GCE-Instanz mit Ihrem GitHub Enterprise Server-Image erstellen und ein zusätzliches Storage-Volume für Ihre Instanzdaten anhängen. Weitere Informationen finden Sie unter „Grundlegendes zur Hardware“.
-
Erstellen Sie mithilfe des Befehlszeilentools „gcloud compute“ eine Daten-Disk, um sie als ein Attached Storage-Volume für Ihre Instanzdaten zu verwenden, und konfigurieren Sie die Größe anhand der Anzahl Ihrer verfügbaren Benutzer. Weitere Informationen finden Sie unter „gcloud compute disks create“ in der Google-Dokumentation.
$ gcloud compute disks create DATA-DISK-NAME --size DATA-DISK-SIZE --type DATA-DISK-TYPE --zone ZONE
-
Erstellen Sie anschließend eine Instanz mit dem Namen des von Ihnen ausgewählten GitHub Enterprise Server-Images, und hängen Sie die Daten-Disk an. Weitere Informationen finden Sie unter „gcloud compute instances create“ in der Google-Dokumentation.
$ 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
-
Kopieren Sie den Namen des öffentlichen DNS der virtuellen Maschine, und fügen Sie ihn in einen Webbrowser ein.
-
Laden Sie an der Eingabeaufforderung Ihre Lizenzdatei hoch, und legen Sie das Passwort für die Managementkonsole fest. Weitere Informationen finden Sie unter „Ihre GitHub Enterprise Server-Lizenz verwalten“.
-
Konfigurieren Sie in der Managementkonsole Ihre gewünschten Einstellungen, und speichern Sie sie. Weitere Informationen finden Sie unter „GitHub Enterprise Server-Appliance konfigurieren“.
-
Die Instanz wird automatisch neu gestartet.
-
Klicken Sie auf Visit your instance (Instanz aufrufen).