# GitHub Actions: Workflow-Automatisierung & RZ-Integration

TL;DR / Management Summary GitHub Actions ist die native Automatisierungs-Plattform von GitHub. Sie ermöglicht es, jeden “Event” (Push, Pull Request, Release) als Trigger für komplexe Workflows zu nutzen. Ein Senior Admin nutzt GitHub Actions zur Validierung von Infrastruktur-Code und bindet sein lokales Proxmox-Rechenzentrum via Self-hosted Runners an. Dies erlaubt es, interne Server-Wartungen direkt aus dem GitHub-Frontend heraus zu steuern, ohne Ports zum Internet öffnen zu müssen.


# 1. Die Anatomie eines Workflows

Alles unter .github/workflows/.

Die Konfiguration erfolgt in YAML-Dateien:

name: PVE-Linter
on: [push]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Ansible Lint
        run: ansible-lint playbooks/*.yml

# 2. Self-hosted Runners in Proxmox

Die Brücke ins eigene Netz.

Normalerweise laufen GitHub Actions in der Microsoft-Cloud. Wenn Sie aber lokale Proxmox-VMs (Artikel 668) konfigurieren wollen, brauchen Sie Zugriff aufs LAN.


# 3. Deep Dive: GitHub Secrets & Environment Protection

Verschlüsselte Variablen.

GitHub Secrets speichern Ihre API-Keys (z.B. für Proxmox oder OPNsense).


# 4. Day-2 Operations: Action Marketplace

Automatisierung von der Stange.

Nutzen Sie fertige Aktionen der Community:


# 5. Troubleshooting & “War Stories”

Wenn die Action ins Leere läuft.

# Top 3 Fehlerbilder

  1. Symptom: Runner verliert die Verbindung (“Offline”).

    • Ursache: Der LXC-Container in Proxmox wurde durch den OOM-Killer beendet oder die Firewall blockiert den Websocket-Traffic.
    • Lösung: Ressourcen-Limits prüfen (Artikel 708).
  2. Symptom: github_token hat nicht genug Rechte.

    • Ursache: Standardmäßig hat der automatische Token nur Lese-Rechte.
    • Fix: permissions: contents: write in der YAML hinzufügen.
  3. Symptom: Workflow schlägt fehl mit “Architecture mismatch”.

    • Ursache: Sie nutzen einen ARM-basierten Runner für x86-Binaries.

# “War Story”: Der “Verschollene” API-Key

Ein Admin nutzte GitHub Actions, um DNS-Records bei Cloudflare zu aktualisieren. Er vergaß, den API-Key als Secret zu markieren und schrieb ihn fest in das Skript. Das Ereignis: Er machte das Repository “Public”, um ein Problem im Forum zu teilen. Das Ergebnis: Innerhalb von 60 Sekunden wurde der Key von einem Bot gescannt. Der Angreifer änderte alle DNS-Einträge der Firma auf eine Phishing-Seite. Lehre: Nutzen Sie nie Hardcoded-Secrets. GitHub bietet mit dem Secret Scanning ein Feature, das solche Fehler erkennt – aktivieren Sie es zwingend für alle Repositories!


# 6. Monitoring & Reporting

Workflow Analytics.

# Action Usage Metrics

Überwachen Sie die Laufzeit Ihrer Workflows:


# 7. Fazit & Empfehlung

GitHub Actions ist die einfachste Methode für moderne Automatisierung.


# Anhang: Cheatsheet (Workflow Triggers)

Trigger Beschreibung
push Bei jedem Code-Commit
pull_request Bei Erstellung/Update eines PR
schedule Zeitgesteuert (Cron-Syntax)
workflow_dispatch Manueller Start in der GUI

# Referenzen