Skip to main content

Informationen zu benutzerdefinierten Aktionen

Aktionen sind einzelne Aufgaben, die du kombinieren kannst, um Aufträge zu erstellen und deinen Workflow anzupassen. Du kannst eigene Aktionen erstellen oder Aktionen verwenden und anpassen, die von der GitHub-Community geteilt wurden.

Informationen zu benutzerdefinierten Aktionen

Zum Erstellen von Aktionen kannst du benutzerdefinierten Code schreiben, der mit deinem Repository auf die gewünschte Weise interagiert und sich dabei beispielsweise in die APIs von GitHub und in öffentlich zugängliche Drittanbieter-APIs integriert. Beispielsweise kann eine Aktion npm-Module veröffentlichen, SMS-Warnungen senden, wenn dringende Probleme erstellt werden, oder produktionsbereiten Code bereitstellen.

Du kannst eigene Aktionen zur Verwendung in deinem Workflow schreiben oder die von dir erstellten Aktionen mit der GitHub-Community teilen. Damit du die von dir erstellten Aktionen mit anderen teilen kannst, muss dein Repository öffentlich sein. Wenn du Aktionen nur innerhalb deines Unternehmens freigeben möchtest, muss dein Repository als intern gekennzeichnet sein.

Aktionen können direkt auf einem Computer oder in einem Docker-Container laufen. Du kannst für eine Aktion die Eingabe, die Ausgabe und die Umgebungsvariablen definieren.

Arten von Aktionen

Hinweis

You can build Docker container, JavaScript, and composite actions. Actions require a metadata file to define the inputs, outputs, and runs configuration for your action. Action metadata files use YAML syntax, and the metadata filename must be either action.yml or action.yaml. The preferred format is action.yml.

typeLinuxmacOSWindows
Docker-Container
JavaScript
Zusammengesetzte Aktionen

Docker-Containeraktionen

Docker-Container packen die Umgebung mit dem GitHub Actions-Code. So entsteht eine konsistentere, zuverlässigere Arbeitseinheit, da der Aktionsbenutzer sich nicht um Tools oder Abhängigkeiten kümmern muss.

Mit einem Docker-Container kannst du bestimmte Versionen eines Betriebssystems sowie bestimmte Abhängigkeiten, Tools und Code verwenden. Bei Aktionen, die in einer bestimmten Umgebungs-Konfiguration laufen müssen, ist Docker eine ideale Option, da du das Betriebssystem und die Tools anpassen kannst. Wegen der Latenz für das Erstellen und Abrufen des Containers sind Docker-Container-Aktionen langsamer als JavaScript-Aktionen.

Docker Container-Aktionen können nur auf Runnern mit einem Linux-Betriebssystem ausgeführt werden. Selbst gehostete Läufer müssen ein Linux-Betriebssystem verwenden und Docker installiert haben, um Docker Containeraktionen auszuführen. Weitere Informationen zu den Anforderungen selbstgehosteter Runner findest du unter Selbstgehostete Runner.

JavaScript-Aktionen

JavaScript-Aktionen können direkt auf einem Runner-Rechner laufen und den Aktions-Code von der Umgebung trennen, in der der Code läuft. Eine JavaScript-Aktion enthält einfacheren Aktionscode und läuft schneller als eine Docker-Container-Aktion.

Um sicherzustellen, dass deine JavaScript-Aktionen mit allen GitHub-gehosteten Runnern (Ubuntu, Windows und macOS) kompatibel sind, sollte der von dir geschriebene paketierte JavaScript-Code reines JavaScript sein und nicht von anderen Binärdateien abhängig sein. JavaScript-Aktionen werden direkt auf dem Runner ausgeführt und verwenden Binärdateien, die bereits im Runner-Image vorhanden sind.

Wenn du ein Node.js Projekt entwickelst, bietet das GitHub Actions Toolkit Pakete, die du in deinem Projekt verwenden kannst, um die Entwicklung zu beschleunigen. Weitere Informationen findest du im Repository für Aktionen/Toolkits.

Zusammengesetzte Aktionen

Mit einer zusammengesetzten Aktion kannst du mehrere Workflowschritte in einer Aktion kombinieren. Du kannst diese Funktion zum Beispiel nutzen, um mehrere Ausführungsbefehle in einer Aktion zu bündeln und dann einen Workflow einzurichten, der die gebündelten Befehle in einem einzigen Schritt mit dieser Aktion ausführt. Ein Beispiel findest du unter Erstellen einer zusammengesetzten Aktion.

Nächste Schritte

Informationen zum Verwalten deiner benutzerdefinierten Aktionen findest du unter Verwalten benutzerdefinierter Aktionen.