Note: GitHub Actions was available for GitHub Enterprise Server 2.22 as a limited beta. The beta has ended. GitHub Actions is now generally available in GitHub Enterprise Server 3.0 or later. For more information, see the GitHub Enterprise Server 3.0 release notes.
- For more information about upgrading to GitHub Enterprise Server 3.0 or later, see "Upgrading GitHub Enterprise Server."
- For more information about configuring GitHub Actions after you upgrade, see the documentation for GitHub Enterprise Server 3.0.
Note: GitHub-hosted runners are not currently supported on GitHub Enterprise Server. You can see more information about planned future support on the GitHub public roadmap.
Informationen zu GitHub-gehosteten Runnern
Ein GitHub-gehosteter Runner ist eine virtuelle Maschine, die von GitHub gehostet wird und auf der die Runner-Anwendung der GitHub Actions installiert ist. GitHub bietet Runner mit den Betriebssystemen Linux, Windows und MacOS.
Wenn Du einen GitHub-gehosteten Runner verwendest, werden Wartung und Upgrade der Maschine für Dich erledigt. Sie können Workflows direkt auf der virtuellen Maschine oder in einem Docker-Container ausführen.
Du kannst in einem Workflow für jeden Job die Art des Runners festlegen. Jeder Job in einem Workflow wird in einer neuen Instanz der virtuellen Maschine ausgeführt. Alle Schritte des Jobs werden in derselben Instanz der virtuellen Maschine ausgeführt, sodass die Aktionen in diesem Job über das Dateisystem Informationen austauschen können.
Die GitHub Actions Läufer-Anwendung ist Open Source. Du kannst mitwirken und Issues im Läufer Repository einreichen.
Cloud-Hosts für GitHub-gehostete Runner
GitHub betreibt Linux- und Windows-Runner auf den virtuellen Maschinen nach Standard_DS2_v2 in Microsoft Azure, auf denen die Runner-Anwendung der GitHub Actions installiert ist. Die Runner-Anwendung auf GitHub-gehosteten Runnern ist eine Fork-Kopie des Azure-Pipelines-Agenten. Bei Azure werden eingehende ICMP-Pakete werden für alle virtuellen Maschinen blockiert, so dass die Befehle ping und traceroute möglicherweise nicht funktionieren. Weitere Informationen zu den Ressourcen der Standard_DS2_v2-Maschinen findest Du unter „Serien Dv2 und DSv2“ in der Dokumentation zu Microsoft Azure.
GitHub hosts macOS runners in GitHub's own macOS Cloud.
Workflow continuity for GitHub-hosted runners
If GitHub Actions services are temporarily unavailable, then a workflow run is discarded if it has not been queued within 30 minutes of being triggered. For example, if a workflow is triggered and the GitHub Actions services are unavailable for 31 minutes or longer, then the workflow run will not be processed.
In addition, if the workflow run has been successfully queued, but has not been processed by a GitHub-hosted runner within 45 minutes, then the queued workflow run is discarded.
Administrative Rechte von GitHub-gehosteten Runnern
Die virtuellen Maschinen unter Linux und macOS werden beide mit dem passwortlosen Befehl sudo
ausgeführt. Wenn Sie Befehle ausführen oder Tools installieren müssen, die höhere Berechtigungen als der aktuelle Benutzer erfordern, können Sie sudo
verwenden, ohne ein Passwort angeben zu müssen. Weitere Informationen findest Du im „Sudo-Handbuch“.
Die virtuellen Windows-Maschinen sind so konfiguriert, dass sie als Administratoren laufen, wobei die Benutzerkonten-Steuerung (UAC) deaktiviert ist. For more information, see "How User Account Control works" in the Windows documentation.
Unterstützte Runner und Hardwareressourcen
Hardware specification for Windows and Linux virtual machines:
- CPU mit 2 Kernen
- 7 GB RAM-Speicher
- 14 GB SSD-Festplattenspeicher
Hardware specification for macOS virtual machines:
- CPU mit 3 Kernen
- 14 GB RAM-Speicher
- 14 GB SSD-Festplattenspeicher
Virtuelle Umgebung | YAML-Workflow-Kennzeichnung | Hinweise: |
---|---|---|
Windows Server 2022[beta] | windows-2022 |
The windows-latest label currently uses the Windows Server 2019 runner image.
|
Windows Server 2019 | windows-latest oder windows-2019 |
|
Windows Server 2016 | windows-2016 |
|
Ubuntu 20.04 | ubuntu-latest oder ubuntu-20.04 |
|
Ubuntu 18.04 | ubuntu-18.04 |
|
macOS Big Sur 11 | macos-11 |
The macos-latest label currently uses the macOS 10.15 runner image.
|
macOS Catalina 10.15 | macos-latest or macos-10.15 |
Note: Beta Images are provided "as-is", "with all faults" and "as available" and are excluded from the service level agreement and warranty. Beta Images may not be covered by customer support.
Workflow logs list the runner used to run a job. For more information, see "Viewing workflow run history."
Supported software
The software tools included in GitHub-hosted runners are updated weekly. The update process takes several days, and the list of preinstalled software on the main
branch is updated after the whole deployment ends.
Preinstalled software
Workflow logs include a link to the preinstalled tools on the exact runner. To find this information in the workflow log, expand the Set up job
section. Under that section, expand the Virtual Environment
section. The link following Included Software
will describe the preinstalled tools on the runner that ran the workflow. For more information, see "Viewing workflow run history."
For the overall list of included tools for each runner operating system, see the links below:
- Ubuntu 20.04 LTS
- Ubuntu 18.04 LTS
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- macOS 11
- macOS 10.15
GitHub-gehostete Runner enthalten zusätzlich zu den oben aufgeführten Paketen die standardmäßig integrierten Tools des Betriebssystems. Zum Beispiel beinhalten Ubuntu und macOS Läufer grep
, find
, und which
neben anderen Standard-Tools.
Using preinstalled software
We recommend using actions to interact with the software installed on runners. This approach has several benefits:
- Usually, actions provide more flexible functionality like versions selection, ability to pass arguments, and parameters
- It ensures the tool versions used in your workflow will remain the same regardless of software updates
Wenn Sie ein bestimmtes Tool anfordern möchten, öffnen Sie bitte einen Issue unter actions/virtual-environments. This repository also contains announcements about all major software updates on runners.
Installing additional software
You can install additional software on GitHub-hosted runners. For more information, see "Customizing GitHub-hosted runners".
IP addresses
Notiz: Wenn Du eine Liste mit erlaubten IP-Adressen für Dein Organisations- oder Unternehmenskonto auf GitHub verwendest, kannst Du keine GitHub-gehosteten Runner verwenden, sondern benötigst stattdessen selbst-gehostete Runner. Weitere Informationen findest Du unter „Informationen zu selbst-gehosteten Runnern“.
Windows and Ubuntu runners are hosted in Azure and subsequently have the same IP address ranges as the Azure datacenters. macOS runners are hosted in GitHub's own macOS cloud.
To get a list of IP address ranges that GitHub Actions uses for GitHub-hosted runners, you can use the GitHub REST API . For more information, see the actions
key in the response of the "Get GitHub meta information" endpoint. You can use this list of IP addresses if you require an allow-list to prevent unauthorized access to your internal resources.
The list of GitHub Actions IP addresses returned by the API is updated once a week.
File systems
GitHub führt Aktionen und Shell-Befehle in bestimmten Verzeichnissen auf der virtuellen Maschine aus. Die Dateipfade auf virtuellen Maschinen sind nicht statisch. Verwende die von GitHub bereitgestellten Umgebungsvariablen zum Erstellen von Dateipfaden für die Verzeichnisse home
, workspace
und workflow
.
Verzeichnis | Umgebungsvariable | Beschreibung |
---|---|---|
home | HOME | Enthält benutzerbezogene Daten. In diesem Verzeichnis können sich beispielsweise die Anmeldeinformation aus einem Anmeldeversuch befinden. |
workspace | GITHUB_WORKSPACE | Aktionen und Shell-Befehle werden in diesem Verzeichnis ausgeführt. Eine Aktion kann den Inhalt dieses Verzeichnisses ändern, auf den dann nachfolgende Aktionen zugreifen können. |
workflow/event.json | GITHUB_EVENT_PATH | Die POST -Nutzlast des Webhook-Ereignisses, das den Workflow ausgelöst hat. GitHub schreibt dies bei jeder ausgeführten Aktion neu, sodass der Dateiinhalt zwischen den Aktionen isoliert wird. |
Eine Liste der von GitHub für jeden Workflow erstellten Umgebungsvariablen findest Du unter „Umgebungsvariablen verwenden“.
Docker-Container-Dateisystem
Für Aktionen, die in Docker-Containern ausgeführt werden, befinden sich statische Verzeichnisse im Pfad /github
. Wir empfehlen jedoch dringend, die Standard-Umgebungsvariablen zu verwenden, um Dateipfade in Docker-Containern zu erstellen.
In GitHub wird das Pfadpräfix /github
reserviert, und es werden drei Verzeichnisse für Aktionen erstellt.
/github/home
/github/workspace
- Hinweis: GitHub Actions muss vom Standard-Docker-Benutzer (root) ausgeführt werden. Stelle sicher, dass Dein Docker-File die AnweisungUSER
(Benutzer) nicht setzt, anderenfalls wirst Du nicht in der Lage sein, aufGITHUB_WORKSPACE
zuzugreifen./github/workflow