⚙️ DevOps 15. Juni 2026 · 10 Min Lesezeit

GitHub Actions CI/CD Pipeline einrichten – Tutorial 2026

GitHub Actions ist der integrierte CI/CD-Dienst von GitHub, mit dem du Builds, Tests und Deployments direkt aus deinem Repository automatisieren kannst. In diesem Tutorial zeige ich dir, wie du eine vollständige CI/CD-Pipeline für eine Webanwendung aufsetzt.

— Anzeige —

Google AdSense Platzhalter

Was ist GitHub Actions?

GitHub Actions ist ein mächtiges Workflow-Automatisierungstool, das direkt in GitHub integriert ist. Du definierst Workflows in YAML-Dateien, die auf bestimmte Ereignisse reagieren – zum Beispiel einen Push auf den main-Branch oder die Erstellung eines Pull-Requests. Jeder Workflow besteht aus einem oder mehreren Jobs, die auf GitHub-eigenen oder selbst gehosteten Runnern ausgeführt werden. Die GitHub Marketplace-Community bietet tausende vorgefertigte Actions für nahezu jeden Zweck.

Workflow-Grundlagen: Aufbau einer YAML-Datei

Jeder GitHub Actions Workflow wird unter .github/workflows/ in deinem Repository gespeichert. Hier ein typischer Aufbau:

name: CI/CD Pipeline
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install dependencies
        run: npm ci
      - name: Run tests
        run: npm test
      - name: Build
        run: npm run build
  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to Server
        run: echo "Deploy ausführen..."

CI/CD-Pipeline für eine Node.js-App

Wir bauen eine Pipeline für eine Node.js/Express-Anwendung mit folgenden Schritten: Linten, Testen, Bauen und Deployen auf einen VPS. Die Pipeline wird bei jedem Push auf main sowie bei Pull-Requests ausgelöst.

Schritt Action / Befehl Beschreibung
1. Checkoutactions/checkout@v4Repository-Code auschecken
2. Node.js Setupactions/setup-node@v4Node.js in gewünschter Version installieren
3. Dependenciesnpm ciPackage-lock.json sauber installieren
4. Lintnpm run lintCodequalität prüfen
5. Testsnpm testUnit- und Integrationstests ausführen
6. Buildnpm run buildApp bauen (Static Files oder Bundle)
7. Deployscp oder rsyncArtefakte auf Server übertragen

Geheimnisse sicher verwalten: Secrets & Environments

Deine Pipeline benötigt Zugangsdaten – SSH-Keys, API-Tokens, Passwörter. Diese speicherst du NIEMALS direkt im Workflow. GitHub bietet Repository Secrets (unter Settings → Secrets and variables → Actions), die verschlüsselt abgelegt werden. Für sensible Werte wie Deployment-Keys verwendest du ${{ secrets.MY_SECRET }}. Zusätzlich kannst du Environments definieren (z. B. "Staging" und "Production"), um unterschiedliche Secrets pro Umgebung zu hinterlegen und manuelle Approvals für Production-Deployments zu erzwingen.

Deployment auf einen VPS per SSH

Für das Deployment auf einen eigenen Server nutzt du die Action appleboy/scp-action@v0.1.7 oder easingthemes/ssh-deploy@v5. Voraussetzung: Der öffentliche SSH-Key des Runners ist auf dem Zielserver als Deploy-Key hinterlegt. So könnte der Deployment-Step aussehen:

deploy:
  runs-on: ubuntu-latest
  needs: build
  steps:
    - uses: actions/download-artifact@v4
      with:
        name: build-output
    - name: Copy to server
      uses: appleboy/scp-action@v0.1.7
      with:
        host: ${{ secrets.SERVER_HOST }}
        username: ${{ secrets.SERVER_USER }}
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        source: "dist/*"
        target: "/var/www/myapp/"

Matrix-Builds für maximale Kompatibilität

Mit Matrix-Strategien testest du deine Anwendung parallel in mehreren Konfigurationen – ein großer Vorteil von GitHub Actions gegenüber vielen Alternativen:

jobs:
  test:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [18, 20, 22]
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node-version }}
      - run: npm ci && npm test

So stellst du sicher, dass deine App mit allen relevanten Node.js-Versionen funktioniert – ohne manuelles Testen.

Best Practices für GitHub Actions 2026

Praxis Warum?
Workflows klein haltenEin Job pro Verantwortung – bessere Lesbarkeit und Wiederverwendung
Actions versionierenImmer @v1, @v2, @v4 verwenden – nie @main oder @latest
Cache nutzenactions/cache für node_modules oder Docker-Layer – spart Minuten
Secrets nie hardcodenImmer über GitHub Secrets einbinden
Self-Hosted Runner prüfenFür große Artefakte oder spezielle Hardware – aber Sicherheitsrisiken beachten
Status Badges einbauenWorkflow-Status in der README.md macht den Build-Status sichtbar

Fazit

GitHub Actions ist 2026 eine der flexibelsten und am weitesten verbreiteten CI/CD-Plattformen. Die Integration in GitHub ist nahtlos, die YAML-Syntax ist klar und die Marketplace-Community liefert für fast jeden Use Case die passende Action. Mit einer gut strukturierten Pipeline stellst du sicher, dass dein Code automatisch getestet, gebaut und ausgeliefert wird – und du dich auf das Wesentliche konzentrieren kannst: großartige Software zu entwickeln.

⚙️ DevOps & CI/CD Tools

👉 Bei Amazon entdecken

— Anzeige —

Google AdSense Platzhalter (Ende)