🤖 1. GitHub Actions Workflow Commands & Files
CI/CD-Runner kommunizieren über spezielle Dateipfade und Logging-Präfixe:
# 🎯 Step-Outputs über $GITHUB_OUTPUT weitergeben:
echo "commit_hash=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
# 🔒 Secret Masking (Logs zensieren):
echo "::add-mask::$SECRET_PASSWORD"
# ⚠️ Warnungen und Fehler für das PR-Interface annotieren:
echo "::warning file=app.sh,line=12::Deprecation notice"
echo "::error file=config.json,line=5::Invalid JSON format"
🌐 2. Multi-OS Matrix-Scripting
Pipelines laufen auf Ubuntu, macOS oder Alpine Docker Containern. Robuste Skripte erkennen die Plattform dynamisch:
[Pipeline Runner: OS Check]
├──> Ubuntu / Debian ──▶ apt-get install -y <pkg>
├──> Alpine Linux ──▶ apk add --no-cache <pkg>
├──> RedHat / Fedora ──▶ dnf install -y <pkg>
└──> macOS (Darwin) ──▶ brew install <pkg>
├──> Ubuntu / Debian ──▶ apt-get install -y <pkg>
├──> Alpine Linux ──▶ apk add --no-cache <pkg>
├──> RedHat / Fedora ──▶ dnf install -y <pkg>
└──> macOS (Darwin) ──▶ brew install <pkg>
🎭 Didaktische Analogie: Der universelle Dolmetscher
In der Cloud weiß dein Skript nie genau, auf welcher virtuellen Maschine es landet. Ein gutes CI/CD-Skript ist wie ein Diplomat mit Weltgewandtheit: Es erkennt sofort den lokalen Dialekt (Paketmanager) und spricht die Sprache des jeweiligen Systems, ohne Fehlermeldungen zu werfen.
📑 3. Cheat-Sheet: CI/CD Shell-Kommandos
| Variable / Befehl | Syntax | Wirkung |
|---|---|---|
$GITHUB_OUTPUT |
echo "key=val" >> "$GITHUB_OUTPUT" |
Macht Variablen für Folge-Steps verfügbar |
::add-mask:: |
echo "::add-mask::$TOKEN" |
Zensiert Token in den Pipeline-Logs (***) |
$GITHUB_STEP_SUMMARY |
cat report.md >> "$GITHUB_STEP_SUMMARY" |
Rendert Markdown auf der Workflow-Summary Seite |
$GITHUB_ENV |
echo "VAR=value" >> "$GITHUB_ENV" |
Setzt persistente Environment-Variablen |