Veröffentlicht am: 6. Mai 2026

10 Minuten Lesezeit

Claude Code und GitLab: Drei Workflows bis zur Produktion

KI-Coding-Tools schreiben Code schnell. Aber wer liefert ihn aus? Wie Claude Code und GitLab Duo Agent Platform vom Bug-Report zum Produktions-Fix führen.

Claude Code hat sich unter Entwickler(inne)n schnell etabliert: Das Werkzeug hilft dabei, unbekannten Code zu verstehen, Fixes vorzuschlagen und neue Funktionen zügig zu scaffolden – direkt im Terminal oder in der IDE.

Dabei zeichnet sich ein bemerkenswertes Muster ab: Je besser agentische Coding-Tools beim Schreiben von Code werden, desto mehr gerät der Rest des Software-Lifecycles unter Druck. Bug-Backlogs wachsen. Pipeline-Fehlerquoten steigen. Sicherheitslücken häufen sich schneller, als Teams sie triagieren können. Code schreiben und Software ausliefern sind nicht dasselbe – und die Lücke zwischen beidem ist real.

GitLab beschleunigt alles in den verbleibenden Phasen des Software-Lifecycles nach Claude Code: CI/CD, Security Scanning, Code-Review und Freigaben – an einem Ort, mit vollständiger Nachvollziehbarkeit.

Dieses Tutorial zeigt drei Szenarien, in denen Claude Code schnell im Codebase agiert und GitLab alles übernimmt, was diesen Code in eine zertifizierte, ausgelieferte Änderung verwandelt:

  • C++-Bug mit Claude Code beheben, dann CI/CD, Security Scanning und Duo Code Review von GitLab übernehmen lassen.
  • GitLab-MCP-Kontext hinzufügen, damit Claude auf Basis des tatsächlichen Issues arbeitet, nicht nur mit lokalen Dateien.
  • Einen Claude-basierten External Agent in Duo Agent Platform nutzen, um Review-Feedback direkt im MR zu adressieren.

Voraussetzungen

  1. Claude Code im Terminal, konfiguriert und gestartet.
  2. Ein GitLab-Projekt mit Bug-Reports und Feature-Proposal-Issues, zum Beispiel das Tanuki-IoT-Platform-Projekt.
  3. Für bestimmte Use Cases: GitLab-MCP-Server und GitLab Duo Agent Platform mit External Agents.
  4. Zum Bauen von Code: CMake, Make, gcc/clang++ für C++, Maven für Java.

GitLab-Projekt vorbereiten

Um die Schritte in der eigenen Entwicklungsumgebung nachzuvollziehen:

  • Das Tanuki-IoT-Platform-Projekt in die eigene GitLab-Umgebung importieren, einschließlich aller offenen Issues.
  • Das Projekt in die lokale Umgebung klonen und in das Verzeichnis navigieren.
  • Ein Terminal öffnen und Claude Code mit claude starten.
      git clone https://gitlab.example.com/examplegroup/tanuki-iot-platform.git
cd tanuki-iot-platform

claude

    

Im Prompt nach dem Zweck des Projekts fragen:

      What is this project about?

    

Einstieg mit Claude Code und GitLab

Im ersten Szenario muss ein Hardware-Sensor behoben werden, der in C++ geschrieben ist. Der Arduino Collector liest Metriken vom USB-verbundenen Arduino Uno R4 Board und stürzt ab, wenn das Gerät /dev/ttyACM0 nicht verbunden ist.

GitLab Issue mit dem Bug-Report zum Arduino-IoT-Collector-AbsturzGitLab Issue mit dem Bug-Report zum Arduino-IoT-Collector-Absturz

Nach dem Lesen des Bug-Reports in Issue 4 den Code in der main.cpp-Datei prüfen, zum Beispiel mit vim:

      vim sensors/arduino-iot-collector/src/main.cpp

    

Arduino-IoT-Collector-Quellcode in vim geöffnetArduino-IoT-Collector-Quellcode in vim geöffnet

Das Collector-Binary mit CMake bauen und ausführen, um das Problem zu reproduzieren:

      cmake -S . -B build
cmake --build build

./build/arduino_iot_collector
Starting Arduino IoT Collector Application...
libc++abi: terminating due to uncaught exception of type std::runtime_error: Failed to initialize Arduino temperature sensor: Arduino port not found: /dev/ttyACM0
[1]    85289 abort      ./build/arduino_iot_collector

    

Claude Code öffnen und um Hilfe bitten:

      Please help me fix the Arduino IoT Collector sensor - it crashes.

    

Claude Code durchsucht die Codebase und identifiziert das Problem in der main.cpp-Datei: Sie löst eine std::runtime_error()-Ausnahme aus, die zum sofortigen Absturz der Anwendung führt. Das erwartete Verhalten ist, einen benutzerfreundlichen Konfigurationsfehler zu protokollieren und die Anwendung weiterlaufen zu lassen.

