Skip to main content

Erstellen einer Drittanbieter-CLI-Aktion

Erfahren Sie, wie Sie eine Aktion entwickeln, um eine CLI für GitHub Actions Läufer einzurichten.

Einführung

Sie können eine Aktion schreiben, um Benutzern den Zugriff auf Ihre Server über eine auf GitHub Actions Runnern konfigurierte CLI-Umgebung zu ermöglichen.

Deine Aktion sollte folgende Vorgaben erfüllen:

  • Sie sollte Benutzer*innen die einfache Angabe der zu installierenden CLI-Version ermöglichen.
  • Sie sollte mehrere Betriebssysteme unterstützen.
  • Sie sollte effizient ausgeführt werden, um Laufzeiten und zugehörige Kosten zu minimieren.
  • Arbeiten Sie mit von GitHub gehosteten und selbstgehosteten Runnern
  • Community-Tools nach Möglichkeit nutzen.

In 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.

Voraussetzungen

Du solltest wissen, wie eine benutzerdefinierte Aktion geschrieben wird. Weitere Informationen finden Sie unter Verwalten benutzerdefinierter Aktionen.

Beispiel

Das 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.

GitHub stellt actions/toolkiteine Reihe von Paketen bereit, mit denen Sie Aktionen erstellen können. In diesem Beispiel werden die Pakete actions/core und actions/tool-cache verwendet.

JavaScript
const core = require('@actions/core');
const tc = require('@actions/tool-cache');

async function setup() {
  // Get version of tool to be installed
  const version = core.getInput('version');

  // Download the specific version of the tool, e.g. as a tarball
  const pathToTarball = await tc.downloadTool(getDownloadURL());

  // Extract the tarball onto the runner
  const pathToCLI = await tc.extractTar(pathToTarball);

  // Expose the tool by adding it to the PATH
  core.addPath(pathToCLI)
}

module.exports = setup

Um 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).

Weiterführende Lektüre

Dieses Muster wird in mehreren Aktionen verwendet. Weitere Beispiele findest du hier: