Skip to main content

Kommunizieren mit selbstgehosteten Runnern

Deine selbst gehosteten Runner kannst du mit deine GitHub Enterprise Server-Instanz und GitHub.com kommunizieren.

Der selbstgehostete Runner stellt eine Verbindung mit deine GitHub Enterprise Server-Instanz her, um Auftragszuweisungen zu empfangen und neue Versionen der Runneranwendung herunterzuladen. Der selbstgehostete Runner verwendet eine lange HTTP(S)-Abfrage, die 50 Sekunden lang eine Verbindung mit GitHub öffnet. Wird keine Antwort empfangen, wird erfolgt ein Verbindungstimeout, und eine neue lange Abfrage wird erstellt. Die Anwendung muss auf dem Computer ausgeführt werden, um GitHub Actions-Aufträge zu akzeptieren und auszuführen.

Die GitHub Actions Läufer-Anwendung ist Open Source. Du kannst im Runner-Repository mitwirken und Dateiprobleme einreichen. Wenn eine neue Version veröffentlicht wird, wird die Runner-Anwendung innerhalb von 24 Stunden automatisch aktualisiert.

Note

Wenn Sie kurzlebige Runner nutzen und automatische Updates deaktiviert haben, sollten Sie vor dem Upgraden von GitHub Enterprise Server zunächst die selbstgehosteten Runner auf die Version der Runneranwendung upgraden, die die upgegradete Instanz ausführen wird. Wenn Sie ein Upgrade für GitHub Enterprise Server durchführen, bevor Sie die kurzlebigen Runner upgraden, gehen die Runner unter Umständen offline. Weitere Informationen finden Sie unter Übersicht über den Upgradeprozess.

Ein selbstgehosteter Runner wird automatisch aus GitHub entfernt, wenn er sich länger als 14 Tage nicht mehr mit GitHub Actions verbunden hat. Ein kurzlebiger selbstgehosteter Runner wird automatisch aus GitHub entfernt, wenn er sich länger als 1 Tag nicht mehr mit GitHub Actions verbunden hat.

Die Verbindung zwischen selbstgehosteten Runnern und GitHub verläuft über HTTP (Port 80) oder HTTPS (Port 443). Um die Konnektivität über HTTPS sicherzustellen, konfigurieren Sie TLS für GitHub Enterprise Server. Weitere Informationen findest du unter TLS konfigurieren.

Es ist nur eine ausgehende Verbindung vom Runner zu GitHub Enterprise Server erforderlich. Es besteht keine Notwendigkeit für eine eingehende Verbindung von GitHub Enterprise Server zum Runner. Damit das Zwischenspeichern funktioniert, muss der Runner mit dem Blobspeicher kommunizieren und Inhalte direkt von diesem herunterladen können.

GitHub Enterprise Server muss eingehende Verbindungen von deinen Runnern über HTTP(S) im Hostnamen und der API-Unterdomäne von Ihre GitHub Enterprise Server-Instance akzeptieren. Außerdem müssen deine Runner ausgehende Verbindungen mit dem Hostnamen und der API-Unterdomäne von Ihre GitHub Enterprise Server-Instance über HTTP(S) zulassen.

Selbstgehostete Runner erfordern keinen externen Internetzugriff für ihre Funktionsfähigkeit. Daher kannst du die Kommunikation zwischen dem selbstgehosteten Runner und GitHub Enterprise Server mithilfe von Netzwerkrouting weiterleiten. Du kannst deinem selbstgehosteten Runner beispielsweise eine private IP-Adresse zuweisen und das Routing so konfigurieren, dass Datenverkehr an GitHub Enterprise Server gesendet wird, ohne dass der Datenverkehr ein öffentliches Netzwerk durchlaufen muss.

Kommunikation zwischen selbstgehosteten Runnern und GitHub.com

Selbstgehostete Runner müssen keine Verbindung mit GitHub.com herstellen, es sei denn, du hast den automatischen Zugriff auf GitHub.com-Aktionen für GitHub Enterprise Server aktiviert. Weitere Informationen finden Sie unter Informationen zum Verwenden von Aktionen in deinem Unternehmen.

Wenn du den automatischen Zugriff auf GitHub.com-Aktionen aktiviert hast, wird der selbstgehostete Runner direkt mit GitHub.com verbunden, um Aktionen herunterzuladen. Du musst sicherstellen, dass der Rechner über den entsprechenden Netzwerkzugriff verfügt, um mit den nachfolgend aufgelisteten GitHub-URLs zu kommunizieren.

Shell
github.com
api.github.com
codeload.github.com
pkg.actions.githubusercontent.com

Note

Einige der aufgeführten Domänen werden mithilfe von CNAME-Einträgen konfiguriert. Für bestimmte Firewalls musst du Regeln möglicherweise rekursiv für alle CNAME-Einträge hinzufügen. Beachte, dass sich die CNAME-Einträge in Zukunft ändern können und dass nur die aufgeführten Domänen konstant bleiben.

Weiterführende Themen