Nach erfolgreichem Fix und Build ist ein Git-Branch, Commit und Merge Request zu erstellen, um CI/CD-Pipelines, Security Scanning und Code-Review-Workflows auszulösen.

Für die Git-Arbeit in Claude Code stehen verschiedene Wege zur Verfügung:

  • Per Prompt: Please help me create a Git branch and commit and push the changes.
  • Per Shell-Befehle: Die Eingabeaufforderung mit ! öffnen, gefolgt von git checkout -b fix-arduino-sensor, git commit -avm "..." und git push. Die Ausgabe von git push erzeugt eine URL zur MR-Erstellung – darauf klicken, um den Browser zu öffnen und das Formular auszufüllen.

CI/CD-Pipelines werden bei der MR-Erstellung ausgelöst und prüfen, ob Build und Tests funktionieren. Security Scanning stellt sicher, dass keine neuen Schwachstellen eingeführt werden. Der neue MR löst automatisch den GitLab Duo Code Review Flow aus, der die Korrektheit des Fixes bewertet und dabei Entwicklungs-Style-Guides und benutzerdefinierte Review-Anweisungen berücksichtigt.

Benutzerdefinierte GitLab Duo Code Review-Anweisungen für C++Benutzerdefinierte GitLab Duo Code Review-Anweisungen für C++

GitLab Duo Code Review Flow – Review-Feedback-KommentarGitLab Duo Code Review Flow – Review-Feedback-Kommentar

Eine kurze Aufzeichnung von Claude Code, GitLab CI/CD und GitLab Duo Agent Platform in Aktion:

C++-Bug mit GitLab MCP in Claude Code beheben

Im vorherigen Szenario hat Claude Code das lokale Code-Repository durchsucht und Annahmen zu einem möglichen Fix auf Basis des verfügbaren Kontexts getroffen. Es fehlte jedoch das Wissen über ein GitLab-Issue, das den Bug beschreibt, Debugging-Diskussionen und vorgeschlagene Lösungsansätze für langfristige Behebungen. Auch wurde der Verlauf vergangener Codeänderungen in Merge Requests und Issues mit ähnlichen Berichten als SDLC-Kontext nicht berücksichtigt.

Um diesen reichhaltigen GitLab-SDLC-Kontext zu nutzen, lässt sich der GitLab-MCP-Server in Claude Code einbinden.

GitLab-MCP-Server konfigurieren

Sicherstellen, dass der GitLab-MCP-Server auf der Instanz oder der Top-Level-Group aktiviert ist.

Ein neues Terminal öffnen und den GitLab-MCP-Server mit dem http-Transport-Typ zu Claude Code hinzufügen.

gitlab.example.com durch die eigene GitLab-Instanz ersetzen oder GitLab.com verwenden:

      claude mcp add --transport http GitLab https://gitlab.example.com/api/v4/mcp

    

claude in einer neuen Terminal-Session starten und /mcp eingeben, um sich mit dem GitLab-MCP-Server über OAuth auf der geöffneten Browser-Seite zu authentifizieren:

      claude

/mcp

    

Zur Überprüfung der Verbindung Claude fragen:

      Which GitLab MCP tools are available to you?

Show the GitLab MCP Server version

    

Claude Code beim Abfragen der GitLab-MCP-Server-VersionClaude Code beim Abfragen der GitLab-MCP-Server-Version

Bei der Authentifizierung von Claude Code mit dem GitLab-MCP-Server verbindet es sich über OAuth und agiert mit der bestehenden GitLab-Identität, nicht mit erweiterten, separaten Berechtigungen. In der Praxis bedeutet das: Claude Code kann nur Projekte, Issues, Merge Requests und andere GitLab-Daten sehen, auf die über das eigene Konto und die Projekt-/Group-Mitgliedschaft bereits Zugriff besteht. Das ist eine wichtige Schutzmaßnahme: MCP erweitert den Kontext innerhalb des KI-Werkzeugs, umgeht jedoch nicht die GitLab-Sichtbarkeitskontrollen und erfindet keinen breiteren Zugriff.

Eine zweite Schutzmaßnahme ist die Nutzer-Genehmigung. In diesem Ablauf identifiziert Claude Code das MCP-Werkzeug, das aufgerufen werden soll, und fragt vor dem Fortfahren um Genehmigung – sodass Entwickler(innen) bei der Abholung externen Kontexts eingebunden bleiben. Für sicherheitssensible Umgebungen empfiehlt sich zudem, bewusst darauf zu achten, welche Daten in Prompts exponiert werden, und MCP primär mit vertrauenswürdigen GitLab-Inhalten zu verwenden.

An einem Bug-Report-Issue arbeiten

Den Issue-Kontext in Claude Code abrufen, indem Issue 4 im Prompt referenziert wird. Falls kein Issue im Projekt vorhanden ist, Issue 4 klonen/kopieren und die Nummer im Prompt anpassen:

      Please help me fix issue 4

    

Claude Code identifiziert den Bedarf, das MCP-Werkzeug get_issue aufzurufen, und fragt um Genehmigung. Zukünftige Verwendungen lassen sich auch automatisch genehmigen.

Claude Code ruft den Issue-Kontext mit MCP-Werkzeugen abClaude Code ruft den Issue-Kontext mit MCP-Werkzeugen ab

Sobald Claude Code den notwendigen Kontext aus dem Issue abgerufen hat, beginnt es, den C++-Quellcode des Sensors direkt zu analysieren. Nach der Erstellung und Überprüfung eines Fixes kann ein neuer Git-Branch, Commit und MR angefordert werden, falls Claude Code das nicht bereits aktiv tut:

      Please create a new Git branch, commit the changes, and create a new merge request

    

Claude Code findet das MCP-Werkzeug create_merge_request und übernimmt die MR-Erstellung direkt, ohne in den Browser wechseln zu müssen.

Claude Code hat mit MCP-Werkzeugen einen MR erstellt, verknüpft mit Issue 4Claude Code hat mit MCP-Werkzeugen einen MR erstellt, verknüpft mit Issue 4

In GitLab löst das MR-Erstellungsereignis automatisch mehrere parallele Workflows aus:

Diese automatisierten und agentischen Workflows in GitLab beschleunigen die Software-Auslieferung ebenso wie Claude Code die KI-gestützte Programmierung zur Issue-Lösung beschleunigt.

CI/CD-Pipeline-Status im MR – Tests und Security ScanningCI/CD-Pipeline-Status im MR – Tests und Security Scanning

Der MR lässt sich entweder im Browser öffnen, oder im Terminal bleiben und Claude Code fragen:

      Is the Merge Request running OK?

    

Es wird das MCP-Werkzeug get_merge_request_pipelines nutzen, um den MR-Pipeline-Status abzurufen – grün und bereit zum Mergen.

Claude Code ruft den MR-Pipeline-Status mit MCP-Werkzeugen abClaude Code ruft den MR-Pipeline-Status mit MCP-Werkzeugen ab

Die Aufzeichnung zeigt, wie Claude Code das Problem mithilfe des GitLab-MCP-Servers löst:

Claude Code als External-Agent-Reviewer

Im letzten Szenario hat Claude Code eine neue Funktion auf Basis der Anforderungen in Issue 24 implementiert – einen Spring Boot API-Server mit REST/WebSocket-Backend. Die CI/CD-Pipelines und Security-Scans sind in Ordnung, aber im MR wartet Code-Review-Feedback.

GitLab Duo Code Review-Feedback zum Spring Boot API-Server-MRGitLab Duo Code Review-Feedback zum Spring Boot API-Server-MR

Claude Code lässt sich als Kollaborationspartner in Issues, Epics und MRs einbinden, um Aufgaben gemeinsam zu bearbeiten. Die Voraussetzungen sind in der External-Agents-Dokumentation beschrieben.

Den Claude Agent by GitLab im Projektmenü unter AI > Agents aktivieren. Den Service-Account-Namen für spätere Erwähnungen oder Zuweisungen notieren – er verwendet das Muster: @ai-<agent-name>-<top-level-group-name>.

Anschließend den MR mit dem Code-Review-Feedback öffnen und die angeforderten Änderungen prüfen. Der Screenshot verwendet MR 78, und GitLab Duo Code Review folgt benutzerdefinierten Review-Anweisungen für Java.

GitLab Duo Code Review Flow – Feedback zu unsicheren AllowedOriginPatterns für die im MR eingeführten API-EndpunkteGitLab Duo Code Review Flow – Feedback zu unsicheren AllowedOriginPatterns für die im MR eingeführten API-Endpunkte

Einen neuen Kommentar erstellen und den Claude Code Agent erwähnen:

      @ai-claude-agent-by-gitlab-<top-level-groupname> Can you help me address the review feedback?

    

Diese Erwähnung startet eine neue Agent-Session im Hintergrund, richtet den Claude Code Agent ein und beginnt mit der Bearbeitung des Review-Feedbacks. Nach Abschluss folgt es den Anweisungen, einen Git-Commit und einen Zusammenfassungskommentar im MR zu erstellen.

GitLab Duo Code Review-Feedback durch Claude Agent aufgelöstGitLab Duo Code Review-Feedback durch Claude Agent aufgelöst

Nächste Schritte, um sicherzustellen, dass die Softwareentwicklung innerhalb der organisatorischen Leitplanken bleibt:

  • Verbleibendes Review-Feedback adressieren.
  • Warnungen in den CI/CD-Pipeline-Jobs prüfen.
  • Potenzielle Sicherheitslücken prüfen, zum Beispiel mit SAST Vulnerability Resolution.
  • Merge-Request-Freigabe von einem(r) berechtigten Entwickler(in) einholen, der als Code Owner konfiguriert ist.

Merge-Request-Widgets mit CI/CD-Pipeline, erforderlichen Freigaben, Security-Findings und Merge-StatusMerge-Request-Widgets mit CI/CD-Pipeline, erforderlichen Freigaben, Security-Findings und Merge-Status

Dieses Video zeigt, wie Claude Code als External Agent in GitLab Duo Agent Platform bei Reviews helfen kann:

Tipps für Claude Code und GitLab

Benutzerdefinierte Anweisungen

Agenten lassen sich anweisen, Code vor Commits zu bauen und zu testen, Änderungen minimal zu halten oder die Projektarchitektur besser zu verstehen – über einen Eintrag in AGENTS.md. Die Tanuki-IoT-Platform verwendet das folgende Produktionsbeispiel:

      ## Working with sensors

### Before editing
1. Identify the sensor directory you're working with
2. Check for an `AGENTS.md` file in that directory
3. Read sensor-specific instructions before making changes
4. Follow language-specific style guides

### Making changes
- Keep changes minimal and focused on the user request
- Do not refactor existing code unless specifically instructed
- Preserve original code formatting
- Only modify code necessary to solve the specific request

### Creating MRs
- Always run local builds and tests first
- Create a new branch for changes
- Automatically create a merge request after successful commits
- Reference relevant issues or tasks in the MR description

    

Diese benutzerdefinierten Anweisungen werden auch von Agents und Flows auf der GitLab Duo Agent Platform verarbeitet.

Claude Code bevorzugt CLAUDE.md, das auch auf AGENTS.md verweisen kann:

      @AGENTS.md

    

Zusammenfassung

KI-Coding-Tools machen Entwickler(innen) schneller beim Schreiben von Code. Aber Code schreiben und Software ausliefern sind nicht dasselbe. Die Lücke zwischen beidem wächst genau deshalb, weil diese Werkzeuge so gut im ersten Teil sind: Mehr Code wird geschrieben, Bug-Backlogs wachsen, Pipeline-Fehlerquoten steigen und Sicherheitslücken häufen sich.

Claude Code hält Teams dort produktiv, wo der Code lebt – es versteht unbekannte Codebasen, schlägt Fixes vor und scaffoldet Funktionen schnell. GitLab Duo Agent Platform macht aus dieser Geschwindigkeit für viele Entwickler(innen) in Enterprise-Softwareteams sichere Software, die tatsächlich ausgeliefert und zertifiziert werden kann – über viele Release-Milestones und Projekte hinweg. Mit GitLab lässt sich der Rest des Software-Lifecycles – CI/CD-Pipeline-Fixes, Security Scanning, automatisierte Remediation, Code-Review und mehr mit Human-in-the-Loop-Workflows – für jede agentische Aktion zurückverfolgen und so konfigurieren, dass er innerhalb der organisatorischen Leitplanken und Sicherheitsrichtlinien abläuft.

Dieses Tutorial hat drei Möglichkeiten gezeigt, Claude Code und GitLab Duo Agent Platform zu kombinieren:

  • Einen Bug mit Claude Code beheben und GitLab CI/CD, Security Scanning und Duo Code Review den Rest übernehmen lassen.
  • GitLab-MCP-Kontext hinzufügen, damit Claude auf Basis des tatsächlichen Kontexts im GitLab-Issue arbeitet – nicht nur mit lokalen Dateien.
  • Einen Claude-basierten External Agent in GitLab Duo Agent Platform nutzen, um Review-Feedback direkt im MR zu adressieren.

Das Prinzip bleibt über alle drei gleich: Claude arbeitet schnell, GitLab zertifiziert die Arbeit.

GitLab Duo Agent Platform noch nicht im Einsatz? Mit einer kostenlosen Testversion starten.

Wer GitLab bereits im Free Tier nutzt, kann GitLab Duo Agent Platform in wenigen einfachen Schritten einrichten.

Für bestehende GitLab Premium- oder Ultimate-Abonnenten genügt es, Duo Agent Platform zu aktivieren und die enthaltenen GitLab Credits zu nutzen.

Feedback erwünscht

Hat dir dieser Blogbeitrag gefallen? Hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und lass andere an deinen Eindrücken teilhaben.

Feedback teilen

Beginne noch heute, schneller zu entwickeln

Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.