{"meta":{"title":"Erstellen einer Drittanbieter-CLI-Aktion","intro":"Erfahren Sie, wie Sie eine Aktion entwickeln, um eine CLI für GitHub Actions-Runner einzurichten.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/how-tos","title":"Anleitungen"},{"href":"/de/actions/how-tos/create-and-publish-actions","title":"Erstellen und Veröffentlichen von Aktionen"},{"href":"/de/actions/how-tos/create-and-publish-actions/create-a-cli-action","title":"Erstellen einer CLI-Aktion"}],"documentType":"article"},"body":"# Erstellen einer Drittanbieter-CLI-Aktion\n\nErfahren Sie, wie Sie eine Aktion entwickeln, um eine CLI für GitHub Actions-Runner einzurichten.\n\n## Einführung\n\nSie können eine Aktion schreiben, um Benutzern den Zugriff auf Ihre Server über eine auf GitHub Actions Runnern konfigurierte CLI-Umgebung zu ermöglichen.\n\nDeine Aktion sollte folgende Vorgaben erfüllen:\n\n* Sie sollte Benutzer\\*innen die einfache Angabe der zu installierenden CLI-Version ermöglichen.\n* Sie sollte mehrere Betriebssysteme unterstützen.\n* Sie sollte effizient ausgeführt werden, um Laufzeiten und zugehörige Kosten zu minimieren.\n* Arbeiten Sie mit von GitHub-gehosteten und selbstgehosteten Runnern\n* Community-Tools nach Möglichkeit nutzen.\n\nIn diesem Artikel wird veranschaulicht, wie eine Aktion geschrieben wird, die eine bestimmte Version deiner CLI abruft, installiert, dem Pfad hinzufügt und (optional) zwischenspeichert. Diese Art von Aktion (eine Aktion zum Einrichten eines Tools) wird häufig mit `setup-$TOOL` benannt.\n\n## Voraussetzungen\n\nDu solltest wissen, wie eine benutzerdefinierte Aktion geschrieben wird. Weitere Informationen finden Sie unter [Verwalten benutzerdefinierter Aktionen](/de/actions/how-tos/create-and-publish-actions/manage-custom-actions).\n\n## Beispiel\n\nDas folgende Skript veranschaulicht, wie du eine vom Benutzer angegebene Version als Eingabe abfragst, die entsprechende Version deiner CLI herunterlädst und extrahierst und die CLI dann dem Pfad hinzufügst.\n\nGitHub stellt [`actions/toolkit`](https://github.com/actions/toolkit)eine Reihe von Paketen bereit, mit denen Sie Aktionen erstellen können. In diesem Beispiel werden die Pakete [`actions/core`](https://github.com/actions/toolkit/tree/main/packages/core) und [`actions/tool-cache`](https://github.com/actions/toolkit/tree/main/packages/tool-cache) verwendet.\n\n```javascript copy\nconst core = require('@actions/core');\nconst tc = require('@actions/tool-cache');\n\nasync function setup() {\n  // Get version of tool to be installed\n  const version = core.getInput('version');\n\n  // Download the specific version of the tool, e.g. as a tarball\n  const pathToTarball = await tc.downloadTool(getDownloadURL());\n\n  // Extract the tarball onto the runner\n  const pathToCLI = await tc.extractTar(pathToTarball);\n\n  // Expose the tool by adding it to the PATH\n  core.addPath(pathToCLI)\n}\n\nmodule.exports = setup\n```\n\nUm dieses Skript zu verwenden, ersetze `getDownloadURL` durch eine Funktion, die deine CLI herunterlädt. Du musst auch eine Metadatendatei für Aktionen erstellen (`action.yml`), die eine `version`-Eingabe akzeptiert und dieses Skript ausführt. Ausführliche Informationen zum Erstellen einer Aktion findest du unter [Creating a JavaScript action (Erstellen einer JavaScript-Aktion)](/de/actions/tutorials/create-actions/create-a-javascript-action).\n\n## Weiterführende Lektüre\n\nDieses Muster wird in mehreren Aktionen verwendet. Weitere Beispiele findest du hier:\n\n* [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby)\n* [`google-github-actions/setup-gcloud`](https://github.com/google-github-actions/setup-gcloud)\n* [`hashicorp/setup-terraform`](https://github.com/hashicorp/setup-terraform)"}