So richten Sie CI/CD mit Langfuse ein
In diesem Tutorial richten Sie eine CI/CD-Pipeline mit Langfuse ein, das derzeit 23.432 Sterne, 2.372 Forks und 592 offene Issues auf GitHub hat. Diese Zahlen sind ein Beweis für seine Beliebtheit bei Entwicklern, deuten aber auch auf eine Gemeinschaft hin, die das Projekt weiterhin aktiv verbessert. Dieses Setup ist wichtig, da es darauf abzielt, Ihre Bereitstellungseffizienz zu steigern und Ihre Änderungen schneller an die Benutzer auszuliefern, was in einem schnelllebigen Entwicklungsumfeld immer von Vorteil ist.
Voraussetzungen
- Node.js v16.0.0+
- npm v8.0.0+
- Docker (zur Virtualisierung)
- Git (zur Verwaltung des Quellcodes)
- Vertrautheit mit GitHub Actions
- Ein Langfuse-Konto
Schritt 1: Einrichten Ihrer lokalen Umgebung
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 Sie alles eingerichtet haben, initialisieren Sie ein neues Node.js-Projekt:
mkdir langfuse-ci-cd
cd langfuse-ci-cd
npm init -y
Dies ist ein einfacher Schritt, aber er ist entscheidend. Ausführen des obigen Befehls erstellt eine package.json-Datei, die das Rückgrat eines jeden Node.js-Projekts ist. Keine package.json? Dann viel Glück beim Abrufen von Abhängigkeiten später.
Schritt 2: Langfuse installieren
Der nächste Schritt ist die Installation des Langfuse-Pakets. Es ist so einfach wie das Ausführen von:
npm install langfuse --save
Der Grund, warum wir das --save-Flag hinzufügen, ist, damit Langfuse zu Ihren Abhängigkeiten in der package.json hinzugefügt wird. Wenn Sie es vergessen, kann das viel Verwirrung verursachen, wenn Sie später versuchen, Ihr Projekt zu übertragen. Sie könnten auf Fehler wie „Modul nicht gefunden“ stoßen, die mühsam zu debuggen sind.
Schritt 3: Langfuse konfigurieren
Als Nächstes möchten Sie Langfuse einrichten, indem Sie eine Konfigurationsdatei erstellen. Diese Datei ermöglicht es Langfuse zu verstehen, wie Ihre Anwendung behandelt werden soll. Erstellen Sie dazu eine neue Datei mit dem Namen langfuse.config.js und fügen Sie Folgendes ein:
// langfuse.config.js
module.exports = {
apiKey: "YOUR_API_KEY",
project: "my-project",
};
Ersetzen Sie YOUR_API_KEY durch Ihren tatsächlichen Langfuse-API-Schlüssel. Dieser Teil ist entscheidend. Wenn Sie diesen Schritt vergessen, wird Langfuse im Vakuum der falschen Konfiguration verloren gehen, und Sie werden Zeit verschwenden, um herauszufinden, warum es nicht funktioniert. Dies ist definitiv einer dieser nervigen Fehler, die die gute Stimmung beim Debuggen töten können.
Schritt 4: GitHub Actions-Workflow erstellen
Jetzt richten wir GitHub Actions für CI/CD ein. 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 einfache 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: Erstellen
run: npm run build
- name: Bereitstellen
run: npm run deploy
Diese Konfiguration löst die Pipeline aus, wann immer ein Commit auf den main-Branch erfolgt. Stellen Sie sicher, dass Ihr Code Testfälle enthält; andernfalls schlägt Ihre Pipeline in der Testphase fehl. Und glauben Sie mir, fehlgeschlagene Tests zu beheben, ist das, was ich gerne „der Ernst“ beim Programmieren nenne.
Schritt 5: Führen Sie Ihre Pipeline aus
Jetzt, da Sie alles eingerichtet haben – committen Sie Ihre Änderungen und pushen Sie sie zu GitHub. Navigieren Sie zum Actions-Tab in Ihrem Repository, um Ihre Pipeline in Aktion zu sehen. Sie könnten hier auf einige Fehler stoßen; häufige 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 geben hervorragende Einblicke, wo es schiefgelaufen ist. Ehrlich gesagt sind Protokolle Ihre besten Freunde beim Troubleshooting, auch wenn sie manchmal wie ein Chaos aussehen können.
Die Stolpersteine
Jetzt könnten Sie denken, Sie hätten das Setup perfektioniert. Nun, warten Sie einen Moment, denn hier sind einige Stolpersteine, die in der Produktion schwierig werden können:
- **Umgebungsvariablen**: Stellen Sie sicher, dass Ihre API-Schlüssel und alle sensiblen Informationen nicht hardcodiert sind. Verwenden Sie GitHub Secrets, wo immer möglich. Andernfalls riskieren Sie es, Ihre Anmeldeinformationen offenzulegen, was zu schwerwiegenden Sicherheitsverletzungen führen kann.
- **Rate Limiting**: Langfuse hat Rate Limits für seine API. Wenn Ihr CI zu häufig ausgeführt wird, könnten Sie diese Limits erreichen, was fehlerhafte Builds zur Folge hat. Verwalten Sie Ihre Bereitstellungshäufigkeit weise.
- **Multistage Builds**: Wenn Sie Docker direkt innerhalb Ihrer GitHub Actions verwenden, stellen Sie sicher, dass Sie Multistage Builds implementieren, um Ihre Images schlank zu halten. Andernfalls wird Ihre Bereitstellung langsam.
- **Caching**: Überspringen Sie nicht das Caching Ihrer Docker-Schichten oder npm-Pakete. Wenn Sie dies versäumen, kann dies die für jeden Build benötigte Zeit drastisch erhöhen, was außer Kontrolle geraten kann, wenn Sie an engen Fristen arbeiten.
- **Branch-Management**: Stellen Sie immer sicher, dass Sie von einem zuverlässigen Branch aus bereitstellen. Entwicklungen in Feature-Branches, die sich noch in der Testphase befinden, können zu instabilen Deployments führen. Es ist besser, nur geprüften Code in den Hauptbranch zu überführen.
Vollständiges Codebeispiel
Hier ist eine Zusammenfassung der wichtigen Dateien, die Sie für Ihr CI/CD-Setup benötigen:
package.json: Enthält Projektdaten und Abhängigkeiten.langfuse.config.js: Konfiguration, die spezifisch für Langfuse ist.ci-cd.yml: GitHub Actions-Workflow.
Hier ist ein schneller Blick auf die wichtigsten Teile dieser Dateien:
{
"name": "langfuse-ci-cd",
"version": "1.0.0",
"dependencies": {
"langfuse": "^1.0.0"
},
"scripts": {
"test": "echo 'No tests found yet.'",
"build": "echo 'Build step not defined.'",
"deploy": "echo 'Deploy step is also undefined.'"
}
}
langfuse.config.js bleibt gleich:
// langfuse.config.js
module.exports = {
apiKey: "YOUR_API_KEY",
project: "my-project",
};
Und die ci-cd.yml folgt dem gleichen Muster wie oben. Sie können je nach Ihren Anforderungen weitere Jobs oder Schritte hinzufügen.
Was kommt als Nächstes?
Sobald Ihre CI/CD-Pipeline stabil ist und Ihre Bereitstellungen wie eine gut geölte Maschine bedient, ist ein großartiger nächster Schritt, Monitoring und Alerting in Ihren Workflow zu integrieren. Integrieren Sie Werkzeuge, 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 sie überhaupt bemerken.
FAQ
Q: Was, wenn meine CI/CD-Pipeline fehlschlägt?
A: Zuerst, überprüfen Sie die Protokolle in GitHub Actions. Sie sagen Ihnen oft genau, was schiefgelaufen ist. Wenn Sie keinen offensichtlichen Fehler finden, versuchen Sie, den letzten Build erneut auszuführen, um zu sehen, ob es ein Zufall war. Manchmal können Netzwerkprobleme eine Fehlerquelle sein, die nicht mit Ihrem Code verbunden ist.
Q: Wie rolle ich ein Deployment zurück?
A: Rollbacks können knifflig sein, aber wenn Sie Git verwenden, sollte ein einfaches Zurücksetzen des letzten Commits im Hauptbranch ausreichen. Für kontrolliertere Umgebungen sollten Sie in Betracht ziehen, Versions-Tags zu Ihren Releases hinzuzufügen, um einfach zu einem stabilen Commit zurückkehren zu können.
Q: Muss ich für jede Änderung Tests schreiben?
A: Idealerweise ja. Tests für jede Funktion zu haben, reduziert die Wahrscheinlichkeit, dass Bugs durchrutschen, wenn Sie Änderungen vornehmen. Ich weiß jedoch, dass das aufgrund von Zeitdruck nicht immer für jedes Projekt möglich ist.
Es ist wirklich ein Balanceakt. Versuchen Sie, eine solide Testabdeckung anzustreben, richten Sie jedoch Ihren Fokus mehr auf kritische Pfade, die die Benutzererfahrung betreffen würden.
Datenquellen
Verlinkte Referenzen:
Datenstand 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
- AI-Agenten-Tracking mit OpenTelemetry
- Überwachung des Agentenverhaltens: Wesentliche Tipps, Tricks und praktische Beispiele
- NVIDIA Neuigkeiten heute: Oktober 2025 AI-Chips – Was kommt als Nächstes?
🕒 Published: