Verwalten von Runnern

Abgeschlossen

In diesem Abschnitt lernen Sie die verschiedenen Tools und Strategien kennen, die Ihnen in GitHub Enterprise Cloud und GitHub Enterprise Server zur Verfügung stehen, um die Verwendung von GitHub Actions-Runnern in Ihrem Unternehmen zu verwalten.

Auswählen eines geeigneten Runners für Ihre Workload

Zwei Arten von Runnern können GitHub Actions-Workflows ausführen: Von GitHub-gehostete Runner oder selbst gehostete Runner.

Hinweis

Von GitHub gehostete Runner sind nur für Enterprise Cloud verfügbar. Wenn Sie über eine Enterprise Server-Instanz verfügen, gilt dieser Abschnitt nicht für Sie.

Von GitHub gehostete Runner bieten eine schnellere und einfachere Möglichkeit zum Ausführen Ihrer Workflows, während selbstgehostete Runner eine hochgradig konfigurierbare Möglichkeit zum Ausführen von Workflows in Ihrer eigenen benutzerdefinierten Umgebung sind. Wenn Sie beispielsweise eine Positivliste für IP-Adressen für Ihre Organisation oder eine spezielle Hardwarekonfiguration zum Ausführen Ihrer Workflows verwenden müssen, verwenden Sie einen selbstgehosteten Runner.

In der folgenden Tabelle werden von GitHub gehostete Runner und selbstgehostete Runner verglichen. Verwenden Sie sie, um den geeigneten Runner für Ihre Workload auszuwählen.

Von GitHub gehostete Runner Selbstgehostete Runner
Erhalten automatischer Updates für das Betriebssystem, vorinstallierte Pakete und Tools und die selbstgehostete Runneranwendung. Erhalten automatischer Updates nur für die selbstgehostete Runneranwendung. Sie sind für die Aktualisierung des Betriebssystems und der übrigen Software verantwortlich.
Von GitHub verwaltet und gewartet. Kann Clouddienste oder lokale Computer verwenden, für die du bereits bezahlst. Können außerdem an die Hardware, das Betriebssystem, die Software und Sicherheitsanforderungen angepasst werden.
Bereitstellen einer sauberen Instanz für jede Auftragsausführung. Benötigen keine saubere Instanz für jede Auftragsausführung.
Verwenden kostenlose Minuten Ihres GitHub-Tarifs, wobei minutenbasierte Tarife angewendet werden, nachdem die kostenlosen Minuten überschritten wurden. Können kostenlos mit GitHub Actions verwendet werden, aber Sie tragen die Kosten für die Wartung Ihrer Runnercomputer.

Konfigurieren des Zugriffs auf selbstgehostete Runner

In Enterprise Cloud und Enterprise Server ermöglichen ihnen selbstgehostete Runnergruppen die Steuerung des Zugriffs auf selbstgehostete Runner auf Organisations- und Unternehmensebene. Dieses Feature kann für Fälle nützlich sein, in denen Sie den Zugriff auf selbstgehostete Runner auf bestimmte Organisationen oder Benutzer beschränken müssen. Beispielsweise basierend auf der Vertrauensebene für diese Organisationen oder Benutzer oder um Sicherheitsrisiken zu mindern.

Angenommen, Sie möchten nur bestimmte Organisationen in Ihrer Unternehmensinstanz autorisieren, Code in Ihrer Produktionsumgebung bereitzustellen. Sie können eine Gruppe erstellen, die alle Runner enthält, die Code in der Produktion auf Unternehmensebene bereitstellen, und den Gruppenzugriff auf die spezifischen Organisationen beschränken, die für das Bereitstellen von Code autorisiert sind.

Um Gruppen auf Unternehmensebene zu erstellen, navigieren Sie zu Ihrem Unternehmenskonto und dann in der Randleiste zu Richtlinien > Aktionen. Wählen Sie auf der Registerkarte Runnergruppen die Option Neue Runnergruppe aus. Auf dem angezeigten Bildschirm können Sie einen Gruppennamen und eine Zugriffsrichtlinie für Organisationen angeben.

Screenshot: Bildschirm „Neue Gruppe“ mit Gruppennamenbeispiel für alle Organisationen

Um Gruppen auf Organisationsebene zu erstellen, navigieren Sie zu den Einstellungen Ihrer Organisation und dann in der Randleiste zu Aktionen. Wählen Sie Runnergruppen und dann Neue Runnergruppe aus. Auf dem angezeigten Bildschirm können Sie einen Gruppennamen und eine Zugriffsrichtlinie für Repositorys angeben.

