Hinweis: GitHub-gehostete Runner werden auf GitHub Enterprise Server derzeit nicht unterstützt. Weitere Informationen zur geplanten zukünftigen Unterstützung findest Du in der GitHub public roadmap.
Informationen zu Runnergruppen
Um den Zugriff auf Runner auf der Organisationsebene und/oder Unternehmensebene zu steuern, können Unternehmens- und Organisationsbesitzer*innen Runnergruppen verwenden. Runnergruppen werden zum Sammeln von Runnersets und zum Erstellen einer Sicherheitsgrenze um diese verwendet.
Wenn du Zugriff auf eine Runnergruppe gewährst, kannst du die aufgelistete Runnergruppe in den Runnereinstellungen der Organisation anzeigen. Optional kannst du der Runnergruppe weitere präzise Zugriffsrichtlinien für Repositorys und Workflows zuweisen.
Neu erstellte Runner werden automatisch der Standardgruppe zugewiesen, sofern nichts anderes angegeben ist. Runner können immer nur Mitglied einer Gruppe sein. Du kannst Runner von einer Runnergruppe in eine andere verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.
Informationen zum Weiterleiten von Aufträgen an Runner in einer bestimmten Gruppe findest du unter Auswählen des Runners für einen Auftrag.
Erstellen einer selbstgehosteten Runnergruppe für eine Organisation
Warnung: Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.
Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Hinweis: Beim Erstellen einer Runnerrgruppe müssen Sie eine Richtlinie auswählen, die definiert, welche Repositorys und Workflows Zugriff auf die Runnergruppe erhalten. Um zu ändern, welche Repositorys und Workflows auf die Runnergruppe zugreifen können, können Organisationsbesitzer*innen eine Richtlinie für die Organisation festlegen. Weitere Informationen findest du unter Erzwingen von Richtlinien für GitHub Actions in deinem Unternehmen.
Alle Organisationen verfügen über eine einzige Standardrunnergruppe. Organisationsbesitzer*innen können zusätzliche Gruppen auf Organisationsebene erstellen.
Wenn während des Registrierungsprozesses keine Gruppe angegeben wird, werden Runner automatisch zur Standardgruppe hinzugefügt. Du kannst den Runner später aus der Standardgruppe in eine beliebige Gruppe verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.
Weitere Informationen zum Erstellen einer Runnergruppe mit der REST-API findest du unter REST-API-Endpunkte für GitHub Actions.
-
Navigiere auf Ihre GitHub Enterprise Server-Instance zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
-
Klicke im Abschnitt „Runnergruppen“ auf Neue Runnergruppe.
-
Gib einen Namen für die Runnergruppe ein.
-
Weise eine Richtlinie für den Repositoryzugriff zu.
Sie können eine Runner-Gruppe so konfigurieren, dass sie für eine bestimmte Liste von Repositorys oder für alle Repositorys in der Organisation zugänglich ist. Standardmäßig können nur private Repositorys auf Runner in einer Runner-Gruppe zugreifen, aber Sie können dies außer Kraft setzen. Diese Einstellung kann nicht überschrieben werden, wenn Sie die von einem Unternehmen freigegebene Runnergruppe einer Organisation konfigurieren.
-
Weise eine Richtlinie für den Workflow-Zugriff zu.
Du kannst eine Runner-Gruppe so konfigurieren, dass auf eine bestimmte Liste von Workflows oder auf alle Workflows zugegriffen werden kann. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runner-Gruppe einer Organisation konfigurierst. Wenn du angibst, welcher Workflow auf die Runner-Gruppe zugreifen kann, musst du den vollständigen Pfad zum Workflow verwenden, einschließlich des Repository-Namens und des Besitzers, und du musst den Workflow an eine Verzweigung, ein Tag oder einen vollständigen SHA anheften. Beispiel:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
.Zugriff auf die Runner-Gruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind. Runnergruppen im Besitz einer Organisation haben keinen Zugriff auf Workflows einer anderen Organisation innerhalb des Unternehmens. Erstelle stattdessen eine Runnergruppe im Besitz des Unternehmens. 1. Klicke auf Gruppe erstellen, um die Gruppe zu erstellen und die Richtlinie anzuwenden.
Erstellen einer selbstgehosteten Runnergruppe für ein Unternehmen
Warnung: Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.
Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Unternehmen können ihre Runner für die Zugriffsverwaltung zu Gruppen hinzufügen. Unternehmen können Gruppen mit Runnern erstellen, auf die bestimmte Organisationen innerhalb des Unternehmenskontos oder bestimmte Workflows zugreifen können. Organisationsbesitzer können anschließend den Runnergruppen im Unternehmen weitere präzise Zugriffsrichtlinien für Repositorys oder Workflows zuweisen. Weitere Informationen zum Erstellen einer Runnergruppe mit der REST-API findest du unter den Enterprise-Endpunkten in der GitHub Actions-REST-API.
Wenn während des Registrierungsprozesses keine Gruppe angegeben wird, werden Runner automatisch einer Standardgruppe hinzugefügt. Du kannst den Runner später aus der Standardgruppe in eine beliebige Gruppe verschieben. Weitere Informationen findest du unter Verschieben eines Runners in eine Gruppe.
Beim Erstellen einer Gruppe musst du eine Richtlinie auswählen, die definiert, welche Organisationen Zugriff auf die Runnergruppe erhalten.
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runnergruppen.
-
Klicke auf Neue Runner-Gruppe.
-
Gib unter „Gruppenname" einen Namen für deine Runner-Gruppe ein.
-
Wenn du eine Richtlinie für den Organisationszugriff auswählen möchtest, wähle das Dropdownmenü Organisationszugriff aus, und klicke auf eine Richtlinie. Du kannst eine Runnergruppe so konfigurieren, dass nur eine bestimmte Liste von Organisationen oder alle Organisationen im Unternehmen darauf zugreifen können. Standardmäßig können nur private Repositorys auf Runner in einer Runnergruppe zugreifen. Diese Einstellung kannst du bei Bedarf überschreiben.
-
Weise eine Richtlinie für den Workflow-Zugriff zu.
Du kannst eine Runner-Gruppe so konfigurieren, dass auf eine bestimmte Liste von Workflows oder auf alle Workflows zugegriffen werden kann. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runner-Gruppe einer Organisation konfigurierst. Wenn du angibst, welcher Workflow auf die Runner-Gruppe zugreifen kann, musst du den vollständigen Pfad zum Workflow verwenden, einschließlich des Repository-Namens und des Besitzers, und du musst den Workflow an eine Verzweigung, ein Tag oder einen vollständigen SHA anheften. Beispiel:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
.Zugriff auf die Runner-Gruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.
-
Klicke auf Gruppe speichern, um die Gruppe zu erstellen und die Richtlinie anzuwenden.
Ändern der Organisationen, die auf eine Runnergruppe zugreifen können
Warnung: Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.
Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Sie können für Runnergruppen in einem Unternehmen ändern, welche Organisationen im Unternehmen auf eine Runnergruppe zugreifen können.
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runnergruppen.
-
Verwende unter „Organisationszugriff“ das Dropdownmenü, um auf Ausgewählte Organisationen zu klicken.
- Klicke rechts neben dem Dropdownmenü auf .
- Wähle mit den Kontrollkästchen im Popup Organisationen aus, die diese Runnergruppe verwenden können.
-
Klicke auf Gruppe speichern.
Ändern der Repositorys, die auf eine Runnergruppe zugreifen können
Warnung: Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.
Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Sie können für Runnergruppen in einer Organisation ändern, welche Repositorys in der Organisation auf eine Runnergruppe zugreifen können.
-
Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
-
Klicke auf -Einstellungen.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
-
Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
-
Verwende unter „Repositoryzugriff“ das Dropdownmenü, um auf Ausgewählte Repositories zu klicken.
- Klicke rechts neben dem Dropdownmenü auf .
- Wähle mit den Kontrollkästchen im Popup die Repositorys aus, die auf diese Runnergruppe zugreifen können.
-
Klicke auf Gruppe speichern.
Ändern der Workflows, die auf eine Runnergruppe zugreifen können
Warnung: Es wird empfohlen, nur selbstgehostete Runner mit privaten Repositorys zu verwenden. Der Grund hierfür liegt darin, dass Forks deines öffentlichen Repositorys möglicherweise gefährlichen Code auf deinem selbstgehosteten Runnercomputer ausführen können, indem sie einen Pull Request erstellen, der den Code in einem Workflow ausführt.
Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern.
Du kannst eine Runnergruppe so konfigurieren, dass sie entweder ausgewählte Workflows oder alle Workflows ausführt. Mit dieser Einstellung kannst du z. B. die in einem Runner gespeicherten Geheimnisse schützen oder Bereitstellungsworkflows standardisieren, indem du eine Runnergruppe auf die Ausführung eines bestimmten wiederverwendbaren Workflows beschränkst. Diese Einstellung kann nicht überschrieben werden, wenn du die von einem Unternehmen freigegebene Runnergruppe einer Organisation konfigurierst.
- Ändern der Workflows, die auf die Runnergruppe einer Organisation zugreifen können
- Ändern der Workflows, die auf die Runnergruppe eines Unternehmens zugreifen können
Ändern der Workflows, die auf die Runnergruppe einer Organisation zugreifen können
-
Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
-
Klicke auf -Einstellungen.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
-
Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
-
Wähle unter Workflowzugriff das Dropdownmenü aus, und klicke auf Ausgewählte Workflows.
-
Klicke auf .
-
Gib eine durch Kommas getrennte Liste der Workflows ein, die Zugriff auf die Runnergruppe erhalten. Verwende den vollständigen Pfad, einschließlich Name und Besitzer des Repositorys. Hefte den Workflow an einen Branch, Tag oder vollständigen SHA-Wert an. Beispiel:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
.Zugriff auf die Runnergruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.
Runnergruppen im Besitz einer Organisation können nicht auf Workflows einer anderen Organisation im Unternehmen zugreifen. Erstelle stattdessen eine Runnergruppe in Enterprise-Besitz.
-
Klicke auf Speichern.
Ändern der Workflows, die auf die Runnergruppe eines Unternehmens zugreifen können
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runnergruppen.
-
Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
-
Wähle unter Workflowzugriff das Dropdownmenü aus, und klicke auf Ausgewählte Workflows.
-
Klicke auf .
-
Gib eine durch Kommas getrennte Liste der Workflows ein, die Zugriff auf die Runnergruppe erhalten. Verwende den vollständigen Pfad, einschließlich Name und Besitzer des Repositorys. Hefte den Workflow an einen Branch, Tag oder vollständigen SHA-Wert an. Beispiel:
octo-org/octo-repo/.github/workflows/build.yml@v2, octo-org/octo-repo/.github/workflows/deploy.yml@d6dc6c96df4f32fa27b039f2084f576ed2c5c2a5, monalisa/octo-test/.github/workflows/test.yml@main
.Zugriff auf die Runnergruppe erhalten nur Aufträge, die direkt innerhalb der ausgewählten Workflows definiert sind.
Runnergruppen im Besitz einer Organisation können nicht auf Workflows einer anderen Organisation im Unternehmen zugreifen. Erstelle stattdessen eine Runnergruppe in Enterprise-Besitz.
-
Klicke auf Speichern.
Ändern des Namens einer Runnergruppe
Du kannst den Namen deiner Runnergruppen auf Unternehmens- und Organisationsebene bearbeiten.
- Ändern des Namens der Runnergruppe einer Organisation
- Ändern des Namens der Runnergruppe eines Unternehmens
Ändern des Namens der Runnergruppe einer Organisation
-
Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
-
Klicke auf -Einstellungen.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
-
Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
-
Gib den Namen der neuen Runnergruppe in das Textfeld unter „Gruppenname“ ein.
-
Klicke auf Speichern.
Ändern des Namens der Runnergruppe eines Unternehmens
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runnergruppen.
-
Klicke in der Liste der Gruppen auf die Runnergruppe, die du konfigurieren möchtest.
-
Gib den Namen der neuen Runnergruppe in das Textfeld unter „Gruppenname“ ein.
-
Klicke auf Speichern.
Automatisches Hinzufügen eines selbstgehosteten Runners zu einer Gruppe
Mithilfe des Konfigurationsskripts kannst du einen neuen Runner automatisch einer Gruppe hinzufügen. Mit diesem Befehl wird z. B. ein neuer Runner registriert und mithilfe des Parameters --runnergroup
einer Gruppe mit dem Namen rg-runnergroup
hinzugefügt.
./config.sh --url $org_or_enterprise_url --token $token --runnergroup rg-runnergroup
Der Befehl kann nicht ausgeführt werden, wenn die Runnergruppe nicht vorhanden ist:
Could not find any self-hosted runner group named "rg-runnergroup".
Verschieben eines selbstgehosteten Runners in eine Gruppe
Wenn du bei der Registrierung keine Runnergruppe angibst, werden deine neuen Runner automatisch der Standardgruppe zugewiesen und können dann in eine andere Gruppe verschoben werden.
- Verschieben eines Organisationsrunners in eine Gruppe
- Verschieben eines Unternehmensrunners in eine Gruppe
Verschieben eines Organisationsrunners in eine Gruppe
-
Navigiere auf Ihre GitHub Enterprise Server-Instance zur Hauptseite der Organisation.
-
Klicke unter deinem Organisationsnamen auf die Option Einstellungen. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.
-
Klicke in der linken Seitenleiste auf Aktionen und dann auf Runner.
-
Klicke in der Liste „Runner“ auf den Runner, den du konfigurieren möchtest.
-
Wähle die Dropdownliste Runnergruppe aus.
-
Wähle unter „Runner in Gruppe verschieben“ eine Zielgruppe für den Runner aus.
Verschieben eines Unternehmensrunners in eine Gruppe
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runner.
-
Klicke in der Liste „Runner“ auf den Runner, den du konfigurieren möchtest.
-
Wähle die Dropdownliste Runnergruppe aus.
-
Wähle unter „Runner in Gruppe verschieben“ eine Zielgruppe für den Runner aus.
Entfernen einer selbstgehosteten Runnergruppe
Um eine Runnergruppe zu entfernen, musst du zuerst alle Runner aus der Gruppe verschieben oder entfernen.
- Entfernen einer Runnergruppe aus einer Organisation
- Entfernen einer Runnergruppe aus einem Unternehmen
Entfernen einer Runnergruppe aus einer Organisation
-
Navigiere zur Hauptseite der Organisation, in der sich deine Runnergruppen befinden.
-
Klicke auf -Einstellungen.
-
Klicke in der linken Randleiste auf Aktionen, und klicke dann auf Runnergruppen.
-
Klicke in der Liste der Gruppen rechts neben der Gruppe, die du löschen möchtest, auf .
-
Klicke auf Gruppe entfernen, um die Gruppe zu entfernen.
-
Überprüfe die Bestätigungsaufforderungen, und klicke auf Diese Runnergruppe entfernen.
Entfernen einer Runnergruppe aus einem Unternehmen
-
Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.
-
Wähle auf der Randleiste des Unternehmenskontos die Option Richtlinien aus.
-
Klicke unter „ Richtlinien“ auf Actions.
-
Klicke auf die Registerkarte Runnergruppen.
-
Klicke in der Liste der Gruppen rechts neben der Gruppe, die du löschen möchtest, auf .
-
Klicke auf Gruppe entfernen, um die Gruppe zu entfernen.
-
Überprüfe die Bestätigungsaufforderungen, und klicke auf Diese Runnergruppe entfernen.
Verwenden eindeutiger Namen für Runnergruppen
GitHub Actions setzt voraus, dass Runnergruppennamen auf Organisationsebene eindeutig sein müssen. Das bedeutet, dass eine Organisation nicht mehr in der Lage ist, eine Runnergruppe mit demselben Namen wie eine im Unternehmen zu erstellen. Darüber hinaus wird Benutzern ein Warnbanner für alle Runnergruppen angezeigt, die denselben Namen wie eine Gruppe im Unternehmen haben. Die Warnung enthält die Aufforderung, die Organisationsgruppe umzubenennen.
Um Mehrdeutigkeiten zu vermeiden, schlägt ein Workflow fehl, wenn doppelte Runnergruppen in der Organisation und im Unternehmen vorhanden sind. Um dies zu beheben, kannst du entweder eine deiner Runnergruppen in der Organisation oder im Unternehmen umbenennen oder deine Workflowdatei aktualisieren, um dem Namen der Runnergruppe ein Präfix hinzuzufügen:
org/
oderorganization/
ent/
oderenterprise/
Beispiel: Verwenden von Präfixen zum Unterscheiden von Runnergruppen
Wenn du beispielsweise eine Runnergruppe mit dem Namen my-group
in der Organisation und eine andere Gruppe mit dem Namen my-group
im Unternehmen hast, kannst du deine Workflowdatei aktualisieren, sodass org/my-group
oder ent/my-group
verwendet wird, um zwischen den beiden Gruppen zu unterscheiden.
Verwenden von org/
:
runs-on:
group: org/my-group
labels: [ self-hosted, label-1 ]
Verwenden von ent/
:
runs-on:
group: ent/my-group
labels: [ self-hosted, label-1 ]