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.
Übersicht
Verwende jobs.<job_id>.runs-on
zum Definieren des Computertyps, auf dem der Auftrag ausgeführt werden soll.
-
Der Zielcomputer kann ein selbstgehosteter Runner sein.
-
Du kannst Runner basierend auf den ihnen zugewiesenen Bezeichnungen als Ziel festlegen.
-
Du kannst
runs-on
als Folgendes angeben:- als einzelne Zeichenfolge
- als einzelne Variable, die eine Zeichenfolge enthält
- als ein Array von Zeichenfolgen, als Variablen, die Zeichenfolgen enthalten, oder als eine Kombination aus diesen beiden Optionen
-
Wenn du ein Array von Zeichenfolgen oder Variablen angibst, wird dein Workflow auf jedem Runner ausgeführt, der allen angegebenen
runs-on
-Werten entspricht. Hier wird der Auftrag beispielsweise nur auf einem selbstgehosteten Runner mit den Bezeichnungenlinux
,x64
undgpu
ausgeführt:runs-on: [self-hosted, linux, x64, gpu]
Weitere Informationen findest du unter Auswählen von selbstgehosteten Runnern.
-
Du kannst Zeichenfolgen und Variablen in einem Array mischen. Beispiel:
on: workflow_dispatch: inputs: chosen-os: required: true type: choice options: - Ubuntu - macOS jobs: test: runs-on: [self-hosted, "${{ github.event.inputs.chosen-os }}"] steps: - run: echo Hello world!
-
Wenn du deinen Workflow auf mehreren Computern ausführen möchtest, verwende
jobs.<job_id>.strategy
.
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.
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
|
Keine |
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
|
Keine |
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. Informationen zum Preis für den macOS XL-Runner (12 Kerne) pro Minute findest du unter Informationen zur Abrechnung für GitHub Actions.
|
macOS Big Sur 11 |
macos-11
|
Keine |
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 findest du 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.