Skip to main content

Communicating with self-hosted runners

Your self-hosted runners can communicate with deine GitHub Enterprise Server-Instanz and GitHub.com

A self-hosted runner connects to deine GitHub Enterprise Server-Instanz to receive job assignments and to download new versions of the runner application. The self-hosted runner uses an HTTP(S) long poll that opens a connection to GitHub for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run GitHub Actions jobs.

Die GitHub Actions Läufer-Anwendung ist Open Source. Du kannst im Runner-Repository mitwirken und Dateiprobleme einreichen. When a new version is released, the runner application will automatically update within 24 hours.

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.

Only an outbound connection from the runner to GitHub Enterprise Server is required. There is no need for an inbound connection from GitHub Enterprise Server to the runner. For caching to work, the runner must be able to communicate with the blob storage and directly download content from it.

GitHub Enterprise Server must accept inbound connections from your runners over HTTP(S) at Ihre GitHub Enterprise Server-Instance's hostname and API subdomain, and your runners must allow outbound connections over HTTP(S) to Ihre GitHub Enterprise Server-Instance's hostname and API subdomain.

Self-hosted runners do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and GitHub Enterprise Server. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to GitHub Enterprise Server, with no need for traffic to traverse a public network.

Communication between self-hosted runners and GitHub.com

Self-hosted runners do not need to connect to GitHub.com unless you have enabled automatic access to GitHub.com actions for GitHub Enterprise Server. For more information, see Informationen zum Verwenden von Aktionen in deinem Unternehmen.

If you have enabled automatic access to GitHub.com actions, then the self-hosted runner will connect directly to GitHub.com to download actions. You must ensure that the machine has the appropriate network access to communicate with the GitHub URLs listed below.

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.

Further reading