Skip to main content

Verwenden größerer Runner

GitHub bietet größere Runner mit mehr RAM und CPU.

Das Feature der größerer Runner befindet sich für Organisationen und Unternehmen mit dem GitHub Team- oder GitHub Enterprise Cloud-Tarif zurzeit in der Betaversion und kann noch geändert werden. Um Zugriff auf die Betaversion anzufordern, besuche die Registrierungsseite.

Übersicht über größerer Runner

Neben den in GitHub gehosteten Standardrunnern bietet GitHub Kunden mit den GitHub Team- und GitHub Enterprise Cloud-Plänen auch eine Auswahl von größerer Runnern mit mehr RAM und CPU an. Diese Runner werden von GitHub gehostet und verfügen über eine Vorinstallation der Runneranwendung und anderer Tools.

Wenn größerer Runner für deine Organisation aktiviert sind, wird automatisch eine standardmäßige Runnergruppe erstellt, die vier vorkonfigurierte größerer Runner enthält.

Wenn du einer Organisation einen größerer Runner hinzufügst, definierst du einen Computertyp aus einer Auswahl verfügbarer Hardwarespezifikationen und Betriebssystemimages. GitHub erstellt dann mehrere Instanzen dieses Runners, die im Rahmen der von dir definierten Grenzwerte für die automatische Skalierung hoch- und herunterskaliert werden können, um den Anforderungen deiner Organisation zu entsprechen.

Computerspezifikationen für größerer Runner

Größe (vCPU)Arbeitsspeicher (GB)Speicher (SSD)
4 Kerne16 RAM150 GB
8 Kerne32 RAM300 GB
16 Kerne64 RAM600 GB
32 Kerne128 RAM1.200GB
64 Kerne256 RAM2040 GB

Architekturübersicht über größerer Runner

Die größerer Runner werden auf Organisationsebene verwaltet, wobei sie in Gruppen angeordnet werden, die mehrere Instanzen des Runners enthalten können. Sie können auch auf Unternehmensebene erstellt und für Organisationen in der Hierarchie freigegeben werden. Nachdem du eine Gruppe erstellt hast, kannst du der Gruppe einen Runner hinzufügen und deine Workflows so aktualisieren, dass sie die Bezeichnung als Ziel verwenden, die dem größerer Runner zugewiesen ist. Du kannst auch steuern, welche Repositorys Aufträge zur Verarbeitung an die Gruppe senden dürfen. Weitere Informationen zu Gruppen findest du unter Steuern des Zugriffs auf größerer Runner.

Im folgenden Diagramm wurde eine Klasse gehosteter Runner namens ubuntu-20.04-16core mit benutzerdefinierter Hardware und Betriebssystemkonfiguration definiert.

Diagramm zur Erläuterung von größerer Runner

  1. Instanzen dieses Runners werden automatisch erstellt und einer Gruppe namens ubuntu-20.04-16core hinzugefügt.
  2. Den Runnern wurde die Bezeichnung ubuntu-20.04-16core zugewiesen.
  3. Workflowaufträge verwenden die Bezeichnung ubuntu-20.04-16core in ihrem runs-on Schlüssel, um den Typ des Runners anzugeben, den sie zum Ausführen des Auftrags benötigen.
  4. GitHub Actions überprüft die Runnergruppe, um festzustellen, ob dein Repository zum Senden von Aufträgen an den Runner autorisiert ist.
  5. Der Auftrag wird in der nächsten verfügbaren Instanz des ubuntu-20.04-16core-Runners ausgeführt.

Automatische Skalierung von größerer Runnern

Deine größerer Runner lassen sich so konfigurieren, dass sie automatisch deinen Anforderungen entsprechend skaliert werden können. Wenn Aufträge zur Verarbeitung übermittelt werden, können für die Auftragsausführung automatisch mehr Computer bereitgestellt werden, bis ein vordefinierter Höchstwert erreicht wird. Jeder Computer verarbeitet immer nur einen Auftrag, sodass diese Einstellungen effektiv die Anzahl der Aufträge festlegen, die gleichzeitig ausgeführt werden können.

Während des Runnerbereitstellungsvorgangs kannst du durch Konfiguration der Option Max deine Kosten kontrollieren, indem du die maximale parallele Anzahl von Computern festlegst, die in dieser Gruppe erstellt werden. Durch einen höheren Wert kann die Blockierung von Workflows aufgrund paralleler Vorgänge vermieden werden.

Netzwerkbetrieb für größerer Runner

Standardmäßig erhalten größerer Runner eine dynamische IP-Adresse, die sich für jede Auftragsausführung ändert. Optional können GitHub Enterprise Cloud-Kunden ihre größerer Runner so konfigurieren, dass diese eine statische IP-Adresse aus dem IP-Adresspool von GitHub erhalten. Wenn diese Option aktiviert ist, erhalten Instanzen der größerer Runner eine Adresse aus einem für den Runner eindeutigen Bereich, sodass du anhand dieses Bereichs eine Firewallpositivliste konfigurieren kannst. Du kannst insgesamt bis zu 10 statische IP-Adressbereiche für alle deine größerer Runner verwenden.

Hinweis: Wenn Runner mehr als 30 Tage lang ungenutzt bleiben, werden ihre IP-Adressbereiche automatisch entfernt und können nicht wiederhergestellt werden.

Planung für größerer Runner

Erstellen einer Runnergruppe

Runnergruppen werden verwendet, um Gruppen von VMs zu sammeln und um sie herum eine Sicherheitsgrenze zu erstellen. Anschließend kannst du entscheiden, welche Organisationen oder Repositorys Aufträge auf diesen Computergruppen ausführen dürfen. Während des Bereitstellungsvorgangs für größerer Runner kann der Runner einer vorhandenen Gruppe hinzugefügt werden, andernfalls wird er in einer Standardgruppe aufgenommen. Du kannst eine Gruppe erstellen, indem du die Schritte unter Steuern des Zugriffs auf größerer Runner ausführst.

Grundlegendes zur Abrechnung

Hinweis: größerer Runner nutzen keine inbegriffenen Berechtigungsminuten und sind für öffentliche Repositorys nicht kostenfrei.

Im Vergleich zu in standardmäßigen, GitHub gehosteten Runnern werden größerer Runner anders abgerechnet. Weitere Informationen findest du unter Minutentarife.

Hinzufügen eines größerer Runners zu einem Unternehmen

Du kannst größerer Runner einem Unternehmen hinzufügen, in dem sie mehreren Organisationen zugewiesen werden können. Anschließend können die Organisationsadministratoren steuern, von welchen Repositorys die Runner verwenden werden können. Um einem Unternehmen einen größerer Runner hinzufügen zu können, musst du ein Unternehmensbesitzer sein.

Du kannst ein Betriebssystem und eine Hardwarekonfiguration aus der Liste der verfügbaren Optionen auswählen. Wenn neue Instanzen dieses Runners über die automatische Skalierung bereitgestellt werden, verwenden sie dasselbe Betriebssystem und dieselbe Hardwarekonfiguration, die du hier festgelegt hast.

Du kannst außerdem die Bezeichnungen festlegen, die den Runner identifizieren. So können deine Workflows (mit runs-on) Aufträge zur Verarbeitung an die Runner übermitteln. Neue Runner werden automatisch der Standardgruppe zugewiesen. Alternativ kannst du beim Erstellen der Runner auswählen, welcher Gruppe die Runner beitreten sollen. Außerdem kannst du die Gruppenmitgliedschaft der Runner ändern, nachdem du die Runner registriert hast. Weitere Informationen findest du unter Steuern des Zugriffs auf größerer Runner.

  1. Klicke in der Unternehmensrandleiste auf Richtlinien. Registerkarte „Richtlinien“ auf der Randleiste des Enterprise-Kontos 1. Klicke unter „ Richtlinien“ auf Aktionen. 1. Klicke auf die Registerkarte Runner. 1. Klicke auf Neuer Runner und dann auf Neuer von GitHub gehosteter Runner.

  2. Fülle die erforderlichen Angaben aus, um deinen neuen Runner zu konfigurieren:

    • Name: Gib einen Namen für deinen neuen Runner ein. Zur leichteren Identifizierung sollten hier die Hardware und die Betriebskonfiguration angegeben werden, z. B. ubuntu-20.04-16core.
    • Runnerimage: Wähle ein Betriebssystem aus den verfügbaren Optionen. Sobald du ein Betriebssystem ausgewählt hast, kannst du eine spezifische Version auswählen.
    • Runnergröße: Wähle in der Dropdownliste der verfügbaren Optionen eine Hardwarekonfiguration aus.
    • Automatische Skalierung: Wähle die maximale Anzahl von Runnern aus, die zu jedem Zeitpunkt aktiv sein können.
    • Runnergruppe: Wähle die Gruppe aus, der dein Runner angehören soll. Diese Gruppe hostet mehrere Instanzen deines Runners, die je nach Bedarf hoch- und herunterskaliert werden können.
    • Netzwerk: Nur für GitHub Enterprise Cloud: Wähle aus, ob den Instanzen des größerer Runner ein statischer IP-Adressbereich zugewiesen werden soll. Du kannst insgesamt bis zu 10 statische IP-Adressen verwenden.
  3. Klicke auf Runner erstellen.

  4. Um Organisationen den Zugriff auf deine größerer Runner zu ermöglichen, gib die Liste der Organisationen an, die sie verwenden können. Weitere Informationen findest du unter Verwalten des Zugriffs auf deine Runner.

Hinzufügen eines größerer Runners zu einer Organisation

Du kannst einen größerer Runner einer Organisation hinzufügen, in der die Organisationsadministratoren steuern, von welchen Repositorys er verwendet werden kann.

Du kannst ein Betriebssystem und eine Hardwarekonfiguration aus der Liste der verfügbaren Optionen auswählen. Wenn neue Instanzen dieses Runners über die automatische Skalierung bereitgestellt werden, verwenden sie dasselbe Betriebssystem und dieselbe Hardwarekonfiguration, die du hier festgelegt hast.

Du kannst außerdem die Bezeichnungen festlegen, die den Runner identifizieren. So können deine Workflows (mit runs-on) Aufträge zur Verarbeitung an die Runner übermitteln. Neue Runner werden automatisch der Standardgruppe zugewiesen. Alternativ kannst du beim Erstellen der Runner auswählen, welcher Gruppe die Runner beitreten sollen. Außerdem kannst du die Gruppenmitgliedschaft der Runner ändern, nachdem du die Runner registriert hast. Weitere Informationen findest du unter Steuern des Zugriffs auf größerer Runner.

  1. Navigiere auf zur Hauptseite der Organisation. 1. Klicke unter deinem Organisationsnamen auf Einstellungen. Schaltfläche „Organisationseinstellungen“ 1. Klicke auf der linken Randleiste auf Aktionen, und klicke dann auf Runner. 1. Klicke auf Neuer Runner und dann auf Neuer von GitHub gehosteter Runner.

  2. Fülle die erforderlichen Angaben aus, um deinen neuen Runner zu konfigurieren:

    • Name: Gib einen Namen für deinen neuen Runner ein. Zur leichteren Identifizierung sollten hier die Hardware und die Betriebskonfiguration angegeben werden, z. B. ubuntu-20.04-16core.
    • Runnerimage: Wähle ein Betriebssystem aus den verfügbaren Optionen. Sobald du ein Betriebssystem ausgewählt hast, kannst du eine spezifische Version auswählen.
    • Runnergröße: Wähle in der Dropdownliste der verfügbaren Optionen eine Hardwarekonfiguration aus.
    • Automatische Skalierung: Wähle die maximale Anzahl von Runnern aus, die zu jedem Zeitpunkt aktiv sein können.
    • Runnergruppe: Wähle die Gruppe aus, der dein Runner angehören soll. Diese Gruppe hostet mehrere Instanzen deines Runners, die je nach Bedarf hoch- und herunterskaliert werden können.
    • Netzwerk: Nur für GitHub Enterprise Cloud: Wähle aus, ob den Instanzen des größerer Runner ein statischer IP-Adressbereich zugewiesen werden soll. Du kannst insgesamt bis zu 10 statische IP-Adressen verwenden.
  3. Klicke auf Runner erstellen.

  4. Um einem Repository den Zugriff auf deine größerer Runner zu ermöglichen, füge es der Liste der Repositorys hinzu, die die Runner verwenden können. Weitere Informationen findest du unter Verwalten des Zugriffs auf deine Runner.

Ausführen von Aufträgen in deinem Runner

Sobald dein Runnertyp definiert wurde, kannst du deine Workflow-YAML-Dateien aktualisieren, um Aufträge zur Verarbeitung an deine neu erstellten Runnerinstanzen zu senden. In diesem Beispiel wird eine Runnergruppe mit Ubuntu 16-Core-Runnern aufgefüllt, denen die Bezeichnung ubuntu-20.04-16core zugewiesen wurde. Wenn ein Runner mit dieser Bezeichnung vorliegt, verwendet der Auftrag check-bats-version den Schlüssel runs-on, um den Runner bei jeder Auftragsausführung als Ziel zu verwenden:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on: ubuntu-20.04-16core
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '14'
      - run: npm install -g bats
      - run: bats -v

Um herauszufinden, welche Runner für dein Repository und deine Organisation aktiviert sind, musst du dich an den Administrator deiner Organisation wenden. Dein Organisationsadministrator kann neue Runner und Runnergruppen erstellen und Berechtigungen konfigurieren, um festzulegen, welche Repositorys auf eine Runnergruppe zugreifen können.

Verwalten des Zugriffs auf deine Runner

Hinweis: Bevor deine Workflows Aufträge an größerer Runner senden können, musst du zuerst Berechtigungen für die Runnergruppe konfigurieren. Weitere Informationen findest du in den folgenden Abschnitten.

Anhand von Runnergruppen wird gesteuert, welche Repositorys Aufträge in deinen größerer Runnern ausführen können. Du musst den Zugriff auf die Gruppe aus jeder Ebene der Verwaltungshierarchie gewähren, je nachdem, wo du den größerer Runner definiert hast:

  • Runner auf Unternehmensebene: Konfiguriere die Runnergruppe, um Zugriff auf alle erforderlichen Organisationen zu gewähren. Darüber hinaus musst du für jede Organisation die Gruppe konfigurieren und angeben, welchen Repositorys der Zugriff gestattet wird.
  • Runner auf Organisationsebene: Konfiguriere die Runnergruppe, indem du angibst, welchen Repositorys der Zugriff gestattet wird.

Das folgende Diagramm zeigt beispielsweise eine Runnergruppe namens grp-ubuntu-20.04-16core auf Unternehmensebene. Bevor das Repository namens octo-repo die Runner in der Gruppe verwenden kann, musst du die Gruppe zuerst auf Unternehmensebene konfigurieren, um den Zugriff aus der Organisation octo-org zu ermöglichen. Anschließend musst du die Gruppe auf Organisationsebene konfigurieren, um den Zugriff aus octo-repo zu erlauben:

Diagramm zur Erläuterung von Gruppen mit größerer Runnern

Gewähren des Zugriffs auf eine Runnergruppe für Repositorys

In diesem Verfahren wird veranschaulicht, wie du Gruppenberechtigungen auf Unternehmens- und Organisationsebene konfigurierst:

  1. Navigiere zur Hauptseite des Repositorys oder der Organisation, in dem bzw. der sich deine Runnergruppen befinden.
  2. Klicke auf Einstellungen.
  3. Klicke auf der linken Randleiste auf Aktionen, und klicke dann auf Runner-Gruppen. 1. Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
  • Für Runnergruppen in einem Unternehmen: Ändere unter Organisationszugriff die Organisationen, die auf die Runnergruppe zugreifen können.
  • Für Runnergruppen in einer Organisation: Ändere unter Repositoryzugriff die Repositorys, die auf die Runnergruppe zugreifen können.

Warnung:

If you are using a Fixed IP range, we recommend that you only use größerer Runners with private repositories. Forks of your repository can potentially run dangerous code on your größerer Runner by creating a pull request that executes the code in a workflow.

Weitere Informationen findest du unter Steuern des Zugriffs auf größerer Runner.