Screenshot: Bildschirm „Neue Gruppe“ mit Gruppennamenbeispiel für alle Repositorys

Wenn neue Runner erstellt werden, werden sie automatisch der Standardgruppe innerhalb des Unternehmens oder der Organisation zugewiesen. Runner können sich jeweils nur in einer Gruppe befinden, aber sowohl Enterprise Cloud als auch Enterprise Server bieten Ihnen die Möglichkeit, Runner aus der Standardgruppe in eine andere Gruppe zu verschieben.

Konfigurieren von selbstgehosteten Runnern für die Verwendung in Unternehmen

Enterprise Cloud und Enterprise Server bieten mehrere Features, mit denen Sie Ihre selbstgehosteten Runner für die Verwendung in Ihrem Unternehmen anpassen können. Einige dieser Features umfassen Bezeichnungen, Proxyserver und Listen zugelassener IP-Adressen.

Beschriftungen

Selbstgehostete Runner erhalten automatisch Standardbezeichnungen, wenn sie GitHub Actions hinzugefügt werden. Diese Standardbezeichnungen geben das Betriebssystem und die Hardwarearchitektur des Runners an, wie in der Tabelle gezeigt:

Standardbezeichnung Beschreibung
self-hosted Standardbezeichnung, die auf alle selbstgehosteten Runner angewendet wird
linux, windowsoder macOS Wird abhängig vom Betriebssystem des Runners angewendet.
x64, ARM oder ARM64 Wird abhängig von der Hardwarearchitektur des Runners angewendet.

Über diese Standardbezeichnungen hinaus bieten Enterprise Cloud und Enterprise Server Ihnen die Möglichkeit, benutzerdefinierte Bezeichnungen zu erstellen und Ihren Runnern hinzuzufügen. Benutzerdefinierte Bezeichnungen sind nützlich, wenn Sie Aufträge mit Runnern mit bestimmten Funktionen ausführen müssen. Wenn beispielsweise ein Auftrag in einem Ihrer Workflows einen bestimmten Typ von Grafikhardware erfordert, können Sie eine benutzerdefinierte gpu-Bezeichnung erstellen und sie den Runnern zuweisen, auf denen die Hardware installiert ist. Alle Runner mit der gpu-Bezeichnung wären dann berechtigt, den Auftrag auszuführen.

Um einem selbstgehosteten Runner eine Bezeichnung hinzuzufügen, navigieren Sie zu den GitHub Actions-Einstellungen der Organisation, des Repositorys oder des Unternehmens, in der bzw. dem Ihr selbstgehosteter Runner registriert ist (unter Aktionen für eine Organisation oder ein Repository, unter Richtlinien > Aktionen für ein Unternehmen). Wenn Sie dorthin navigiert haben:

  1. Suchen Sie die Liste der Runner unter Runner. Wenn sich Ihr Runner in einer Gruppe befindet, suchen Sie die Runnergruppe, und wählen Sie die Runnerdropdownliste aus, um die Liste der Runner anzuzeigen.

    Screenshot: Beispiel für eine Runnergruppe mit hervorgehobener Dropdownliste

  2. Suchen Sie den Runner, den Sie aktualisieren möchten, und wählen Sie die Bezeichnungsdropdownliste aus, um das Menü für die Bezeichnungsauswahl anzuzeigen. In diesem Menü werden alle benutzerdefinierten Bezeichnungen angezeigt, die für Ihren selbstgehosteten Runner verfügbar sind. Neben Bezeichnungen, die Ihrem selbstgehosteten Runner bereits zugewiesen sind, wird ein Häkchen angezeigt.

    Screenshot: Beispielrunner mit angezeigten Bezeichnungsmenü

  3. Wählen Sie eine vorhandene Bezeichnung aus, um sie Ihrem Runner hinzuzufügen, oder geben Sie den Namen Ihrer neuen Bezeichnung in das Feld Bezeichnungen filtern ein, und wählen Sie dann Neue Bezeichnung erstellen aus. Die Bezeichnung wird ihrem Runner automatisch hinzugefügt, wenn Sie sie erstellen.

Proxyserver

Wenn ein selbstgehosteter Runner über einen Proxyserver mit GitHub kommunizieren muss, können Sie sowohl in Enterprise Cloud als auch in Enterprise Server Proxykonfigurationen mithilfe der folgenden Umgebungsvariablen ändern:

