Veröffentlicht am: 8. September 2026
16 Minuten Lesezeit
GitLab Duo Self-Hosted lässt sich mit GPT-, Claude-, Llama- und Mistral-Modellen aus Microsoft Foundry verbinden. Der Beitrag zeigt die Auswahl und die Einrichtung.

Bei vielen Organisationen lautet die eigentliche Frage zu KI-Coding-Tools nicht, ob sie nützen, sondern wohin der Code geht. Teams mit Vorgaben zu Datenhoheit, Datenstandort oder Regulierung müssen wissen, welches Netzwerk ihren Quellcode verarbeitet, bevor überhaupt eine Einführung infrage kommt. GitLab Duo Self-Hosted löst das. Wie das Konzept im Unternehmenskontext funktioniert, erklärt dieser Überblick zu GitLab Duo Self-Hosted und Datenschutz. Administratoren verbinden Funktionen von GitLab Duo mit Modellen auf selbst gewählter Infrastruktur und behalten dabei die Kontrolle über Hosting, Region, Netzwerkpfad und Zugangsdaten.
In diesem Tutorial verbinden wir GitLab Duo Self-Hosted mit Modellen, die in Microsoft Foundry gehostet werden. Foundry lässt sich am besten als universelle Serving-Plattform verstehen, nicht als reiner OpenAI-Endpunkt: Der Katalog reicht von OpenAI GPT über Anthropic Claude und Meta Llama bis zu Mistral, und die von GitLab unterstützten Modellfamilien überschneiden sich stark mit dem Foundry-Angebot.
Das ist relevant, weil sich in GitLab pro Funktion ein eigenes Modell zuweisen lässt. Möglich ist etwa eine Modellfamilie für agentische Aufgaben, ein codespezialisiertes Modell für Code Suggestions und ein kleineres Modell dort, wo das Anfragevolumen dominiert, bereitgestellt und abgerechnet über ein einziges Azure-Abonnement.
Die Einrichtungsschritte sind unabhängig von der Modellfamilie identisch. Verändert werden nur das bereitgestellte Modell, der referenzierte Deployment-Name und die in GitLab ausgewählte Model family.
Der Katalog von Microsoft entwickelt sich schnell weiter und umfasst laufend Modelle, die neuer sind als die von GitLab geführte Support-Matrix. Die Verfügbarkeit im Katalog allein begründet keine Unterstützung durch GitLab Duo, deshalb lohnt vor jeder Modellwahl ein Blick in beide Dokumentationen.
GitLab Duo Self-Hosted verbindet GitLab Duo mit Modellen, die On-Premises oder über einen unterstützten Cloud-Anbieter bereitgestellt werden. Microsoft Foundry bietet sich an, wenn eine Organisation bereits in Azure arbeitet und Deployments, Zugriff, Netzwerk und Verbrauch dort zentral verwalten möchte.
Die wichtigsten Vorteile:
Die Lösung GitLab Duo Self-Hosted besteht aus drei Kernkomponenten:
Ein einziges AI Gateway bedient alle konfigurierten Modelle. GitLab entscheidet anhand der anfragenden Funktion, welches Deployment aufgerufen wird:
flowchart LR
subgraph self["Your infrastructure"]
GL["Self-Managed<br/>GitLab"]
GW["AI Gateway<br/>(port 5052)"]
end
subgraph azure["Your Azure tenant"]
subgraph foundry["Microsoft Foundry"]
M1["duo-chat<br/>Agentic Chat, Agent Platform"]
M2["duo-code-gen<br/>Code generation"]
M3["duo-code-completion<br/>Code completion"]
end
end
GL -- HTTPS --> GW
GW --> M1
GW --> M2
GW --> M3
Hinweis: Wer On-Premises oder mit einem anderen Cloud-Anbieter arbeitet, kann eine andere Serving-Plattform nutzen.
Genau diese Bereitstellungsform macht GitLab Duo für Teams mit Vorgaben zur Datenhoheit praktikabel, deshalb ist ein genauer Blick darauf sinnvoll, wohin Daten fließen.
Laut GitLab-Dokumentation verlassen bei einer vollständig selbst gehosteten Konfiguration die Inferenzdaten (Code-Eingaben, Modell-Prompts und Modellantworten) das eigene Netzwerk nicht. Anfragen laufen von der GitLab-Instanz über das AI Gateway zum Foundry-Deployment, vollständig innerhalb selbst kontrollierter Infrastruktur. GitLab erfasst auch nicht, welches Modell oder welcher Modellanbieter genutzt wird.
Was bei einer Online-Lizenz das Netzwerk verlässt, sind Abrechnungsmetadaten: eine Instanz-ID, eine de-identifizierte Nutzer-ID, eine Aufrufzahl und ein Zeitstempel. Bei einer Offline-Lizenz besteht überhaupt keine Verbindung zu den Abrechnungskomponenten von GitLab.
Zwei Einschränkungen gelten dabei:
Die Modellwahl muss zwei unabhängige Bedingungen erfüllen: GitLab muss das Modell unterstützen, und Foundry muss es anbieten. Das eine folgt nicht aus dem anderen.
GitLab bewertet jedes unterstützte Modell anhand von vier Funktionsbereichen: Code Completion, Code Generation, GitLab Duo Agentic Chat und GitLab Duo Agent Platform. Folgende Familien finden sich sowohl in GitLabs Support-Tabelle als auch im Foundry-Katalog:
| Familie | Wie Foundry sie anbietet | Was zu beachten ist |
|---|---|---|
| GPT | Direkt von Azure verkauft | Größte Überschneidung mit GitLabs Tabelle, einfachster Weg. Umfasst universelle, code-optimierte und kleinere, latenzarme Varianten |
| Claude | Von Partnern, über den Azure Marketplace | Starke Bewertungen für agentische Aufgaben, zusätzliche Marketplace-Voraussetzungen und engere Regionsabdeckung |
| Llama | Von Azure und von Partnern verkauft | Bewertungen schwanken stark je nach Modellgröße und Funktion |
| Mistral | Von Partnern | Enthält Codestral, ein codespezialisiertes Modell |
Konkrete Versionsnummern ändern sich auf beiden Seiten schnell, deshalb nennt dieser Beitrag bewusst kein "bestes" Modell. Die Auswahl folgt stattdessen diesen Regeln:
Vor jeder Festlegung empfiehlt sich ein Blick auf die aktuellen Bewertungen auf GitLabs Seite zu den unterstützten Modellen. Jedes in diesem Beitrag genannte Modell dient als Beispiel, nicht als Empfehlung.
Vor dem Start wird Folgendes benötigt:
Hinweis: Neu bei GitLab? Eine kostenlose Testversion von GitLab Ultimate steht zur Verfügung.
1. Ein oder mehrere Modelle in Microsoft Foundry bereitstellen
Im Foundry-Portal das gewünschte Projekt auswählen und die ausgewählten Modelle aus dem Katalog bereitstellen. Die Modellverfügbarkeit variiert nach Region, Cloud und Deployment-Typ. Manche Abonnements benötigen zudem eine genehmigte Kontingenterhöhung.
Vor der Bereitstellung sollte geprüft werden, ob das Modell in der vorgesehenen Region und dem vorgesehenen Deployment-Typ verfügbar ist. Microsoft veröffentlicht das in Region availability for Foundry Models sold by Azure, mit eigenen Reitern für Standard, Provisioned und Batch. Die Abdeckung ist uneinheitlich: Ein Modell kann als Global Standard breit verfügbar sein und gleichzeitig als Regional Provisioned Managed nur in wenigen Regionen angeboten werden.
Partnermodelle sind stärker eingeschränkt als Azure-OpenAI-Modelle. Claude etwa ist auf wenige Regionen konzentriert, und die Bereitstellung setzt die Zustimmung zu den Marketplace-Bedingungen voraus. Vor der Festlegung auf eine Familie sollten Region und Abonnement-Berechtigung geprüft werden.
Microsoft Foundry Modelle
Jedes Deployment braucht einen später nachvollziehbaren Namen. GitLab verweist auf den Deployment-Namen, nicht auf den Katalognamen des Modells, deshalb lässt sich ein vager Name später kaum noch prüfen.
Eine Benennung nach Rolle statt nach Modellversion, etwa duo-chat oder duo-code-completion, bringt einen praktischen Vorteil: Bei einem Upgrade auf ein neueres Modell genügt es, das Deployment darauf zeigen zu lassen, ohne die Modellkennung in GitLab zu ändern. Eine Benennung nach Version, etwa duo-gpt-5-2, ist expliziter, erfordert aber bei jedem Modellwechsel eine erneute Konfiguration in GitLab.
Am Anfang genügt ein einzelnes Modell. Die Erweiterung folgt, sobald es durchgängig funktioniert.
Nach der Bereitstellung sind folgende Werte je Deployment festzuhalten:
Microsoft Foundry: Modell gpt-5-mini
API-Schlüssel gehören in einen von der Organisation freigegebenen Secret-Management-Prozess, nicht in ein Repository.
2. Das AI Gateway installieren
Das AI Gateway leitet Anfragen zwischen GitLab und dem ausgewählten Modell-Endpunkt weiter. Die Installation erfolgt mit Docker oder dem Helm-Chart gemäß der aktuellen AI-Gateway-Installationsanleitung.
Ein alter Image-Tag oder ein API-Versionsbeispiel aus einem anderen Tutorial sollte nicht einfach übernommen werden. AI Gateway und GitLab-Version müssen zueinander passen. Das aktuelle Image und die nötigen Einstellungen liefert GitLabs Installationsanleitung. Foundry-Endpunkt und API-Schlüssel werden erst beim Hinzufügen jedes Modells in Schritt 4 eingetragen. Im Beispiel-Docker-Befehl sind sie nicht nötig.
Ein Gateway bedient alle konfigurierten Modelle. Ein separates Gateway je Deployment oder Modellfamilie ist nicht nötig.
3. GitLab für den Zugriff auf das AI Gateway konfigurieren
Sobald das AI Gateway läuft, wird die GitLab-Instanz dafür konfiguriert:
https://ai-gateway.example.com:5052).
GitLab Duo: AI-Gateway-Konfiguration
Für Produktions-Deployments empfehlen sich TLS und ein eingeschränkter Netzwerkzugriff auf das Gateway. Nutzt das Gateway eine private IP-Adresse oder einen internen Hostnamen, gehört der jeweilige Wert auf GitLabs Allowlist für ausgehende Anfragen.
4. Jedes Deployment in GitLab hinzufügen
Dieser Ablauf wiederholt sich für jedes Foundry-Deployment, das GitLab nutzen soll:
Agentic Chat on Microsoft Foundry.azure/DEPLOYMENT-NAME eintragen, mit dem exakten Deployment-Namen aus Foundry. Beispiel: azure/duo-chat.
GitLab Duo: Konfiguration eines Self-Hosted-Modells
Das Präfix beschreibt, wie ein Modell bereitgestellt wird, nicht wer es entwickelt hat. Foundry kann auch Nicht-OpenAI-Modelle über den Azure-OpenAI-Endpunkt bereitstellen. Dann gilt weiterhin azure/. Wird ein Partnermodell über einen anderen Foundry-Endpunkt erreicht, sollte das richtige Präfix in GitLabs Konfigurationsdokumentation geprüft werden, statt es anzunehmen. Ein falsches Präfix erzeugt den weiter unten beschriebenen Fehler "Model not found".
5. Modelle den Funktionen von GitLab Duo zuweisen
Hier zahlt sich die Breite des Katalogs aus, denn Funktionen müssen sich weder ein Modell noch eine Familie teilen. Eine sinnvolle Aufteilung:
GitLab Duo: Modellauswahl
Diese Aufteilung ist eine erste Annahme, keine feinjustierte Konfiguration. Am Anfang steht ein einziges Modell für alle geplanten Funktionen, als sauberer Referenzwert für Qualität, Latenz und Kosten. Ein zweites Modell folgt erst dort, wo eigene Messungen es rechtfertigen.
Ob die Umsetzung von GitLab Duo Self-Hosted mit Microsoft Foundry korrekt funktioniert, zeigen folgende Prüfschritte:
1. Health-Check ausführen
Nachdem sichergestellt ist, dass das Modell selbst läuft, führt der Bereich GitLab Duo im Admin-Bereich über Run health check die eigentliche Prüfung durch. Geprüft wird Folgendes:
Meldet der Health-Check Probleme, hilft der Leitfaden zur Fehlerbehebung bei den gängigen Fehlern.
2. Ein FastAPI-Grundgerüst mit Code Generation erstellen
Code Generation eignet sich als erster Test, weil dabei der gesamte Pfad durchlaufen wird und das Ergebnis eindeutig ausfällt. Zudem wird mehr Kontext gesendet als bei Code Completion. Ein falsch konfigurierter Endpunkt oder ein zu kleines Kontingent fällt dadurch sofort auf.
Code Suggestions kennt zwei unterschiedliche Verhaltensweisen. Für die Interpretation des Ergebnisses ist wichtig, welche davon gerade ausgelöst wird:
So entsteht ein FastAPI-Grundgerüst:
main.py. Code Generation liefert bei weniger als fünf Zeilen präzisere Ergebnisse. Eine leere Datei ist damit der ideale Ausgangspunkt. # Create a FastAPI service with a health check endpoint and CRUD endpoints for
# a "tasks" resource backed by an in-memory list. Use Pydantic models for
# request and response bodies, and return appropriate HTTP status codes.
Code Generation: FastAPI-Grundgerüst erstellen
Entscheidend ist die explizite Nennung des Frameworks. GitLabs Empfehlung für Code Generation lautet: das Ergebnis benennen, konkret und knapp bleiben sowie die gewünschte Bibliothek oder das gewünschte Framework nennen. Ein vager Kommentar wie # web service liefert dem Modell deutlich weniger Anhaltspunkte.
Zwei Dinge sind zu erwarten. Die Ausgabe von Code Generation ist auf rund 2.048 Token begrenzt. Das Ergebnis ist also ein solides Grundgerüst, keine fertige Anwendung. Weil diese Modelle nicht deterministisch arbeiten, erzeugt derselbe Kommentar nicht zweimal identischen Code, was normal ist und keine Fehlkonfiguration anzeigt.
Sind unterschiedlichen Funktionen unterschiedliche Modelle zugewiesen, ist ein getrennter Test ratsam, damit ein Fehler auf ein bestimmtes Deployment zeigt. Ein erfolgreicher Test von Code Generation bestätigt zugleich, dass in Schritt 5 tatsächlich das zugewiesene Modell die Anfrage bedient.
3. AI-Gateway-Logs prüfen
Die AI-Gateway-Logs zeigen, ob Anfragen an die Microsoft-Foundry-Deployments weitergeleitet werden:
docker logs gitlab-ai-gateway --tail 100 -f
Die Logeinträge sollten erfolgreiche Anfragen an den konfigurierten Modell-Endpunkt zeigen. Prompt-Logging sollte nur aktiviert werden, wenn die Datenrichtlinie der Organisation das erlaubt.
Diese Schritte folgen als Nächstes.
Das GitLab-Team testet die Leistung jedes Modells aktiv für jede Funktion und veröffentlicht eine Einstufung von Leistung und Eignung:
Kompatibilität lässt sich weder aus dem Modellnamen noch aus der Präsenz im Foundry-Katalog ableiten. Maßgeblich für die aktuellen Bewertungen bleibt GitLabs Seite zu Modellen und Hardwareanforderungen.
Strategien zur Kostenoptimierung:
Dieser Leitfaden konzentriert sich auf die Integration mit Microsoft Foundry, GitLab Duo Self-Hosted unterstützt allerdings mehrere Deployment-Optionen:
Für Organisationen, die bereits auf Azure setzen, bietet Microsoft Foundry eigene Vorteile:
Diese Fähigkeiten können ein Compliance-Programm unterstützen, machen aber kein GitLab-Duo-Deployment von sich aus konform. Architektur, Datenflüsse, Logging, Aufbewahrung, Verträge und Betriebskontrollen sollten insgesamt gegen die eigenen Anforderungen geprüft werden.
GitLab Duo Self-Hosted mit Microsoft Foundry lässt Organisationen Funktionen von GitLab Duo aus Azure-gehosteten Modellen bedienen. Weil der Foundry-Katalog GPT, Claude, Llama und Mistral umfasst und GitLab Modelle aus jeder dieser Familien unterstützt, deckt ein einziges Azure-Abonnement die benötigten Familien ab. Am Anfang steht ein breit einsetzbares Modell, weitere Modelle für einzelne Funktionen folgen, sobald eigene Messungen das rechtfertigen.
Die in diesem Beitrag genannten Modellnamen sind Beispiele, keine Empfehlungen. Beide Kataloge ändern sich häufig. Maßgeblich bleiben zum Zeitpunkt der Bereitstellung die beiden Anbieter-Matrizen.
Im Kern bleibt die Modellwahl eine Kompatibilitätsentscheidung, kein Stöbern im Katalog: Support-Matrix von GitLab prüfen, Verfügbarkeit und Lifecycle-Status in Microsoft Foundry bestätigen, die Modelle bereitstellen und vor einem breiten Rollout mit eigenen Workloads validieren.
Kostenlose 30-tägige
GitLab-Testversion starten
Keine Kreditkarte erforderlich.
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 teilenBeginne noch heute, schneller zu entwickeln
Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.