Wie man CI/CD mit Langfuse konfiguriert
In diesem Tutorial werden Sie eine CI/CD-Pipeline mit Langfuse einrichten, das derzeit 23 432 Sterne, 2 372 Forks und 592 offene Probleme auf GitHub hat. Diese Zahlen zeugen von seiner Beliebtheit unter Entwicklern, zeigen aber auch eine Gemeinschaft, die aktiv an dem Projekt arbeitet. Diese Konfiguration ist wichtig, da sie darauf abzielt, Ihre Bereitstellungseffizienz zu steigern und Ihre Änderungen schneller an die Benutzer zu bringen, was in einem schnelllebigen Entwicklungsumfeld immer positiv ist.
Voraussetzungen
- Node.js v16.0.0+
- npm v8.0.0+
- Docker (für die Containerisierung)
- Git (zum Verwalten des Quellcodes)
- Vertrautheit mit GitHub Actions
- Ein Langfuse-Konto
Schritt 1: Bereiten Sie Ihre lokale Umgebung vor
Zuerst müssen Sie Ihre lokale Entwicklungsumgebung vorbereiten. Hier ist der Deal: Wenn Ihre Node.js-Version veraltet ist, werden Sie auf Probleme stoßen, die Sie dazu bringen, Ihre Lebensentscheidungen zu hinterfragen. Führen Sie die folgenden Befehle aus, um Ihre Versionen zu überprüfen:
node -v
npm -v
Wenn Node.js oder npm nicht installiert oder veraltet sind, können Sie sie von der offiziellen Node.js-Website herunterladen. Sobald alles bereit ist, initialisieren Sie ein neues Node.js-Projekt:
mkdir langfuse-ci-cd
cd langfuse-ci-cd
npm init -y
Das ist ein einfacher Schritt, aber er ist entscheidend. Die Ausführung des obigen Befehls erstellt eine Datei package.json, die das Rückgrat jedes Node.js-Projekts ist. Keine package.json? Dann viel Glück beim Abrufen der Abhängigkeiten später.
Schritt 2: Langfuse installieren
Der nächste Schritt besteht darin, das Langfuse-Paket zu installieren. Es ist so einfach wie die Ausführung von:
npm install langfuse --save
Der Grund, warum wir das Flag --save hinzufügen, ist, dass Langfuse zu den Abhängigkeiten Ihrer package.json-Datei hinzugefügt wird. Wenn Sie dies vergessen, kann es zu viel Verwirrung führen, wenn Sie versuchen, Ihr Projekt später zu übertragen. Sie könnten auf Fehler wie „Modul nicht gefunden“ stoßen, was mühsam zu debuggen sein kann.
Schritt 3: Langfuse konfigurieren
Als Nächstes möchten Sie Langfuse konfigurieren, indem Sie eine Konfigurationsdatei erstellen. Diese Datei ermöglicht es Langfuse, zu verstehen, wie es Ihre Anwendung verwalten soll. Erstellen Sie dazu eine neue Datei mit dem Namen langfuse.config.js und füllen Sie sie mit folgendem Inhalt:
// langfuse.config.js
module.exports = {
apiKey: "IHRE_API_SCHLÜSSEL",
project: "mein-projekt",
};
Ersetzen Sie IHRE_API_SCHLÜSSEL durch Ihren tatsächlichen Langfuse-API-Schlüssel. Dieser Teil ist entscheidend. Wenn Sie diesen Schritt vergessen, wird Langfuse im Nichts der falschen Konfiguration verloren gehen, und Sie werden Zeit damit verschwenden, herauszufinden, warum es nicht funktioniert. Das ist definitiv einer dieser nervigen Fehler, die eine gute Debugging-Stimmung ruinieren können.
Schritt 4: Erstellen Sie einen GitHub Actions Workflow
Jetzt werden wir GitHub Actions für CI/CD konfigurieren. Gehen Sie zu Ihrem GitHub-Repository und erstellen Sie eine neue Datei im Verzeichnis /.github/workflows/ mit dem Namen ci-cd.yml. Hier ist eine grundlegende Vorlage, um Ihnen den Einstieg zu erleichtern:
name: CI/CD-Pipeline
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Abhängigkeiten installieren
run: npm install
- name: Tests ausführen
run: npm test
- name: Bauen
run: npm run build
- name: Bereitstellen
run: npm run deploy
Diese Konfiguration löst die Pipeline jedes Mal aus, wenn ein Commit auf dem main-Branch erfolgt. Stellen Sie sicher, dass Ihr Code Testfälle hat; andernfalls wird Ihre Pipeline beim Testschritt fehlschlagen. Und glauben Sie mir, fehlerhafte Tests zu beheben, ist das, was ich gerne „das echte Geschäft“ in der Programmierung nenne.
Schritt 5: Führen Sie Ihre Pipeline aus
Jetzt, da Sie alles konfiguriert haben, committen Sie Ihre Änderungen und pushen Sie sie auf GitHub. Gehen Sie zum Tab Actions in Ihrem Repository, um Ihre Pipeline in Aktion zu sehen. Sie könnten hier auf einige Fehler stoßen; die häufigsten sind:
- Blockierende Probleme, wenn Abhängigkeiten fehlen.
- Fehler beim Ausführen von Tests, wenn diese nicht definiert sind.
Um zu debuggen, überprüfen Sie einfach die Protokolle. Sie bieten hervorragende Hinweise darauf, was schiefgelaufen ist. Ehrlich gesagt sind die Protokolle Ihre besten Freunde beim Troubleshooting, auch wenn sie manchmal chaotisch erscheinen können.
Die Fallstricke
Jetzt könnten Sie denken, dass Sie die Konfiguration erfolgreich abgeschlossen haben. Nun, warten Sie eine Sekunde, denn hier sind einige Fallstricke, die in der Produktion brutal zuschlagen können:
- **Umgebungsvariablen**: Stellen Sie sicher, dass Ihre API-Schlüssel und alle sensiblen Informationen nicht hardcodiert sind. Verwenden Sie GitHub Secrets, wenn möglich. Andernfalls riskieren Sie, Ihre Anmeldeinformationen offenzulegen, was zu ernsthaften Sicherheitsverletzungen führen könnte.
- **Drosselung**: Langfuse setzt Drosselungsgrenzen für seine API. Wenn Ihre CI zu häufig ausgeführt wird, könnten Sie diese Grenzen erreichen, was zu Build-Fehlern führt. Verwenden Sie Ihre Bereitstellungshäufigkeit weise.
- **Mehrstufige Builds**: Wenn Sie Docker direkt in Ihren GitHub Actions verwenden, stellen Sie sicher, dass Sie mehrstufige Builds implementieren, um Ihre Images leicht zu halten. Andernfalls werden Sie langsame Bereitstellungen haben.
- **Caching**: Vernachlässigen Sie nicht das Caching Ihrer Docker-Schichten oder npm-Pakete. Das Ignorieren kann die Zeit für jeden Build erheblich erhöhen, was unhandhabbar werden kann, wenn Sie mit engen Fristen arbeiten.
- **Branch-Management**: Stellen Sie sicher, dass Sie immer von einem stabilen Branch bereitstellen. Entwicklungen auf Feature-Branches, die noch getestet werden, können zu instabilen Bereitstellungen führen. Es ist besser, nur überprüften Code auf den Hauptbranch zu fördern.
Vollständiges Codebeispiel
Hier ist eine Zusammenfassung der wesentlichen Dateien, die Sie für Ihre CI/CD-Konfiguration benötigen:
package.json: Enthält die Metadaten des Projekts und die Abhängigkeiten.langfuse.config.js: Langfuse-spezifische Konfiguration.ci-cd.yml: GitHub Actions Workflow.
Hier ist ein schnellerer Überblick über die kritischen Teile dieser Dateien:
{
"name": "langfuse-ci-cd",
"version": "1.0.0",
"dependencies": {
"langfuse": "^1.0.0"
},
"scripts": {
"test": "echo 'Keine Tests gefunden.'",
"build": "echo 'Build-Schritt nicht definiert.'",
"deploy": "echo 'Deploy-Schritt ebenfalls nicht definiert.'"
}
}
langfuse.config.js bleibt gleich:
// langfuse.config.js
module.exports = {
apiKey: "IHRE_API_SCHLÜSSEL",
project: "mein-projekt",
};
Und die ci-cd.yml folgt demselben Muster wie oben. Sie können je nach Bedarf weitere Jobs oder Schritte hinzufügen.
Und dann?
Sobald Ihre CI/CD-Pipeline stabil ist und Ihre Bereitstellungen wie eine gut geölte Maschine bedient, ist ein ausgezeichneter nächster Schritt, Überwachung und Alarmierung in Ihren Workflow einzubeziehen. Integrieren Sie Tools, die Ihnen helfen können, die Leistung Ihrer Anwendung nach der Bereitstellung zu verfolgen. So können Sie Probleme erkennen und beheben, bevor Ihre Benutzer überhaupt davon erfahren.
FAQ
F: Was tun, wenn meine CI/CD-Pipeline fehlschlägt?
A: Überprüfen Sie zuerst die Protokolle in GitHub Actions. Sie zeigen Ihnen oft genau, was schiefgelaufen ist. Wenn Sie keinen offensichtlichen Fehler finden, versuchen Sie, den letzten Build erneut zu starten, um zu sehen, ob es sich um einen isolierten Vorfall handelte. Manchmal können Netzwerkprobleme eine Fehlerquelle sein, die nicht mit Ihrem Code zusammenhängt.
F: Wie kann ich zu einem vorherigen Deployment zurückkehren?
A: Rollbacks können knifflig sein, aber wenn Sie Git verwenden, sollte ein einfaches Zurücksetzen des letzten Commits auf dem Hauptbranch ausreichen. Für kontrolliertere Umgebungen sollten Sie in Betracht ziehen, eine Versionskennzeichnung für Ihre Releases hinzuzufügen, damit Sie leicht zu einem stabilen Commit zurückkehren können.
F: Soll ich für jede Änderung Tests schreiben?
A: Idealerweise ja. Tests für jede Funktionalität zu haben, verringert die Wahrscheinlichkeit, dass Bugs durchrutschen, wenn Sie Änderungen vornehmen. Ich weiß jedoch, dass das aufgrund von Zeitbeschränkungen nicht immer für jedes Projekt machbar ist.
Es ist wirklich eine Übung im Gleichgewicht. Versuchen Sie, eine solide Testabdeckung zu erreichen, konzentrieren Sie sich jedoch mehr auf die kritischen Pfade, die die Benutzererfahrung beeinflussen würden.
Datenquellen
Referenzierte Links:
Daten vom 20. März 2026. Quellen: https://github.com/langfuse/langfuse, https://tessl.io/registry/skills/github/jeremylongshore/claude-code-plugins-plus-skills/langfuse-ci-integration
Verwandte Artikel
- KI-Agenten-Tracking mit OpenTelemetry
- Überwachung des Verhaltens von Agenten: Wesentliche Tipps, Tricks und praktische Beispiele
- NVIDIA-News heute: Oktober 2025, KI-Chips – Was erwartet uns in der Zukunft?
🕒 Published: