0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lektion

Wiederverwendbare Workflows und Actions

Erstellen und nutzen Sie wiederverwendbare Workflows und benutzerdefinierte Actions, um Ihre Pipelines zu modularisieren und repositoryübergreifend für Konsistenz zu sorgen.

Wiederverwendbare Workflows und Actions ist eine kostenlose CI/CD with GitHub Actions & DevOps Pipelines-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CI/CD with GitHub Actions & DevOps Pipelines-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.

Einführung in die Wiederverwendbarkeit von Workflows

In der modernen Softwareentwicklung sind Effizienz und Konsistenz entscheidend. Mit dem Wachstum Ihrer Projekte steigen auch Ihre Anforderungen an die Automatisierung.

Wiederverwendbare Workflows und benutzerdefinierte Actions in GitHub Actions helfen Ihnen, Wiederholungen zu vermeiden. Dadurch werden Ihre CI/CD-Pipelines wartbarer und robuster.

Warum Workflows wiederverwenden?

Stellen Sie sich vor, mehrere Anwendungen benötigen dieselben Schritte zum Erstellen, Testen oder Deployment. Das Kopieren und Einfügen von Workflow-Code führt zu:

  • Duplizierung: Mehr Code muss gewartet werden.
  • Inkonsistenz: Aktualisierungen in mehreren Workflows werden leicht übersehen.
  • Wartungsproblemen: Änderungen erfordern die Aktualisierung vieler Dateien.

Wiederverwendbarkeit löst diese Probleme!

Wiederverwendbaren Workflow definieren

Ein wiederverwendbarer Workflow ist ein vollständiger Workflow, der von anderen Workflows aufgerufen werden kann. Er wird in Ihrem Repository gespeichert und dient als Vorlage.

Damit ein Workflow wiederverwendbar wird, verwenden Sie das Ereignis workflow_call. Dadurch teilen Sie GitHub Actions mit, dass dieser Workflow aufgerufen und nicht durch typische Ereignisse wie push oder pull_request ausgelöst werden soll.

Beispiel für einen wiederverwendbaren Workflow

Hier ist ein einfacher wiederverwendbarer Workflow, der einen Build simuliert. Speichern Sie ihn unter .github/workflows/reusable-build.yml.

Er definiert eine output namens build_id, die aufrufende Workflows verwenden können.

name: Reusable Build Component

on:
  workflow_call:
    outputs:
      build_id:
        description: "The ID of the build operation"
        value: ${{ jobs.build.outputs.build_id }}

jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      build_id: ${{ steps.generate_id.outputs.id }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Generate build ID
        id: generate_id
        run: echo "id=$(date +%s)" >> "$GITHUB_OUTPUT"
      - name: Simulate build
        run: echo "Building project with ID ${{ steps.generate_id.outputs.id }}..."

Einen wiederverwendbaren Workflow aufrufen

Um einen wiederverwendbaren Workflow zu verwenden, nutzt ein anderer Workflow (der „Aufrufer“) das Schlüsselwort uses, ähnlich wie bei der Verwendung einer GitHub Action.

Sie geben den Pfad zur Datei des wiederverwendbaren Workflows in Ihrem Repository an oder verweisen sogar auf einen anderen Repository oder eine bestimmte Version.

Beispiel für einen aufrufenden Workflow

Dieser unter .github/workflows/main-app-ci.yml gespeicherte Workflow ruft unseren Workflow reusable-build.yml auf.

Beachten Sie, wie er über jobs.call-build.outputs.build_id auf das build_id-Output des aufgerufenen Workflows zugreift.

name: Main App CI

on: [push]

jobs:
  call-build:
    uses: ./.github/workflows/reusable-build.yml
    outputs:
      build_id: ${{ jobs.call-build.outputs.build_id }}
  
  deploy:
    needs: call-build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy app
        run: echo "Deploying app built with ID ${{ needs.call-build.outputs.build_id }}"

Eingaben an wiederverwendbare Workflows übergeben

Wiederverwendbare Workflows sind nicht nur statische Vorlagen, sondern können Eingaben akzeptieren und sind dadurch äußerst flexibel.

Sie definieren die erwarteten Eingaben im Abschnitt on: workflow_call: inputs: des wiederverwendbaren Workflows und legen dabei deren Typ, die erforderliche Angabe sowie eine Beschreibung fest. Der aufrufende Workflow übergibt diese Eingaben mit dem Schlüsselwort with:.

Wiederverwendbarer Workflow mit Eingaben

Hier sehen Sie eine aktualisierte Version von reusable-build.yml, die eine Eingabe target_env akzeptiert. Dadurch kann dieselbe Build-Logik für unterschiedliche Umgebungen angepasst werden.

name: Reusable Build Component with Input

on:
  workflow_call:
    inputs:
      target_env:
        required: true
        type: string
        description: "The target environment for the build"
    outputs:
      build_id:
        description: "The ID of the build operation"
        value: ${{ jobs.build.outputs.build_id }}

jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      build_id: ${{ steps.generate_id.outputs.id }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Generate build ID
        id: generate_id
        run: echo "id=$(date +%s)" >> "$GITHUB_OUTPUT"
      - name: Simulate build for ${{ inputs.target_env }}
        run: echo "Building project for ${{ inputs.target_env }} with ID ${{ steps.generate_id.outputs.id }}..."

Beispiel: Aufruf mit Eingaben

Nun kann unser Haupt-CI-Workflow die wiederverwendbare Build-Komponente zweimal aufrufen: einmal für „staging“ und einmal für „production“, wobei unterschiedliche Werte für target_env übergeben werden.

name: Main App CI with Input

on: [push]

jobs:
  call-build-staging:
    uses: ./.github/workflows/reusable-build-with-input.yml
    with:
      target_env: 'staging'
    outputs:
      build_id: ${{ jobs.call-build-staging.outputs.build_id }}
  
  call-build-prod:
    uses: ./.github/workflows/reusable-build-with-input.yml
    with:
      target_env: 'production'
    outputs:
      build_id: ${{ jobs.call-build-prod.outputs.build_id }}

Wiederverwendbare Workflows vs. benutzerdefinierte Actions

Beide fördern zwar die Wiederverwendbarkeit, dienen aber unterschiedlichen Zwecken:

  • Wiederverwendbare Workflows: Orchestrieren eine Reihe von Jobs. Sie definieren eine vollständige Workflow-Struktur, z. B. Build, Test und Deployment.
  • Benutzerdefinierte Actions: Führen eine bestimmte, einzelne Aufgabe innerhalb eines Jobs aus, z. B. Node.js einrichten oder ein Paket veröffentlichen. Sie sind die Bausteine *innerhalb* der Schritte eines Jobs.

Stellen Sie sich Workflows als Rezepte und Actions als einzelne Zutaten oder Arbeitsschritte vor.

Schnelltest

Welche der folgenden Punkte sind wesentliche Vorteile der Verwendung wiederverwendbarer Workflows in GitHub Actions?

Zusammenfassung: Wiederverwendbare Workflows und Actions

Sie haben untersucht, wie wiederverwendbare Workflows zur Modularisierung Ihrer CI/CD-Pipelines beitragen.

  • Sie werden mit workflow_call definiert.
  • Sie können inputs akzeptieren und outputs bereitstellen.
  • Aufrufende Workflows verwenden das Schlüsselwort uses.
  • Sie unterscheiden sich von benutzerdefinierten Actions, die innerhalb von Jobs Bausteine für einzelne Aufgaben sind.

Die Nutzung von Wiederverwendbarkeit führt zu einer effizienteren, konsistenteren und leichter wartbaren Automatisierung in Ihren Projekten.

Häufig gestellte Fragen

Ist die Lektion „Wiederverwendbare Workflows und Actions“ kostenlos?

Ja — der vollständige Text von „Wiederverwendbare Workflows und Actions“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CI/CD with GitHub Actions & DevOps Pipelines-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CI/CD with GitHub Actions & DevOps Pipelines-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Wiederverwendbare Workflows und Actions“?

Erstellen und nutzen Sie wiederverwendbare Workflows und benutzerdefinierte Actions, um Ihre Pipelines zu modularisieren und repositoryübergreifend für Konsistenz zu sorgen. Du übst CI/CD with GitHub Actions & DevOps Pipelines mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um CI/CD with GitHub Actions & DevOps Pipelines zu starten?

Keine Vorkenntnisse erforderlich. CI/CD with GitHub Actions & DevOps Pipelines auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Wiederverwendbare Workflows und Actions“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser CI/CD with GitHub Actions & DevOps Pipelines-Lektion Code schreiben und ausführen?

Ja. Jede CI/CD with GitHub Actions & DevOps Pipelines-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Matrix-Builds für mehrere Umgebungen
  2. Abhängigkeiten für mehr Geschwindigkeit cachen
  3. Wiederverwendbare Workflows und Actions
  4. Bedingte Ausführung und Job-Abhängigkeiten
← Zurück zu CI/CD with GitHub Actions & DevOps Pipelines