Skip to main content
Wir veröffentlichen regelmäßig Aktualisierungen unserer Dokumentation, und die Übersetzung dieser Seite ist möglicherweise noch nicht abgeschlossen. Aktuelle Informationen findest du in der englischsprachigen Dokumentation.

Auswählen des Runners für einen Auftrag

Lege den Computertyp fest, der einen Auftrag in deinem Workflow verarbeiten soll.

Übersicht

Verwende jobs.<job_id>.runs-on zum Definieren des Computertyps, auf dem der Auftrag ausgeführt werden soll.

: Der Zielcomputer kann ein auf GitHub gehosteter Runner, ein größerer Runner oder ein selbstgehosteter Runner sein. : Du kannst Runner basierend auf den ihnen zugewiesenen Bezeichnungen oder ihrer Gruppenmitgliedschaft oder einer Kombination aus diesen als Ziel festlegen.

  • Du kannst runs-on als einzelne Zeichenfolge oder als Array von Zeichenfolgen bereitstellen.
  • Wenn du ein Array von Zeichenfolgen angibst, wird dein Workflow auf jedem Runner ausgeführt, der allen angegebenen runs-on-Werten entspricht.
  • Wenn du deinen Workflow auf mehreren Computern ausführen möchtest, verwende jobs.<job_id>.strategy.

Auswählen von GitHub-gehosteten Runnern

Wenn du einen GitHub-gehosteten Runner verwendest, läuft jeder Job in einer neuen Instanz eines von runs-on angegebenen Runner-Images.

Verfügbare Arten von GitHub-gehostete Runnern sind:

Runner-Image YAML-Workflow-Kennzeichnung Hinweise
Windows Server 2022 windows-latest oder windows-2022 Die windows-latest-Bezeichnung verwendet derzeit das Windows Server 2022-Runner-Image.
Windows Server 2019 windows-2019
Ubuntu 22.04 ubuntu-latest oder ubuntu-22.04 Die ubuntu-latest-Bezeichnung verwendet derzeit das Ubuntu 22.04-Runner-Image.
Ubuntu 20.04 ubuntu-20.04
Ubuntu 18.04 [veraltet] ubuntu-18.04 Migriere zu ubuntu-20.04 oder ubuntu-22.04. Weitere Informationen findest du in diesem Blogbeitrag auf GitHub.
macOS Monterey 12 macos-latest, macos-12, macos-latest-xl oder macos-12-xl Die Workflowbezeichnungen macos-latest und macos-latest-xl verwenden derzeit das macOS 12-Runnerimage.
macOS Big Sur 11 macos-11
macOS Catalina 10.15 [veraltet] macos-10.15 Migriere zu macOS-11 oder macOS-12. Weitere Informationen findest du in diesem Blogbeitrag auf GitHub.

Hinweis: Die -latest-Runner-Images sind die neuesten stabilen Images, die GitHub bereitstellt, und entsprechen möglicherweise nicht der neuesten Version des Betriebssystems, die beim Betriebssystemanbieter erhältlich ist.

Warnung: Beta- und veraltete Images werden „wie gesehen“, „mit allen Mängeln“ und „wie verfügbar“ bereitgestellt und sind von der Vereinbarung zum Servicelevel und der Garantie ausgeschlossen. Beta-Images werden möglicherweise nicht vom Kundendienst abgedeckt.

Beispiel: Angeben eines Betriebssystems

runs-on: ubuntu-latest

Weitere Informationen finden Sie unter Informationen zu von GitHub gehostete Runnern.

Auswählen von selbstgehosteten Runnern

Um einen selbstgehosteten Runner für deinen Auftrag anzugeben, konfiguriere runs-on in deiner Workflowdatei mit Bezeichnungen selbstgehosteter Runner.

Alle selbstgehosteten Runner weisen die Bezeichnung self-hosted auf. Wenn du nur diese Bezeichnung verwendest, werden dadurch alle selbstgehosteten Runner ausgewählt. Um Runner auszuwählen, die bestimmte Kriterien erfüllen, z. B. im Hinblick auf Betriebssystem oder Architektur, empfehlen wir die Angabe eines Arrays von Bezeichnungen, das mit self-hosted beginnt (diese Bezeichnung muss als Erstes aufgeführt werden) und dann nach Bedarf weitere Bezeichnungen einschließt. Wenn du ein Array von Bezeichnungen angibst, werden Aufträge in die Warteschlange von Runnern eingereiht, die alle von dir angegebenen Bezeichnungen aufweisen.

Die Bezeichnung self-hosted ist zwar nicht erforderlich, wird aber bei Verwendung selbstgehosteter Runner dringend empfohlen. So wird sichergestellt, dass in deinem Auftrag nicht versehentlich aktuelle oder zukünftige von GitHub gehostete Runner angegeben werden.

Beispiel: Verwenden von Bezeichnungen für die Auswahl von Runnern

runs-on: [self-hosted, linux]

Weitere Informationen findest du unter Informationen zu selbstgehosteten Runnern und unter Verwenden selbstgehosteten Runnern in einem Workflow.

Auswählen von Runnern in einer Gruppe

Du kannst runs-on verwenden, um Runnergruppen als Ziel zu verwenden, sodass der Auftrag auf jedem Runner ausgeführt wird, der Mitglied dieser Gruppe ist. Für eine präzisere Steuerung kannst du auch Runnergruppen mit Bezeichnungen kombinieren.

Runnergruppen können nur größerer Runner oder selbstgehostete Runner als Mitglieder haben.

Beispiel: Verwenden von Gruppen zum Steuern, wo Aufträge ausgeführt werden

In diesem Beispiel wurden Ubuntu-Runner zu einer Gruppe namens ubuntu-runners hinzugefügt. Der runs-on-Schlüssel sendet den Auftrag an einen beliebigen verfügbaren Runner in der Gruppe ubuntu-runners:

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

Beispiel: Kombinieren von Gruppen und Bezeichnungen

Wenn du Gruppen und Bezeichnungen kombinierst, muss der Runner beide Anforderungen erfüllen, um zum Ausführen des Auftrags berechtigt zu sein.

In diesem Beispiel wird eine Runnergruppe namens ubuntu-runners mit Ubuntu-Runnern aufgefüllt, denen zudem die Bezeichnung ubuntu-20.04-16core zugewiesen wurde. Der runs-on-Schlüssel kombiniert group und labels, sodass der Auftrag an einen beliebigen verfügbaren Runner innerhalb der Gruppe weitergeleitet wird, der auch eine übereinstimmende Bezeichnung aufweist:

name: learn-github-actions
on: [push]
jobs:
  check-bats-version:
    runs-on:
      group: ubuntu-runners
      labels: 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