Umgebungsvariable Beschreibung
https_proxy Proxy-URL für HTTPS-Datenverkehr. Sie können bei Bedarf auch Standardanmeldeinformationen für die Authentifizierung einbinden. Beispiel:
http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
http_proxy Proxy-URL für HTTPS-Datenverkehr. Sie können bei Bedarf auch Standardanmeldeinformationen für die Authentifizierung einbinden. Beispiel:
http://proxy.local
http://192.168.1.1:8080
http://username:password@proxy.local
no_proxy Durch Kommas getrennte Liste von Hosts, die keinen Proxy verwenden sollten. In no_proxy sind nur Hostnamen zulässig. IP-Adressen können nicht verwendet werden. Beispiel:
example.com
example.com,myserver.local:443,example.org

Hinweis

Proxyumgebungsvariablen werden gelesen, wenn die selbstgehostete Runneranwendung gestartet wird. Daher müssen Sie die Umgebungsvariablen festlegen, bevor Sie die Anwendung konfigurieren oder starten. Wenn sich Ihre Proxykonfiguration ändert, müssen Sie die selbstgehostete Runneranwendung neu starten.

Unter Windows wird für die Namen der Proxyumgebungsvariablen nicht zwischen Groß- und Kleinschreibung unterschieden. Unter Linux und macOS wird empfohlen, für Umgebungsvariablen ausschließlich Kleinbuchstaben zu verwenden. Wenn eine Umgebungsvariable sowohl in Kleinbuchstaben als auch in Großbuchstaben unter Linux oder macOS vorhanden ist, z. B. https_proxy und HTTPS_PROXY, verwendet die selbstgehostete Runneranwendung die Umgebungsvariable in Kleinbuchstaben.

Liste zugelassener IP-Adressen

Wenn Ihre Enterprise Cloud- oder Enterprise Server-Organisation Listen zugelassener IP-Adressen konfiguriert hat, müssen Sie die IP-Adresse oder den IP-Adressbereich Ihrer selbstgehosteten Runner der Liste zugelassener IP-Adressen hinzufügen, damit Ihre selbstgehosteten Runner mit GitHub kommunizieren können.

Wenn Sie die IP-Adresse oder den IP-Adressbereich Ihrer selbstgehosteten Runner einer Liste zugelassener IP-Adressen einer Organisation hinzufügen möchten, navigieren Sie zu den Einstellungen Ihrer Organisation und wählen in der Randleiste Organisationssicherheit aus. Fügen Sie unter IP-Adresse die IP-Adresse oder den IP-Adressbereich Ihrer selbstgehosteten Runner in CIDR-Notation hinzu, und wählen Sie + Hinzufügen aus.

Überwachen und Behandeln von Problemen mit selbstgehosteten Runnern

Sowohl Enterprise Cloud als auch Enterprise Server bieten Tools, mit denen Sie Ihre selbstgehosteten Runner überwachen und aktualisieren sowie Probleme mit ihnen beheben können. Wenn Ihre Builds fehlschlagen, einige Dateien in Ihrem Repository gesperrt werden oder Ihre Workflowläufe hängenbleiben, kann die Problembehandlung des Runners, der Ihren Workflow ausführt, dabei helfen, das Problem zu beheben.

Dies sind die wichtigsten Schritte, die Sie bei der Problembehandlung eines selbstgehosteten Runners ausführen können:

  1. Überprüfen Sie den Status des Runners in den GitHub Actions-Einstellungen der Organisation, des Repositorys oder des Unternehmens, in der bzw. dem Ihr selbstgehosteter Runner registriert ist (unter Aktionen für eine Organisation oder ein Repository, unter Richtlinien > Aktionen für ein Unternehmen).
  2. Überprüfen Sie die Aktivitäten und automatischen Updates des Runners in den Runner_-Dateien im Ordner _diag.
  3. Überprüfen Sie den Status der Aufträge, die der Runner in den Worker_-Dateien im Ordner ausgeführt _diag hat.

Je nach Betriebssystem Ihres Runners können Sie zusätzliche Schritte ausführen, wie in der Tabelle gezeigt:

Mac Windows Linux
Überprüfen des selbstgehosteten Runneranwendungsdiensts mit launchd Überprüfen des selbstgehosteten Runneranwendungsdiensts mit PowerShell – Überprüfen des selbstgehosteten Runneranwendungsdiensts mit journalctl
– Wenn Ihre Aufträge Container erfordern, überprüfen Sie, ob Docker installiert ist und ausgeführt wird, und überprüfen Sie mithilfe von systemctl die Docker-Berechtigungen