[{"data":1,"prerenderedAt":781},["ShallowReactive",2],{"/de-de/blog/tutorial-automated-release-and-release-notes-with-gitlab":3,"navigation-de-de":47,"banner-de-de":449,"footer-de-de":459,"blog-post-authors-de-de-Ben Ridley":664,"blog-related-posts-de-de-tutorial-automated-release-and-release-notes-with-gitlab":678,"blog-promotions-de-de":718,"next-steps-de-de":771},{"id":4,"title":5,"authorSlugs":6,"body":8,"categorySlug":9,"config":10,"content":14,"description":8,"extension":30,"isFeatured":12,"meta":31,"navigation":32,"path":33,"publishedDate":20,"seo":34,"stem":38,"tagSlugs":39,"__hash__":46},"blogPosts/de-de/blog/tutorial-automated-release-and-release-notes-with-gitlab.yml","Tutorial Automated Release And Release Notes With Gitlab",[7],"ben-ridley",null,"product",{"slug":11,"featured":12,"template":13},"tutorial-automated-release-and-release-notes-with-gitlab",false,"BlogPost",{"title":15,"description":16,"authors":17,"heroImage":19,"date":20,"body":21,"category":9,"tags":22,"updatedDate":29},"GitLab-Tutorial: Releases & Versionshinweise automatisieren","Mit GitLab kannst du Release-Artefakte, Versionshinweise und Änderungsprotokolle, die benutzerbezogenen Software-Änderungen enthalten, automatisieren.",[18],"Ben Ridley","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659978/Blog/Hero%20Images/automation.png","2023-11-01","***Update 2025** - Die Änderungsprotokoll-API wurde weiterentwickelt und enthält jetzt geniale neue Funktionen, auf die wir in diesem Blog nicht eingehen, wie die Möglichkeit, benutzerdefinierte Änderungsprotokolle mit Vorlagenwerten aus deinem Commit-Verlauf bereitzustellen. [Mehr dazu erfährst du in der offiziellen Dokumentation zu Änderungsprotokollen (nur in englischer Sprache verfügbar).](https://docs.gitlab.com/user/project/changelogs/)*\n\nWenn du Software entwickelst, auf die sich Benutzer(innen) verlassen, ist eine effektive Kommunikation über Änderungen bei jeder Release unerlässlich. Indem du Benutzer(innen) über neue Funktionen sowie darüber informierst, was geändert oder entfernt wurde, stellst du sicher, dass sie die Vorteile der Software wirklich nutzen können und sie bei Upgrades keine unangenehmen Überraschungen erwarten.\n\nIn der Vergangenheit war das Erstellen von Versionshinweisen und die Pflege eines Änderungsprotokolls eine mühsame Aufgabe, bei der Entwickler(innen) die Änderungen extern überwachen oder eigene Release Manager den Verlauf der Zusammenführungen durcharbeiten mussten. Mit der Änderungsprotokoll-API von GitLab kannst du den umfassenden Verlauf, der in unserem Git-Repository gespeichert ist, heranziehen, um ganz einfach Versionshinweise zu erstellen und ein Änderungsprotokoll zu führen.\n\nIn diesem Tutorial sehen wir uns an, wie du Releases mit GitLab automatisieren kannst und finden heraus, wie man Release-Artefakte, Versionshinweise und ein umfassendes Änderungsprotokoll, das alle benutzerbezogenen Software-Änderungen enthält, erstellt.\n\n## Releases in GitLab\nZuerst wollen wir uns ansehen, wie Releases in GitLab funktionieren.\n\nIn GitLab ist eine Release eine bestimmte Version deines Codes, die durch ein Git-Tag identifiziert wird. Dieses enthält Details zu den Änderungen seit der letzten Release (und Versionshinweise) sowie zugehörige Artefakte, die aus dieser Version des Codes erstellt wurden, wie Docker-Images, Installationspakete und Dokumentation.\n\nDu kannst Releases in GitLab über die UI erstellen und nachverfolgen, indem du unsere Release-API aufrufst oder den Job `release` innerhalb einer CI-Pipeline aufrufst. In diesem Tutorial verwenden wir den Job `release` in einer CI/CD-Pipeline, sodass wir die Automatisierung, die wir in unserer Pipeline zum Testen, für Code-Scans und mehr verwenden, auch für automatisierte Releases nutzen können.\n\nUm unsere Releases zu automatisieren, müssen wir zunächst die folgende Frage beantworten: Wo bekommen wir für unsere Versionshinweise und unser Änderungsprotokoll Informationen zu den vorgenommenen Änderungen? Die Antwort: In unserem Git-Repository, in dem wir durch Commit-Nachrichten und den Merge-Commit-Verlauf eine umfassende Übersicht über die Entwicklungsaktivitäten haben. Sehen wir uns an, ob wir diesen umfassenden Verlauf nutzen können, um automatisch unsere Versionshinweise und Änderungsprotokolle zu erstellen.\n\n## Einführung in Commit-Trailer\n[Commit-Trailer](https://git-scm.com/docs/git-interpret-trailers) sind strukturierte Einträge in deinen Git-Commits, die erstellt werden, indem du einfach die Formatierungsnachrichten `\u003CHEADER>:\u003CBODY>` am Ende deines Commits einfügst. Das CLI-Tool `git` kann diese dann parsen und für die Verwendung in anderen Systemen extrahieren. Ein Beispiel, das du vielleicht schon einmal verwendet hast, ist `git commit --sign-off`, um ein Commit zu beenden. Dies wird implementiert, indem der Trailer `Signed-off-by: \u003CDein Name>` zum Commit hinzugefügt wird. Wir können hier beliebige strukturierte Daten hinzufügen, sodass dies eine tolle Möglichkeit ist, Informationen zu speichern, die für das Änderungsprotokoll nützlich sein könnten.\n\nWenn wir in unseren Commits den Trailer `Changelog: \u003Cadded/changed/removed>` verwenden, parst die Änderungsprotokoll-API von GitLab diese und verwendet sie, um automatisch ein Änderungsprotokoll für uns zu erstellen!\n\nSehen wir uns das in Aktion an, indem wir Änderungen an einer echten Codebase vornehmen, eine Release durchführen und dann Versionshinweise und Änderungsprotokoll-Einträge generieren.\n\n## Beispielprojekt\nFür diesen Blog verwende ich ein einfaches Python-Web-App-Repository. Nehmen wir an, dass Version 1.0.0 der Anwendung gerade veröffentlicht wurde und die aktuelle Version des Codes ist. Ich habe auch die Release 1.0.0 in GitLab erstellt, was ich manuell tun musste, da wir unsere automatisierte Release-Pipeline ja noch nicht erstellt haben:\n\n![Ein Screenshot der GitLab-UI, die eine Release für Version 1.0.0 zeigt](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/1-0-release.png)\n\n## Nehmen wir unsere Änderungen vor\nWir entwickeln rasend schnell und arbeiten daher schon daran, Version 2.0.0 unserer Anwendung heute zu veröffentlichen. Im Rahmen unserer Release 2.0.0 fügen wir eine neue Funktion zu unserer App hinzu: einen Chatbot! Wir werden auch die Quanten-Blockchain-Funktion entfernen, da wir diese nur für die erste Finanzierungsrunde benötigt haben. Außerdem fügen wir einen automatisierten Release-Job zu unserer CI/CD-Pipeline für unsere Release 2.0.0 hinzu.\n\nZuerst entfernen wir die nicht benötigten Funktionen. Ich habe einen Merge Request erstellt, der die notwendigen Änderungen enthält. Wir müssen sicherstellen, dass wir eine Commit-Nachricht haben, die den Trailer `Changelog: removed` enthält. Dazu gibt es mehrere Möglichkeiten: Wir können ihn unter anderem direkt in einen Commit einbauen oder einen interaktiven Rebase durchführen und über das CLI hinzufügen. Der einfachste Weg in unserem Fall ist meiner Meinung nach, bis zum Ende zu warten und dann die Schaltfläche `Edit commit message` in GitLab zu verwenden, um den Trailer folgendermaßen zum Merge-Commit hinzuzufügen:\n\n![Screenshot der GitLab-UI, der einen Merge Request zum Entfernen nicht verwendeter Funktionen zeigt](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/remove-unused-features-mr.png)\n\nMit dieser Methode kannst du auch den Titel des Merge-Commits auf einen prägnanteren Titel ändern. Ich habe den Titel meines Merge-Commit auf „Nicht verwendete Funktionen entfernen“ geändert, da dies im Eintrag im Änderungsprotokoll angezeigt wird.\n\nAls nächstes fügen wir einige neue Funktionen für die Version 2.0.0 hinzu. Hier müssen wir nur einen weiteren Merge Request öffnen, der unsere neuen Funktionen enthält, und dann den Merge-Commit bearbeiten, sodass er den Trailer `Changelog: added` enthält, und dann den Commit-Titel auf einen prägnanteren Titel ändern:\n\n![Screenshot der GitLab-UI, der einen Merge Request zum Hinzufügen neuer Funktionen zeigt](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/add-chatbot-mr.png)\n\nJetzt sind wir eigentlich bereit, 2.0.0 zu veröffentlichen. Aber dieses Mal möchten wir unsere Release nicht manuell erstellen. Deshalb fügen wir vor der Release einige Jobs zur Datei `.gitlab-ci.yml` hinzu, die die Release automatisch für uns durchführen und die entsprechenden Versionshinweise und Einträge ins Änderungsprotokoll erstellen, wenn wir unseren Code mit einer neuen Version wie z. B. `2.0.0` taggen.\n\n**Hinweis:** Wenn du Änderungsprotokoll-Trailer erzwingen möchtest, solltest du überlegen, etwas wie [Gefahr bei der Durchführung automatischer Überprüfungen für MR-Konventionen (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/ee/development/dangerbot.html) zu verwenden.\n\n## Erstellen einer automatisierten Release-Pipeline\nDamit unsere Pipeline funktioniert, müssen wir ein Projektzugriffstoken erstellen, mit dem wir die GitLab-API aufrufen können, damit sie die Einträge im Änderungsprotokoll erstellt. [Erstelle ein Projektzugriffstoken im API-Bereich (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html#create-a-project-access-token) und [speichere das Token dann als CI/CD-Variable (nur in englischer Sprache verfügbar)]((https://docs.gitlab.com/ee/ci/variables/#define-a-cicd-variable-in-the-ui) mit dem Namen `CI_API_TOKEN`. Wir verweisen auf diese Variable, um uns bei der API zu authentifizieren.\n\nNun fügen wir zwei neue Jobs zu unserer Datei `gitlab-ci.yml` hinzu:\n```yaml\nprepare_job:\n  stage: prepare\n  image: alpine:latest\n  rules:\n  - if: '$CI_COMMIT_TAG =~ /^v?\\d+\\.\\d+\\.\\d+$/'\n  script:\n    - apk add curl jq\n    - 'curl -H \"PRIVATE-TOKEN: $CI_API_TOKEN\" \"$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/changelog?version=$CI_COMMIT_TAG\" | jq -r .notes > release_notes.md'\n  artifacts:\n    paths:\n    - release_notes.md\n\nrelease_job:\n  stage: release\n  image: registry.gitlab.com/gitlab-org/release-cli:latest\n  needs:\n    - job: prepare_job\n      artifacts: true\n  rules:\n  - if: '$CI_COMMIT_TAG =~ /^v?\\d+\\.\\d+\\.\\d+$/'\n  script:\n    - echo \"Creating release\"\n  release:\n    name: 'Release $CI_COMMIT_TAG'\n    description: release_notes.md\n    tag_name: '$CI_COMMIT_TAG'\n    ref: '$CI_COMMIT_SHA'\n    assets:\n      links:\n        - name: 'Container Image $CI_COMMIT_TAG'\n          url: \"https://$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA\"\n```\n\nIn der oben angeführten Konfiguration verwendet `prepare_job` die Befehle `curl` und `jq`, um den Endpunkt der Änderungsprotokoll-API von GitLab aufzurufen und übergibt dies dann an unser `release_job`, um die Release zu erstellen. Genauer gesagt sieht das so aus:\n- Wir verwenden das Projektzugriffstoken, dass wir zuvor erstellt haben, um die Änderungsprotokoll-API von GitLab aufzurufen, die dann die Versionshinweise erstellt. Wir speichern dies als Artefakt.\n- Wir verwenden die Variable `$CI_COMMIT_TAG` als Version. Dazu müssen wir eine semantische Versionierung für unsere Tags verwenden (beispielsweise so etwas wie `2.0.0`). Du wirst auch bemerkt haben, dass ich den Release-Job mit dem Abschnitt `rules` eingeschränkt habe, der auf ein semantisches Versions-Tag überprüft.\n\t- Damit die Änderungsprotokoll-API von GitLab funktioniert, ist eine semantische Versionierung erforderlich. Sie verwendet dieses Format, um die neueste Release zu finden und sie mit unserer aktuellen Release zu vergleichen.\n- Wir verwenden das offizielle Image `release-cli` von GitLab. „release-cli“ ist erforderlich, um das Schlüsselwort `release` in einem Job zu verwenden.\n- Wir verwenden das Schlüsselwort `release`, um eine Release in GitLab zu erstellen. Dies ist ein spezielles Job-Schlüsselwort, das für die Erstellung einer Release und das Ausfüllen der erforderlichen Felder reserviert ist.\n- Wir können eine Datei als Argument an die `description` der Release übergeben. In unserem Fall ist es die Datei, die wir in `prepare_job` erstellt haben und die als Artefakt an diesen Job übergeben wurde.\n- Wir haben auch unser Container-Image, das früher in der Pipeline erstellt wurde, als Release-Asset hinzugefügt. Du kannst alle Assets aus deinem Build-Prozess anhängen, die du möchtest, z. B. Binärdateien oder Dokumentationen, indem du eine URL zu dem Ort angibst, an den du sie zuvor in der Pipeline hochgeladen hast.\n\n## Durchführen einer automatisierten Release\nMit dieser Konfiguration müssen wir nur ein Tag in unser Repository übertragen, das unserem Versionsschema entspricht, um eine Release durchzuführen. Du kannst einfach ein Tag mit dem CLI pushen. Für dieses Beispiel wird die GitLab-UI verwendet, um ein Tag im main-Branch zu erstellen. Erstelle ein Tag, indem du in der Seitenleiste „Code“ -> „Tags“ -> „Neues Tag“ auswählst:\n![Screenshot der GitLab-UI, der zeigt, wie man ein Tag erstellt](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/create-2-tag.png)\n\nNach der Erstellung werden unsere Pipelines ausgeführt. Die Änderungsprotokoll-API von GitLab generiert automatisch Versionshinweise für uns als Markdown, der alle Änderungen zwischen dieser Release und der vorherigen Release enthält. Hier ist der Markdown, der in unserem Beispiel generiert wurde:\n\n```md\n## 2.0.0 (2023-08-25)\n\n### added (1 change)\n\n- [Add ChatBot](gl-demo-ultimate-bridley/super-devsecops-incorporated/simply-notes-release-demo@0c3601a45af617c5481322bfce4d71db1f911b02) ([merge request](gl-demo-ultimate-bridley/super-devsecops-incorporated/simply-notes-release-demo!4))\n\n### removed (1 change)\n\n- [Remove Unused Features](gl-demo-ultimate-bridley/super-devsecops-incorporated/simply-notes-release-demo@463d453c5ae0f4fc611ea969e5442e3298bf0d8a) ([merge request](gl-demo-ultimate-bridley/super-devsecops-incorporated/simply-notes-release-demo!3))\n```\n\nWie du sehen kannst, hat GitLab die Einträge für unsere Versionshinweise automatisch mit unseren Git-Commit-Trailern extrahiert. Außerdem werden hilfreiche Links zum Merge Request bereitgestellt, damit die Leser(innen) weitere Details und Diskussionen zu den Änderungen sehen können.\n\nUnd jetzt folgt unsere letzte Release:\n![GitLab-Release-UI, die ein Release für Version 2.0.0 zeigt](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/2-0-release.png)\n\n## Erstellen des Änderungsprotokolls\nAls nächstes möchten wir unser Änderungsprotokoll aktualisieren (das im Grunde ein gesammelter Verlauf aller deiner Versionshinweise ist). Du kannst dazu eine `POST`-Anfrage an den Änderungsprotokoll-API-Endpunkt senden, den wir zuvor verwendet haben.\n\nDu kannst dies auch als Teil deiner Release-Pipeline tun, wenn du möchtest. Dazu kannst du beispielswiese den folgenden Code in den Abschnitt `script` deines Vorbereitungsjobs einfügen:\n```sh\n'curl -H \"PRIVATE-TOKEN: $CI_API_TOKEN\" -X POST \"$CI_API_V4_URL/projects/$CI_PROJECT_ID/repository/changelog?version=$CI_COMMIT_TAG\"\n```\n\n**Beachte dabei, dass dies das Repository ändert.** Es wird ein Commit erstellt, um die neuesten Notizen zu einer Datei `CHANGELOG.md` hinzuzufügen:\n![Screenshot des Repositorys, der einen Commit zeigt, der die Änderungsprotokolldatei aktualisiert](https://about.gitlab.com/images/blogimages/2023-08-22-automated-release-and-release-notes-with-gitlab/changelog-api-commit.png)\n\nUnd das war’s auch schon! Indem wir den umfassenden Verlauf, den uns `git` bietet, mit praktischen Commit-Trailern nutzen, können wir die leistungsstarke API und die CI/CD-Pipelines von GitLab optimal einsetzen, um unsere Release-Prozesse zu automatisieren und Versionshinweise für uns zu erstellen.\n\n> Wenn du das Projekt erkunden möchtest, das wir für diesen Artikel verwendet haben, [findest du es unter diesem Link](https://gitlab.com/gitlab-learn-labs/sample-projects/release-automation-demo).\n",[23,24,25,26,27,28],"Tutorial","CI","CI/CD","DevOps","DevSecOps","Git","2025-06-05","yml",{},true,"/de-de/blog/tutorial-automated-release-and-release-notes-with-gitlab",{"title":15,"description":16,"ogTitle":15,"ogDescription":16,"noIndex":12,"ogImage":19,"ogUrl":35,"ogSiteName":36,"ogType":37,"canonicalUrls":35},"https://about.gitlab.com/blog/tutorial-automated-release-and-release-notes-with-gitlab","https://about.gitlab.com","Artikel","de-de/blog/tutorial-automated-release-and-release-notes-with-gitlab",[40,41,42,43,44,45],"tutorial","ci","cicd","devops","devsecops","git","dn79Lj1yLIL4JpUpGcd0P9rPj6yqgbKc1HVf6KTxG-M",{"data":48},{"logo":49,"freeTrial":54,"sales":59,"login":64,"items":69,"search":377,"minimal":412,"duo":430,"pricingDeployment":439},{"config":50},{"href":51,"dataGaName":52,"dataGaLocation":53},"/de-de/","gitlab logo","header",{"text":55,"config":56},"Kostenlose Testversion anfordern",{"href":57,"dataGaName":58,"dataGaLocation":53},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":60,"config":61},"Vertrieb kontaktieren",{"href":62,"dataGaName":63,"dataGaLocation":53},"/de-de/sales/","sales",{"text":65,"config":66},"Anmelden",{"href":67,"dataGaName":68,"dataGaLocation":53},"https://gitlab.com/users/sign_in/","sign in",[70,97,192,197,298,358],{"text":71,"config":72,"cards":74},"Plattform",{"dataNavLevelOne":73},"platform",[75,81,89],{"title":71,"description":76,"link":77},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":78,"config":79},"Erkunde unsere Plattform",{"href":80,"dataGaName":73,"dataGaLocation":53},"/de-de/platform/",{"title":82,"description":83,"link":84},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":85,"config":86},"Lerne GitLab Duo kennen",{"href":87,"dataGaName":88,"dataGaLocation":53},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":90,"description":91,"link":92},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":93,"config":94},"Mehr erfahren",{"href":95,"dataGaName":96,"dataGaLocation":53},"/de-de/why-gitlab/","why gitlab",{"text":98,"left":32,"config":99,"link":101,"lists":105,"footer":174},"Produkt",{"dataNavLevelOne":100},"solutions",{"text":102,"config":103},"Alle Lösungen anzeigen",{"href":104,"dataGaName":100,"dataGaLocation":53},"/de-de/solutions/",[106,130,152],{"title":107,"description":108,"link":109,"items":114},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":110},{"icon":111,"href":112,"dataGaName":113,"dataGaLocation":53},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[115,118,121,126],{"text":25,"config":116},{"href":117,"dataGaLocation":53,"dataGaName":25},"/de-de/solutions/continuous-integration/",{"text":82,"config":119},{"href":87,"dataGaLocation":53,"dataGaName":120},"gitlab duo agent platform - product menu",{"text":122,"config":123},"Quellcodeverwaltung",{"href":124,"dataGaLocation":53,"dataGaName":125},"/de-de/solutions/source-code-management/","Source Code Management",{"text":127,"config":128},"Automatisierte Softwarebereitstellung",{"href":112,"dataGaLocation":53,"dataGaName":129},"Automated software delivery",{"title":131,"description":132,"link":133,"items":138},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":134},{"href":135,"dataGaName":136,"dataGaLocation":53,"icon":137},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[139,143,148],{"text":140,"config":141},"Application Security Testing",{"href":135,"dataGaName":142,"dataGaLocation":53},"Application security testing",{"text":144,"config":145},"Schutz der Software-Lieferkette",{"href":146,"dataGaLocation":53,"dataGaName":147},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":149,"config":150},"Software Compliance",{"href":151,"dataGaName":149,"dataGaLocation":53},"/de-de/solutions/software-compliance/",{"title":153,"link":154,"items":159},"Bewertung",{"config":155},{"icon":156,"href":157,"dataGaName":158,"dataGaLocation":53},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[160,164,169],{"text":161,"config":162},"Sichtbarkeit und Bewertung",{"href":157,"dataGaLocation":53,"dataGaName":163},"Visibility and Measurement",{"text":165,"config":166},"Wertstrommanagement",{"href":167,"dataGaLocation":53,"dataGaName":168},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":170,"config":171},"Analysen und Einblicke",{"href":172,"dataGaLocation":53,"dataGaName":173},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":175,"items":176},"GitLab für",[177,182,187],{"text":178,"config":179},"Enterprise",{"href":180,"dataGaLocation":53,"dataGaName":181},"/de-de/enterprise/","enterprise",{"text":183,"config":184},"Kleinunternehmen",{"href":185,"dataGaLocation":53,"dataGaName":186},"/de-de/small-business/","small business",{"text":188,"config":189},"den öffentlichen Sektor",{"href":190,"dataGaLocation":53,"dataGaName":191},"/de-de/solutions/public-sector/","public sector",{"text":193,"config":194},"Preise",{"href":195,"dataGaName":196,"dataGaLocation":53,"dataNavLevelOne":196},"/de-de/pricing/","pricing",{"text":198,"config":199,"link":201,"lists":205,"feature":285},"Ressourcen",{"dataNavLevelOne":200},"resources",{"text":202,"config":203},"Alle Ressourcen anzeigen",{"href":204,"dataGaName":200,"dataGaLocation":53},"/de-de/resources/",[206,239,257],{"title":207,"items":208},"Erste Schritte",[209,214,219,224,229,234],{"text":210,"config":211},"Installieren",{"href":212,"dataGaName":213,"dataGaLocation":53},"/de-de/install/","install",{"text":215,"config":216},"Kurzanleitungen",{"href":217,"dataGaName":218,"dataGaLocation":53},"/de-de/get-started/","quick setup checklists",{"text":220,"config":221},"Lernen",{"href":222,"dataGaLocation":53,"dataGaName":223},"https://university.gitlab.com/","learn",{"text":225,"config":226},"Produktdokumentation",{"href":227,"dataGaName":228,"dataGaLocation":53},"https://docs.gitlab.com/","product documentation",{"text":230,"config":231},"Best-Practice-Videos",{"href":232,"dataGaName":233,"dataGaLocation":53},"/de-de/getting-started-videos/","best practice videos",{"text":235,"config":236},"Integrationen",{"href":237,"dataGaName":238,"dataGaLocation":53},"/de-de/integrations/","integrations",{"title":240,"items":241},"Entdecken",[242,247,252],{"text":243,"config":244},"Kundenerfolge",{"href":245,"dataGaName":246,"dataGaLocation":53},"/de-de/customers/","customer success stories",{"text":248,"config":249},"Blog",{"href":250,"dataGaName":251,"dataGaLocation":53},"/de-de/blog/","blog",{"text":253,"config":254},"Remote",{"href":255,"dataGaName":256,"dataGaLocation":53},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":258,"items":259},"Vernetzen",[260,265,270,275,280],{"text":261,"config":262},"GitLab-Services",{"href":263,"dataGaName":264,"dataGaLocation":53},"/de-de/services/","services",{"text":266,"config":267},"Community",{"href":268,"dataGaName":269,"dataGaLocation":53},"/community/","community",{"text":271,"config":272},"Forum",{"href":273,"dataGaName":274,"dataGaLocation":53},"https://forum.gitlab.com/","forum",{"text":276,"config":277},"Veranstaltungen",{"href":278,"dataGaName":279,"dataGaLocation":53},"/events/","events",{"text":281,"config":282},"Partner",{"href":283,"dataGaName":284,"dataGaLocation":53},"/de-de/partners/","partners",{"backgroundColor":286,"textColor":287,"text":288,"image":289,"link":293},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":290,"config":291},"the source promo card",{"src":292},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":294,"config":295},"Lies die News",{"href":296,"dataGaName":297,"dataGaLocation":53},"/de-de/the-source/","the source",{"text":299,"config":300,"lists":302},"Unternehmen",{"dataNavLevelOne":301},"company",[303],{"items":304},[305,310,316,318,323,328,333,338,343,348,353],{"text":306,"config":307},"Über",{"href":308,"dataGaName":309,"dataGaLocation":53},"/de-de/company/","about",{"text":311,"config":312,"footerGa":315},"Karriere",{"href":313,"dataGaName":314,"dataGaLocation":53},"/jobs/","jobs",{"dataGaName":314},{"text":276,"config":317},{"href":278,"dataGaName":279,"dataGaLocation":53},{"text":319,"config":320},"Geschäftsführung",{"href":321,"dataGaName":322,"dataGaLocation":53},"/company/team/e-group/","leadership",{"text":324,"config":325},"Team",{"href":326,"dataGaName":327,"dataGaLocation":53},"/company/team/","team",{"text":329,"config":330},"Handbuch",{"href":331,"dataGaName":332,"dataGaLocation":53},"https://handbook.gitlab.com/","handbook",{"text":334,"config":335},"Investor Relations",{"href":336,"dataGaName":337,"dataGaLocation":53},"https://ir.gitlab.com/","investor relations",{"text":339,"config":340},"Trust Center",{"href":341,"dataGaName":342,"dataGaLocation":53},"/de-de/security/","trust center",{"text":344,"config":345},"AI Transparency Center",{"href":346,"dataGaName":347,"dataGaLocation":53},"/de-de/ai-transparency-center/","ai transparency center",{"text":349,"config":350},"Newsletter",{"href":351,"dataGaName":352,"dataGaLocation":53},"/company/contact/#contact-forms","newsletter",{"text":354,"config":355},"Presse",{"href":356,"dataGaName":357,"dataGaLocation":53},"/press/","press",{"text":359,"config":360,"lists":361},"Kontakt",{"dataNavLevelOne":301},[362],{"items":363},[364,367,372],{"text":60,"config":365},{"href":62,"dataGaName":366,"dataGaLocation":53},"talk to sales",{"text":368,"config":369},"Support-Portal",{"href":370,"dataGaName":371,"dataGaLocation":53},"https://support.gitlab.com","support portal",{"text":373,"config":374},"Kundenportal",{"href":375,"dataGaName":376,"dataGaLocation":53},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":378,"login":379,"suggestions":386},"Schließen",{"text":380,"link":381},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":382,"config":383},"gitlab.com",{"href":67,"dataGaName":384,"dataGaLocation":385},"search login","search",{"text":387,"default":388},"Vorschläge",[389,391,396,398,403,408],{"text":82,"config":390},{"href":87,"dataGaName":82,"dataGaLocation":385},{"text":392,"config":393},"Code Suggestions (KI)",{"href":394,"dataGaName":395,"dataGaLocation":385},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":25,"config":397},{"href":117,"dataGaName":25,"dataGaLocation":385},{"text":399,"config":400},"GitLab auf AWS",{"href":401,"dataGaName":402,"dataGaLocation":385},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":404,"config":405},"GitLab auf Google Cloud",{"href":406,"dataGaName":407,"dataGaLocation":385},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":409,"config":410},"Warum GitLab?",{"href":95,"dataGaName":411,"dataGaLocation":385},"Why GitLab?",{"freeTrial":413,"mobileIcon":418,"desktopIcon":423,"secondaryButton":426},{"text":414,"config":415},"Kostenlos testen",{"href":416,"dataGaName":58,"dataGaLocation":417},"https://gitlab.com/-/trials/new/","nav",{"altText":419,"config":420},"GitLab-Symbol",{"src":421,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":419,"config":424},{"src":425,"dataGaName":422,"dataGaLocation":417},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":207,"config":427},{"href":428,"dataGaName":429,"dataGaLocation":417},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":431,"mobileIcon":435,"desktopIcon":437},{"text":432,"config":433},"Erfahre mehr über GitLab Duo",{"href":87,"dataGaName":434,"dataGaLocation":417},"gitlab duo",{"altText":419,"config":436},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":438},{"src":425,"dataGaName":422,"dataGaLocation":417},{"freeTrial":440,"mobileIcon":445,"desktopIcon":447},{"text":441,"config":442},"Zurück zur Preisübersicht",{"href":195,"dataGaName":443,"dataGaLocation":417,"icon":444},"back to pricing","GoBack",{"altText":419,"config":446},{"src":421,"dataGaName":422,"dataGaLocation":417},{"altText":419,"config":448},{"src":425,"dataGaName":422,"dataGaLocation":417},{"title":450,"button":451,"config":456},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":452,"config":453},"GitLab Transcend jetzt ansehen",{"href":454,"dataGaName":455,"dataGaLocation":53},"/de-de/events/transcend/virtual/","transcend event",{"layout":457,"icon":458,"disabled":32},"release","AiStar",{"data":460},{"text":461,"source":462,"edit":468,"contribute":473,"config":478,"items":483,"minimal":656},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":463,"config":464},"Quelltext der Seite anzeigen",{"href":465,"dataGaName":466,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":469,"config":470},"Diese Seite bearbeiten",{"href":471,"dataGaName":472,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":474,"config":475},"Beteilige dich",{"href":476,"dataGaName":477,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":479,"facebook":480,"youtube":481,"linkedin":482},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[484,507,562,589,623],{"title":71,"links":485,"subMenu":490},[486],{"text":487,"config":488},"DevSecOps-Plattform",{"href":80,"dataGaName":489,"dataGaLocation":467},"devsecops platform",[491],{"title":193,"links":492},[493,497,502],{"text":494,"config":495},"Tarife anzeigen",{"href":195,"dataGaName":496,"dataGaLocation":467},"view plans",{"text":498,"config":499},"Vorteile von Premium",{"href":500,"dataGaName":501,"dataGaLocation":467},"/de-de/pricing/premium/","why premium",{"text":503,"config":504},"Vorteile von Ultimate",{"href":505,"dataGaName":506,"dataGaLocation":467},"/de-de/pricing/ultimate/","why ultimate",{"title":508,"links":509},"Lösungen",[510,515,518,520,525,530,534,537,540,545,547,549,552,557],{"text":511,"config":512},"Digitale Transformation",{"href":513,"dataGaName":514,"dataGaLocation":467},"/de-de/topics/digital-transformation/","digital transformation",{"text":516,"config":517},"Sicherheit und Compliance",{"href":135,"dataGaName":142,"dataGaLocation":467},{"text":127,"config":519},{"href":112,"dataGaName":113,"dataGaLocation":467},{"text":521,"config":522},"Agile Entwicklung",{"href":523,"dataGaName":524,"dataGaLocation":467},"/de-de/solutions/agile-delivery/","agile delivery",{"text":526,"config":527},"Cloud-Transformation",{"href":528,"dataGaName":529,"dataGaLocation":467},"/de-de/topics/cloud-native/","cloud transformation",{"text":531,"config":532},"SCM",{"href":124,"dataGaName":533,"dataGaLocation":467},"source code management",{"text":25,"config":535},{"href":117,"dataGaName":536,"dataGaLocation":467},"continuous integration & delivery",{"text":165,"config":538},{"href":167,"dataGaName":539,"dataGaLocation":467},"value stream management",{"text":541,"config":542},"GitOps",{"href":543,"dataGaName":544,"dataGaLocation":467},"/de-de/solutions/gitops/","gitops",{"text":178,"config":546},{"href":180,"dataGaName":181,"dataGaLocation":467},{"text":183,"config":548},{"href":185,"dataGaName":186,"dataGaLocation":467},{"text":550,"config":551},"Öffentlicher Sektor",{"href":190,"dataGaName":191,"dataGaLocation":467},{"text":553,"config":554},"Bildungswesen",{"href":555,"dataGaName":556,"dataGaLocation":467},"/de-de/solutions/education/","education",{"text":558,"config":559},"Finanzdienstleistungen",{"href":560,"dataGaName":561,"dataGaLocation":467},"/de-de/solutions/finance/","financial services",{"title":198,"links":563},[564,566,568,570,573,575,577,579,581,583,585,587],{"text":210,"config":565},{"href":212,"dataGaName":213,"dataGaLocation":467},{"text":215,"config":567},{"href":217,"dataGaName":218,"dataGaLocation":467},{"text":220,"config":569},{"href":222,"dataGaName":223,"dataGaLocation":467},{"text":225,"config":571},{"href":227,"dataGaName":572,"dataGaLocation":467},"docs",{"text":248,"config":574},{"href":250,"dataGaName":251,"dataGaLocation":467},{"text":243,"config":576},{"href":245,"dataGaName":246,"dataGaLocation":467},{"text":253,"config":578},{"href":255,"dataGaName":256,"dataGaLocation":467},{"text":261,"config":580},{"href":263,"dataGaName":264,"dataGaLocation":467},{"text":266,"config":582},{"href":268,"dataGaName":269,"dataGaLocation":467},{"text":271,"config":584},{"href":273,"dataGaName":274,"dataGaLocation":467},{"text":276,"config":586},{"href":278,"dataGaName":279,"dataGaLocation":467},{"text":281,"config":588},{"href":283,"dataGaName":284,"dataGaLocation":467},{"title":299,"links":590},[591,593,595,597,599,601,603,607,612,614,616,618],{"text":306,"config":592},{"href":308,"dataGaName":301,"dataGaLocation":467},{"text":311,"config":594},{"href":313,"dataGaName":314,"dataGaLocation":467},{"text":319,"config":596},{"href":321,"dataGaName":322,"dataGaLocation":467},{"text":324,"config":598},{"href":326,"dataGaName":327,"dataGaLocation":467},{"text":329,"config":600},{"href":331,"dataGaName":332,"dataGaLocation":467},{"text":334,"config":602},{"href":336,"dataGaName":337,"dataGaLocation":467},{"text":604,"config":605},"Sustainability",{"href":606,"dataGaName":604,"dataGaLocation":467},"/sustainability/",{"text":608,"config":609},"Vielfalt, Inklusion und Zugehörigkeit",{"href":610,"dataGaName":611,"dataGaLocation":467},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":339,"config":613},{"href":341,"dataGaName":342,"dataGaLocation":467},{"text":349,"config":615},{"href":351,"dataGaName":352,"dataGaLocation":467},{"text":354,"config":617},{"href":356,"dataGaName":357,"dataGaLocation":467},{"text":619,"config":620},"Transparenzerklärung zu moderner Sklaverei",{"href":621,"dataGaName":622,"dataGaLocation":467},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":624,"links":625},"Nimm Kontakt auf",[626,629,634,636,641,646,651],{"text":627,"config":628},"Sprich mit einem Experten/einer Expertin",{"href":62,"dataGaName":63,"dataGaLocation":467},{"text":630,"config":631},"Support",{"href":632,"dataGaName":633,"dataGaLocation":467},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":373,"config":635},{"href":375,"dataGaName":376,"dataGaLocation":467},{"text":637,"config":638},"Status",{"href":639,"dataGaName":640,"dataGaLocation":467},"https://status.gitlab.com/","status",{"text":642,"config":643},"Nutzungsbedingungen",{"href":644,"dataGaName":645,"dataGaLocation":467},"/terms/","terms of use",{"text":647,"config":648},"Datenschutzerklärung",{"href":649,"dataGaName":650,"dataGaLocation":467},"/de-de/privacy/","privacy statement",{"text":652,"config":653},"Cookie-Einstellungen",{"dataGaName":654,"dataGaLocation":467,"id":655,"isOneTrustButton":32},"cookie preferences","ot-sdk-btn",{"items":657},[658,660,662],{"text":642,"config":659},{"href":644,"dataGaName":645,"dataGaLocation":467},{"text":647,"config":661},{"href":649,"dataGaName":650,"dataGaLocation":467},{"text":652,"config":663},{"dataGaName":654,"dataGaLocation":467,"id":655,"isOneTrustButton":32},[665],{"id":666,"title":18,"body":8,"config":667,"content":669,"description":8,"extension":30,"meta":673,"navigation":32,"path":674,"seo":675,"stem":676,"__hash__":677},"blogAuthors/en-us/blog/authors/ben-ridley.yml",{"template":668},"BlogAuthor",{"name":18,"config":670},{"headshot":671,"ctfId":672},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659973/Blog/Author%20Headshots/bridley-headshot.jpg","bridley",{},"/en-us/blog/authors/ben-ridley",{},"en-us/blog/authors/ben-ridley","jzbrM-xtuSS5JZxX-wev-ipXW7XmcYogOOxnbq1GSrs",[679,694,707],{"content":680,"config":692},{"title":681,"description":682,"authors":683,"heroImage":686,"date":687,"body":688,"category":9,"tags":689},"GitLab + Amazon: KI-Orchestrierung auf sicherem Fundament","Wie Duo Agent Platform und Amazon Bedrock Datensouveränität, Cloud-Governance und KI-Orchestrierung ohne parallele Infrastruktur vereinen.",[684,685],"Joe Mann","Mark Kriaf","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png","2026-04-21","Wer GitLab einsetzt und eine ausgereifte AWS-Praxis betreibt, findet in der\nKombination aus Duo Agent Platform und Amazon Bedrock eine passende Ergänzung.\nDas Prinzip ist klar: GitLab übernimmt die Orchestrierungsschicht und\nbeschleunigt den gesamten Software-Lifecycle mit agentischer KI. Bedrock stellt\nim Hintergrund eine sichere, compliance-fähige Foundation-Model-Schicht mit\nKI-Inferenz bereit.\n\nGitLab Duo Agent Platform ermöglicht Planung, Merge-Pipelines, Security\nScanning, Vulnerability Remediation und mehr als Teil bestehender\nGitLab-Workflows. Der GitLab AI Gateway leitet Modell-Anfragen an Bedrock\nweiter – oder an GitLab-verwaltete, Bedrock-gestützte Endpunkte, je nach\nDeployment-Konfiguration. Damit lässt sich auf den IAM-Richtlinien,\nVPC-Grenzen, regionalen Kontrollen und Cloud-Commitments aufbauen, die bereits\nin AWS bestehen.\n\nWer Amazon Bedrock bereits nutzt und KI-Unterstützung innerhalb der bestehenden\nGitLab-Workflows sucht – nicht in einem weiteren eigenständigen Chat-Werkzeug –\nfindet in dieser Kombination die passende Architektur.\n\nDieser Artikel beleuchtet zunächst das Problem, mit dem viele Teams heute\nkonfrontiert sind: KI ist fragmentiert, Datenpfade sind unklar, und\nBedrock-Investitionen werden zu wenig genutzt, wenn KI außerhalb des\nSoftware-Lifecycles operiert. Anschließend werden die Deployment-Optionen für\nGitLab Duo Agent Platform erläutert:\n\n- Integriert mit selbst gehosteten Modellen auf Amazon Bedrock für GitLab\n  Self-Managed-Deployments und selbst gehosteten AI Gateway\n- Integriert mit GitLab-betriebenen Modellen auf Amazon Bedrock (mit\n  GitLab-eigenen Keys) für GitLab Self-Managed-Deployments und\n  GitLab-gehosteten AI Gateway\n- Integriert mit GitLab-betriebenen Modellen auf Amazon Bedrock (mit\n  GitLab-eigenen Keys) für GitLab.com-Instanzen und GitLab-gehosteten\n  AI Gateway\n\nAbschließend wird zusammengefasst, wie dieser Ansatz nicht freigegebene\nKI-Werkzeuge (Shadow AI) und Point-Tool-Sprawl vermeidet, ohne einen parallelen\nTech-Stack für KI-Werkzeuge aufzubauen.\n\n\n## KI überall, Kontrolle nirgends\n\nIrgendwo im Unternehmen nutzen Softwareteams gerade ein KI-Werkzeug, das die\nSicherheitsabteilung nicht freigegeben hat. Prompt-Daten verlassen\nmöglicherweise die eigene Umgebung über einen Pfad, den niemand vollständig\nnachverfolgt hat. Und die Bedrock-Investition des Unternehmens wird zu wenig\ngenutzt, während einzelne Teams separate KI-Werkzeuge auf eigene Rechnung\nbetreiben – Workloads und Cloud-Ausgaben fließen so an Plattformen ab, auf die\nbereits Commitments bestehen.\n\nDas ist kein Personalproblem – es ist ein Architekturproblem. Und es\nmanifestiert sich in nahezu jedem Unternehmen in denselben drei Einschränkungen:\n\n**Operative Fragmentierung.** Jedes Team – manchmal jede einzelne Person –\nwählt das eigene Entwicklungs-Toolset, einschließlich KI-Werkzeuge und\nModellauswahl. Diese Fragmentierung macht eine durchgängige Governance innerhalb\ndes Software-Lifecycles nahezu unmöglich.\n\n**Sicherheit und Datensouveränität.** Wo fließen Prompt- und Code-Daten\ntatsächlich hin? Wer ist Eigentümer der Protokolle?\n\n**Cloud-Ausgabenoptimierung.** Commitments gegenüber zentralen Cloud-Anbietern\nwie AWS werden verwässert, wenn Workloads und KI-Nutzung zu Point-Tools\naußerhalb bestehender Vereinbarungen abwandern.\n\nGitLab Duo Agent Platform und Amazon Bedrock adressieren diese Probleme\ngemeinsam. Die Aufgabenteilung ist eindeutig: Duo Agent Platform verantwortet\ndie Workflow-Orchestrierung mit agentischer KI für die Softwareentwicklung,\nBedrock verantwortet die Inferenzschicht und hostet freigegebene\nFoundation-Modelle, und das Unternehmen behält die vollständige Kontrolle über\ndie Daten- und Richtliniengrenzen, die bereits in AWS definiert wurden. Drei\nAufgaben, drei Verantwortliche, keine Fragmentierung.\n\n\n## GitLab Duo Agent Platform: Die agentische Steuerungsebene\n\nGitLab Duo Agent Platform ist GitLabs agentische KI-Schicht: ein Framework aus\nspezialisierten Agenten und Abläufen, die gleichzeitig und parallel operieren –\nüber traditionelle stufenbasierte Übergaben hinaus – und Arbeit über den\ngesamten Software-Lifecycle hinweg automatisieren. Statt eines einzelnen\nAssistenten, der auf Prompts reagiert, ermöglicht Duo Agent Platform Teams die\nasynchrone Orchestrierung vieler KI-Agenten auf Basis einheitlicher Daten und\nProjektkontexte. Dazu gehören Issues, Merge Requests, Pipelines und Security\nFindings. Lineare Workflows werden so zu koordinierter, kontinuierlicher\nZusammenarbeit zwischen Softwareteams und ihren KI-Agenten – im erforderlichen\nUmfang.\n\nMit dieser Steuerungsebene stellt sich die nächste Frage: Welches KI-Fundament\nsoll diese Agenten antreiben? Für Unternehmen, die GitLab Self-Managed auf AWS\nbetreiben und sicherstellen müssen, dass Inferenz-Traffic, Prompt-Daten und\nProtokolle ebenfalls in der AWS-Umgebung verbleiben – gemeinsam mit den\nSoftware-Lifecycle-Daten – ist Amazon Bedrock als KI-Inferenzschicht die\nnaheliegende Wahl.\n\n\n## Amazon Bedrock: Das vertrauenswürdige KI-Fundament\n\nAmazon Bedrock ist eine vollständig verwaltete, serverlose\nFoundation-Model-Schicht, die vollständig in der AWS-Umgebung des Kunden läuft.\nKundendaten verbleiben im AWS-Account des Kunden. Eingaben und Ausgaben sind\nwährend der Übertragung und im Ruhezustand verschlüsselt, werden nie mit\nModellanbietern geteilt und nie zum Training von Basismodellen verwendet. Bedrock\nverfügt über Compliance-Zertifizierungen für DSGVO und BSI C5, die viele\nAnforderungen regulierter Branchen abdecken. Teams können außerdem eigene\nfeinabgestimmte Modelle über Custom Model Import einbinden und gemeinsam mit\nnativen Bedrock-Modellen über dieselbe Infrastruktur betreiben – ohne separate\nDeployment-Pipelines. Bedrock Guardrails ergänzt konfigurierbare\nSchutzmaßnahmen über alle Modelle hinweg: Content-Filterung,\nHalluzinationserkennung und Schutz sensibler Daten.\n\nGemeinsam konsolidieren GitLab Duo Agent Platform und Bedrock\nDevSecOps-Orchestrierung und KI-Modell-Governance – und helfen dabei, die\nFragmentierung zu vermeiden, die entsteht, wenn Teams KI-Werkzeuge eigenständig\neinführen.\n\n\n## Die passende Deployment-Variante wählen\n\nDie Integration liefert dieselben Kernfunktionen von GitLab Duo Agent Platform,\nunabhängig von der gewählten Deployment-Variante. Was variiert, ist: Wer\nbetreibt GitLab, wer betreibt den AI Gateway, und in welchem Bedrock-Account\nläuft die Inferenz? Die passende Variante hängt davon ab, wo das Unternehmen\nbereits operiert.\n\nDie Integration umfasst drei Hauptkomponenten:\n\n- **GitLab Duo Agent Platform:** Agentische Workflows, eingebettet in den\n  gesamten Software-Lifecycle\n- **AI Gateway (GitLab-verwaltet oder selbst gehostet):** Die\n  Abstraktionsschicht zwischen Duo Agent Platform und dem\n  Foundation-Model-Backend\n- **Amazon Bedrock:** KI-Modell- und Inferenzsubstrat\n\n![Deployment von GitLab und AWS Bedrock](https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362365/udmvmv2efpmwtkxgydch.png)\n\nDie Wahl der Deployment-Variante richtet sich danach, wo das Unternehmen die\nSteuerungshebel platzieren möchte. Die folgenden Varianten sind so konzipiert,\ndass sie Teams dort abholen, wo sie bereits stehen – ob SaaS-first,\nSelf-Managed aus Compliance-Gründen oder vollständig auf AWS mit bestehenden\nBedrock-Investitionen.\n\n| Deployment-Variante | GitLab.com-Instanz mit GitLab-gehostetem AI Gateway und GitLab-betriebenen Bedrock-Modellen | GitLab Self-Managed mit GitLab-gehostetem AI Gateway und GitLab-betriebenen Bedrock-Modellen | GitLab Self-Managed mit selbst gehostetem AI Gateway und kundenbetriebenen Bedrock-Modellen |\n| :---- | :---- | :---- | :---- |\n| **Geeignet wenn:** | Primär auf GitLab.com und kein eigener Betrieb von AI Gateway und Bedrock-Modellen gewünscht | GitLab Self-Managed aus Compliance- und operativen Gründen erforderlich, aber keine eigene Verwaltung der KI-Schicht gewünscht | AWS-zentrierte Umgebung mit bestehender Bedrock-Nutzung und strengen Anforderungen an Datenkontrolle |\n| **Wesentliche Vorteile** | Schnellster Einstieg in Duo Agent Platform-Workflows: GitLab betreibt GitLab.com, den AI Gateway und die integrierten Bedrock-KI-Modelle. | GitLab in der eigenen Umgebung betreiben und Bedrock-Modelle über einen GitLab-verwalteten AI Gateway nutzen – Deployment-Kontrolle kombiniert mit vereinfachtem KI-Betrieb. | GitLab und AI Gateway im eigenen AWS-Account betreiben, bestehende IAM/VPC/Regionen wiederverwenden, Protokolle und Daten in der eigenen Umgebung halten und Bedrock-Nutzung aus bestehenden AWS-Commitments beziehen. |\n\n\n## Praxiseinsatz von GitLab Duo Agent Platform mit Amazon Bedrock\n\nPlattformteams können GitLab Duo Agent Platform mit Amazon Bedrock nutzen, um\nzentral festzulegen, welche Modelle Code-Vorschläge, Sicherheitsanalysen und\nPipeline-Remediation übernehmen. So lassen sich Schutzmaßnahmen und\nProtokollierung zentral durchsetzen, statt einzelnen Teams die eigenständige\nEinführung separater Werkzeuge zu überlassen.\n\nSecurity-Workflows profitieren besonders. GitLab Duo Agent Platform-Agenten\nkönnen Fixes für Security Findings innerhalb von GitLab vorschlagen und\nvalidieren – und so den manuellen Triage-Aufwand reduzieren, den\nEntwicklungsteams sonst außerhalb der Plattform leisten müssten.\n\nFür Unternehmen mit bestehenden AWS-Commitments lässt sich die KI-Nutzung so\nmit bestehenden Cloud-Vereinbarungen in Einklang halten. Separate, ungeplante\nAusgaben entfallen.\n\n\n## Der Kreislauf schließt sich\n\nDie Hindernisse, die Enterprise-KI-Adoption verlangsamen, sind oft nicht\ntechnischer Natur. Sie sind organisatorischer Natur: fragmentiertes Tooling,\nnicht nachverfolgbare Datenflüsse und Cloud-Ausgaben, die sich nie\nkonsolidieren. Diese Probleme können KI-Programme zum Stillstand bringen, selbst\nnachdem Pilotprojekte erfolgreich waren.\n\nGitLab Duo Agent Platform und Amazon Bedrock adressieren jeden dieser Punkte\ndirekt. Plattformteams erhalten konsistente Governance, Auditierbarkeit und\nstandardisierte Pfade für die KI-Nutzung über den gesamten Software-Lifecycle.\nEntwicklungsteams erhalten optimierte, agentische Workflows, die sich nativ in\nGitLab anfühlen. Und AWS-zentrierte Unternehmen können ihre bestehende\nBedrock-Investition erweitern, statt parallel dazu eine separate\nKI-Infrastruktur aufzubauen.\n\nDas Ergebnis ist ein KI-Programm, das skaliert, ohne zu fragmentieren.\nGovernance und Entwicklungsgeschwindigkeit auf demselben Stack, für dieselben\nTeams, unter Richtlinien, die das Unternehmen bereits besitzt.\n\n> Um die passende Deployment-Variante zu identifizieren und GitLab Duo Agent\n> Platform und Amazon Bedrock mit der bestehenden AWS-Strategie in Einklang zu\n> bringen, steht das [GitLab Sales-Team](https://about.gitlab.com/sales/) zur\n> Verfügung – für Architekturberatung und Implementierungsunterstützung.\n> Weitere Informationen bietet auch die\n> [AWS-Partnerseite](https://about.gitlab.com/partners/technology-partners/aws/).\n",[284,690,691],"AWS","AI/ML",{"featured":32,"template":13,"slug":693},"gitlab-amazon-platform-orchestration-on-a-trusted-ai-foundation",{"content":695,"config":705},{"title":696,"description":697,"authors":698,"heroImage":700,"date":701,"body":702,"category":9,"tags":703},"GitLab 18.11: Budgetkontrolle für GitLab Credits – Ausgabelimits und Nutzergrenzen","GitLab 18.11 führt Ausgabelimits und Nutzergrenzen für GitLab Credits ein – für planbare KI-Kosten und reibungslose Budgetgenehmigungen.",[699],"Bryan Rothwell","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776259080/cakqnwo5ecp255lo8lzo.png","2026-04-17","Teams, die GitLab Duo Agent Platform mit On-Demand GitLab Credits nutzen, profitieren von automatisierten Workflows, die früher ganze Sprints beansprucht haben. Mit wachsender Nutzung steigt jedoch der Bedarf an Kostentransparenz – seitens Finance, Procurement und Platform-Teams, die belegen müssen, dass KI-Ausgaben begrenzt, planbar und steuerbar sind.\n\nEine wesentliche Hürde bei der breiteren KI-Einführung ist nicht Skepsis gegenüber der Technologie. Es ist die Unsicherheit bei der Kostenkontrolle. Ohne Ausgabeobergrenzen kann ein arbeitsintensiver Monat zu unerwarteten Kosten führen. Ohne Nutzerlimits können wenige Intensivnutzende das Credit-Kontingent des gesamten Teams aufbrauchen, bevor der Monat endet. Und ohne beides müssen Engineering-Verantwortliche, die Agentic AI weiter ausrollen wollen, aufwändigere Budgetgenehmigungsprozesse durchlaufen.\n\nSeit der [allgemeinen Verfügbarkeit](https://about.gitlab.com/blog/gitlab-duo-agent-platform-is-generally-available/) bietet GitLab Duo Agent Platform bereits Nutzungs-Governance und Transparenz. Mit GitLab 18.11 kommen Verbrauchssteuerung für [GitLab Credits](https://about.gitlab.com/blog/introducing-gitlab-credits/) hinzu: Ausgabeobergrenzen und Budgetlimits, die Organisationen noch mehr Kontrolle und Transparenz über den Credit-Verbrauch geben.\n\n\n## GitLab Credits steuern\n\nGitLab 18.11 führt drei Steuerungsebenen für den GitLab-Credits-Verbrauch ein: eine Ausgabenobergrenze auf Abonnementebene, Nutzerlimits auf individueller Ebene sowie Einblick in den Status und die Durchsetzung beider Limits.\n\n\n### Ausgabenobergrenze auf Abonnementebene\n\nBilling Account Manager können ab sofort eine monatliche Höchstgrenze für den Verbrauch von On-Demand GitLab Credits des gesamten Abonnements festlegen.\n\nFunktionsweise:\n\n* **Limit festlegen** im `Customers Portal` unter den GitLab-Credits-Einstellungen des Abonnements.\n* **Ausgaben automatisch begrenzen.** Erreicht der On-Demand-Verbrauch die Obergrenze, wird der DAP-Zugriff für alle Nutzenden des Abonnements pausiert – bis die nächste monatliche Periode beginnt.\n* **Anpassungen jederzeit möglich.** Das Limit lässt sich innerhalb des Monats anheben oder deaktivieren, um den Zugriff wiederherzustellen.\n\nDas Limit wird monatlich zurückgesetzt; die konfigurierte Grenze gilt so lange, bis sie geändert wird. Da Nutzungsdaten in Intervallen synchronisiert werden – nicht in Echtzeit –, kann nach Erreichen der Obergrenze eine geringe Mehrmenge anfallen, bevor die Durchsetzung greift. Details dazu finden sich in der [GitLab-Credits-Dokumentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).\n\n\n### Nutzerlimits auf individueller Ebene\n\nNicht alle Nutzenden verbrauchen Credits im gleichen Tempo – das ist erwartbar. Problematisch wird es, wenn ein oder zwei Intensivnutzende einen unverhältnismäßig großen Anteil des Kontingents beanspruchen und der Rest des Teams vor Monatsende keinen Zugriff mehr hat.\n\nIndividuelle Nutzerlimits verhindern, dass einzelne Nutzende mehr als ihren fairen Anteil verbrauchen:\n\n* **Einheitliches Nutzerlimit.** Ein gleiches Credit-Limit für alle Nutzenden des Abonnements lässt sich über die GitLab GraphQL API setzen. Anders als die Abonnementobergrenze gilt dieses Limit für den Gesamtverbrauch einer Person über alle Credit-Quellen hinweg.\n* **Individuelle Ausnahmen.** Für differenzierte Limits können über die GraphQL API individuelle Credit-Obergrenzen für bestimmte Nutzende gesetzt werden. So lässt sich beispielsweise Staff Engineers ein höheres Kontingent einräumen, während für das breitere Team ein Standardlimit gilt.\n* **Individuelle Durchsetzung.** Erreicht eine Person ihr Limit, behält sie vollen Zugriff auf GitLab. Lediglich die Duo-Agent-Platform-Nutzung via Credits wird bis zum nächsten Abrechnungszeitraum pausiert. Alle anderen arbeiten unterbrechungsfrei weiter – bis sie ihr eigenes Limit oder die Abonnementobergrenze erreichen, je nachdem, was zuerst eintritt.\n\n\n### Sichtbarkeit und Benachrichtigungen\n\nWird die Abonnementobergrenze erreicht, sendet GitLab eine E-Mail-Benachrichtigung an Billing Account Manager, damit diese reagieren können: das Limit anheben, die nächste Periode abwarten oder Credits umverteilen.\n\nInnerhalb von GitLab können Group Owner (GitLab.com) und Instanz-Administratoren (Self-Managed) einsehen, welche Nutzenden aufgrund ihres individuellen Limits gesperrt wurden, und den Zugriff durch Anpassung der Grenze über die GraphQL API wiederherstellen.\n\n\n## Warum Budgetlimits die KI-Skalierung ermöglichen\n\nKlare Steuerungsmechanismen sind entscheidend, wenn Organisationen ihre KI-Nutzung ausweiten. Drei Gründe:\n\n\n### Planbare KI-Budgets\n\nVerbrauchssteuerung für GitLab Duo Agent Platform macht KI-Ausgaben zu einer planbaren, begrenzten Budgetposition auf Basis von On-Demand GitLab Credits. Das erleichtert sowohl die Budgetfreigabe durch Finance als auch die Planung der quartalsweisen Ausgaben.\n\n\n### Governance und interne Kostenverrechnung\n\nGroße Organisationen müssen KI-Ausgaben häufig internen Budgets, Kostenstellen oder Abteilungsrichtlinien zuordnen. Individuelle Nutzerlimits geben Platform-Teams einen unkomplizierten Mechanismus, Credits fair zuzuweisen und den Verbrauch auf Personenebene nachzuverfolgen. Die API-Konfiguration macht dies auch im Enterprise-Maßstab handhabbar. In Kombination mit den personenbezogenen Verbrauchsdaten aus dem GitLab-Credits-Dashboard lassen sich Verbrauchsmuster nachverfolgen – als Grundlage für interne Kostenverrechnungs- oder Budgetzuweisungsprozesse.\n\n\n### Sicherheit beim Skalieren\n\nViele Kunden starten GitLab Duo Agent Platform zunächst mit einer kleinen Pilotgruppe. Verbrauchssteuerung beseitigt die Risiken, die mit einer Ausweitung auf die gesamte Organisation verbunden sind. Duo Agent Platform lässt sich auf Hunderte oder Tausende von Entwicklungsteams ausrollen – mit der Gewissheit, dass eine harte Ausgabenobergrenze das Budget schützt. Wächst die Nutzung schneller als erwartet, greift das Limit – nicht eine unerwartete Rechnung.\n\n\n## Sitzplatzbasiert vs. verbrauchsbasiert\n\nViele KI-Coding-Tools setzen auf ein sitzplatzbasiertes Preismodell. Eine feste Anzahl von Lizenzen wird zu einem einheitlichen Preis pro Nutzenden erworben. Einfach, aber unflexibel: Der Preis ist derselbe, unabhängig davon, ob jemand das Tool zehnmal täglich nutzt oder gar nicht. Wenn Anbieter zudem Premium-Modelle und verbrauchsabhängige Zusatzkosten auf die Lizenzgebühr aufschlagen, erodiert die Kostentransparenz, die das Lizenzmodell ursprünglich versprochen hat.\n\nGitLab verfolgt einen anderen Ansatz: verbrauchsbasierte Abrechnung mit harten Limits und einem zentralen Governance-Dashboard. Das verbindet die Flexibilität, nur für tatsächliche Nutzung zu zahlen, mit der Budgetplanbarkeit durchgesetzter Ausgabengrenzen.\n\n\n## Anwendungsbeispiele\n\n\n**Beispiel 1: Mittelgroßes SaaS-Unternehmen mit 200 Entwicklungspersonen.** Die Organisation setzt eine Abonnementobergrenze in Höhe des erwarteten On-Demand-Verbrauchs. Die VP of Engineering kann Finance gegenüber zuverlässig zusichern, dass die Duo-Agent-Platform-Ausgaben den genehmigten Betrag nicht überschreiten werden – auch während des Onboardings neuer Teams. Nähert sich die Grenze in der Monatsmitte, erhält der Billing Account Manager eine Benachrichtigung und kann entscheiden: Limit anheben oder die nächste Periode abwarten.\n\n**Beispiel 2: Globales Finanzdienstleistungsunternehmen mit 2.000 Entwicklungspersonen.** Das Unternehmen setzt individuelle Nutzerlimits, um einen fairen Zugang sicherzustellen. Staff Engineers, die an komplexen Refactoring-Projekten arbeiten, erhalten über die API ein höheres individuelles Kontingent; die meisten Entwicklungsteams erhalten ein Standard-Pauschalimit. Einzelne Nutzende können das Gesamtkontingent nicht erschöpfen. Das Platform-Team nutzt die personenbezogenen Verbrauchsdaten im GitLab-Credits-Dashboard für die Nachverfolgung von Verbrauchsmustern und die quartalsweise Budgetplanung.\n\n\n## Erste Schritte\n\nVerbrauchssteuerung ist für GitLab.com- und Self-Managed-Kunden ab GitLab 18.11 verfügbar. Die Konfiguration erfolgt je nach Geltungsbereich und Rolle an unterschiedlichen Stellen.\n\n**Abonnementobergrenze**\n\nBilling Account Manager setzen die Abonnementobergrenze im Customers Portal:\n\n1. Im `Customers Portal` anmelden.\n2. Auf der Abonnementkarte zu den **GitLab Credits**-Einstellungen navigieren.\n3. Die monatliche On-Demand-Credits-Obergrenze aktivieren und den gewünschten Wert eingeben.\n\n**Einheitliches Nutzerlimit**\n\nDas einheitliche Nutzerlimit wird über die GitLab GraphQL API durch Namespace Owner (GitLab.com) oder Instanz-Administratoren (Self-Managed) gesetzt. Details zu verfügbaren Konfigurationsoberflächen finden sich in der [GitLab-Credits-Dokumentation](https://docs.gitlab.com/subscriptions/gitlab_credits/).\n\n**Individuelle Ausnahmen**\n\nFür differenzierte Limits können Namespace Owner (GitLab.com) und Instanz-Administratoren (Self-Managed) individuelle Obergrenzen programmatisch setzen – geeignet für Automatisierungs- und Infrastructure-as-Code-Workflows.\n\n**Verbrauch und Status überwachen**\n\n* **Customers Portal:** Detaillierter Verbrauch und Limitstatus einsehbar.\n* **GitLab.com:** Group Owner können gesperrte Nutzende unter **Einstellungen > GitLab Credits** einsehen.\n* **Self-Managed:** Instanz-Administratoren können Limitstatus und gesperrte Nutzende unter **Admin > GitLab Credits** einsehen.\n\n\n## GitLab Duo Agent Platform – bereit für die Skalierung\n\nVerbrauchssteuerung ist ab sofort in GitLab 18.11 verfügbar. Ausgabelimits setzen, Duo Agent Platform auf weitere Teams ausrollen – und die KI-Ausgaben dabei vollständig im Griff behalten.\n\n> [Mehr über GitLab Credits und Verbrauchssteuerung erfahren](https://docs.gitlab.com/subscriptions/gitlab_credits/).\n",[9,691,704],"news",{"featured":12,"template":13,"slug":706},"gitlab-18-11-budget-guardrails-for-gitlab-credits",{"content":708,"config":716},{"title":709,"description":710,"authors":711,"heroImage":700,"date":701,"body":713,"category":9,"tags":714},"GitLab 18.11: KI-Agenten CI Expert und Data Analyst schließen Entwicklungslücken","Mit GitLab 18.11 stehen zwei neue Agenten bereit – CI Expert für automatisiertes Pipeline-Setup und Data Analyst für direkte SDLC-Datenabfragen.",[712],"Corinne Dent","KI generiert Code schneller, als die Systeme drum herum mithalten können. Mehr Code bedeutet mehr Merge Requests in der Warteschlange, mehr Pipelines, die konfiguriert werden müssen, mehr Fragen zur Delivery, für die niemand Zeit hat – und die meisten Tools, auf die Teams sich stützen, wurden nicht für dieses Tempo entwickelt.\n\nIn GitLab 18.11 adressieren zwei neue Foundational Agents der Duo Agent Platform konkrete Lücken im Entwicklungszyklus, die KI bislang weitgehend unberührt gelassen hat:\n\n* **CI Expert Agent (jetzt in Beta)** schließt die Lücke zwischen dem Schreiben von Code und einer laufenden Pipeline\n* **Data Analyst Agent (jetzt allgemein verfügbar)** schließt die Lücke zwischen dem Ausliefern von Code und der Fähigkeit, grundlegende Fragen zur tatsächlichen Delivery zu beantworten\n\nDiese Problembereiche lassen sich nicht mit einem allgemeinen Assistenten lösen. Ein Tool außerhalb von GitLab kann eine YAML-Datei generieren oder eine Frage beantworten – es hat jedoch keine Kenntnis davon, wie Pipelines historisch performt haben, wo Fehler gehäuft auftreten oder wie die tatsächlichen MR-Durchlaufzeiten aussehen. Dieser Kontext liegt in GitLab. Diese Agenten auch.\n\n\n## Schnelles CI-Setup mit CI Expert Agent\n\nKI beschleunigt das Schreiben von Code erheblich. Den Code in eine laufende Pipeline zu bringen ist etwas, das die meisten Teams Tage oder Wochen später erledigen – wenn überhaupt. Das Blank-Page-Problem liegt nicht mehr im Editor. Es liegt jetzt in der `.gitlab-ci.yml`.\n\nEntwicklungsteams, die CI noch nie konfiguriert haben, wissen nicht, wie Language Detection in YAML aussieht, welche Test-Befehle verwendet werden sollten oder wie das Ergebnis vor dem Push validiert wird. Teams kopieren entweder eine Konfiguration aus einem früheren Projekt, die möglicherweise nicht passt, fügen Beispiele aus der Dokumentation zusammen oder warten auf die eine Person, die es schon einmal gemacht hat. Ist diese Person nicht verfügbar, wird CI zu etwas, das man \"später erledigt\". Aus \"später\" wird \"nie\".\n\nWenn CI dauerhaft ausbleibt, zeigen sich die Folgen im gesamten Entwicklungsprozess: Änderungen werden ohne automatisierte Absicherung ausgeliefert, Regressionen tauchen in der Produktion statt in der Pipeline auf, und Arbeit häuft sich in größeren, riskanteren Batches an. Teams gewöhnen sich mit der Zeit daran, ohne strukturierte Rückkopplung zu arbeiten – auf undokumentiertes Erfahrungswissen angewiesen statt auf einen reproduzierbaren Feedback-Mechanismus, der in jeden Commit integriert ist.\n\nCI Expert Agent, jetzt in Beta verfügbar, beseitigt diese Hürde systematisch. Der Agent analysiert das Repository, erkennt Sprache und Framework und schlägt eine funktionsfähige Build- und Test-Pipeline vor, die auf dem tatsächlichen Repository-Inhalt basiert – mit einer Erklärung jeder Entscheidung in verständlicher Sprache. Das Ziel: eine laufende Pipeline, ohne YAML manuell schreiben zu müssen.\n\nFunktionsumfang von CI Expert Agent:\n\n* Repository-bewusste Pipeline-Generierung erkennt Sprache, Framework und Test-Setup\n* Generiert valide, ausführbare Build- und Test-Konfigurationen\n* Geführter Erstkonfigurations-Ablauf mit verständlicher Erklärung jedes Schritts im Agentic Chat\n* Native GitLab-CI-Semantik ohne Konfigurations-Übersetzung\n\nDa der Agent innerhalb von GitLab läuft und das tatsächliche Pipeline-Verhalten über Zeit beobachtet, kann jede Verbesserung auf der Arbeitsweise der Teams aufbauen – nicht nur auf statischen Beispielen.\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1183458036?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"CI/CD Expert Agent\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\u003Cbr>\u003C/br>\n\nCI Expert Agent ist verfügbar auf GitLab.com, Self-Managed und Dedicated in den Editionen Free, Premium und Ultimate – mit aktivierter Duo Agent Platform.\n\n\n## SDLC-Daten in natürlicher Sprache abfragen mit Data Analyst Agent\n\nKI hat das Tempo der Code-Auslieferung erhöht. Grundlegende Fragen dazu, wie diese Arbeit verläuft, sind dadurch nicht einfacher zu beantworten – im Gegenteil.\n\nWie lange liegen MRs im Review? Welche Pipelines bremsen Teams aus? Werden Deployment-Ziele tatsächlich erreicht? Diese Fragen ließen sich früher mit einem Blick auf ein Dashboard beantworten. Mit mehr Code, mehr Teams und mehr Komplexität sind die Daten zwar vorhanden – sie liegen in GitLab – der Zugriff erfordert jedoch nach wie vor das Warten auf ein Analytics-Team, eine Dashboard-Anfrage oder die Einarbeitung in GLQL.\n\nData Analyst Agent schließt diese Lücke. Eine Frage in natürlicher Sprache stellen – und eine sofortige Visualisierung im Agentic Chat erhalten. Keine Abfragesprache, keine Dashboard-Anfrage, kein Warten.\n\nDer Agent beantwortet beispielsweise folgende Fragen – je nach Rolle:\n\n* **Engineering Manager:** MR-Durchlaufzeiten, Durchsatz nach Projekt, wo Reviews stocken\n* **Entwicklungsteams:** Beitragsmuster, instabile Tests, die MRs blockieren, Pipeline-Geschwindigkeit\n* **DevOps- und Plattform-Teams:** Pipeline-Erfolgs- und Fehlerquoten, Runner-Auslastung, Deployment-Frequenz\n* **Engineering Leadership:** Deployment-Frequenz über Portfolios hinweg, Projektgesundheitsmetriken, Lead-Time-Vergleiche\n\nMit der allgemeinen Verfügbarkeit in GitLab 18.11 deckt der Agent MRs, Issues, Projekte, Pipelines und Jobs ab – vollständige SDLC-Abdeckung, erweitert gegenüber dem Beta-Umfang. Da Data Analyst Agent direkt auf vorhandene GitLab-Daten zugreift, ist der Kontext stets aktuell – ohne eine separate Datenpipeline pflegen oder ein Drittanbieter-Tool synchron halten zu müssen. Generierte GitLab Query Language-Abfragen lassen sich überall dort kopieren und verwenden, wo GitLab Flavored Markdown unterstützt wird; ein direkter Export zu Work Items und Dashboards ist in Planung.\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1183094817?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;\" title=\"Data Analyst agent demo\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n\u003Cbr>\u003C/br>\n\nData Analyst Agent ist verfügbar auf GitLab.com, Self-Managed und Dedicated in den Editionen Free, Premium und Ultimate – mit aktivierter Duo Agent Platform.\n\n\n## Eine Plattform, verbundener Kontext\n\nBeide Agenten laufen innerhalb von GitLab und haben Zugriff auf den Code, die Pipelines, Issues und Merge Requests, die dort bereits vorhanden sind. Das unterscheidet plattformnative KI von einem externen Assistenten: Der Kontext ist stets aktuell und wächst mit der Nutzung. CI Expert Agent und Data Analyst Agent sind zwei konkrete Erweiterungen einer Plattform, auf der KI den gesamten Entwicklungszyklus unterstützt – von der Pipeline-Konfiguration über die Auslieferung bis zur Nachverfolgung.\n\n> [GitLab Duo Agent Platform kostenlos testen](https://about.gitlab.com/gitlab-duo/) und diese KI-Agenten direkt im Entwicklungs-Workflow einsetzen.\n",[691,715,9],"features",{"featured":32,"template":13,"slug":717},"ci-expert-and-data-analyst-ai-agents-target-development-gaps",{"promotions":719},[720,734,745,757],{"id":721,"categories":722,"header":724,"text":725,"button":726,"image":731},"ai-modernization",[723],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":727,"config":728},"Get your AI maturity score",{"href":729,"dataGaName":730,"dataGaLocation":251},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":732},{"src":733},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":735,"categories":736,"header":737,"text":725,"button":738,"image":742},"devops-modernization",[9,44],"Are you just managing tools or shipping innovation?",{"text":739,"config":740},"Get your DevOps maturity score",{"href":741,"dataGaName":730,"dataGaLocation":251},"/assessments/devops-modernization-assessment/",{"config":743},{"src":744},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":746,"categories":747,"header":749,"text":725,"button":750,"image":754},"security-modernization",[748],"security","Are you trading speed for security?",{"text":751,"config":752},"Get your security maturity score",{"href":753,"dataGaName":730,"dataGaLocation":251},"/assessments/security-modernization-assessment/",{"config":755},{"src":756},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":758,"paths":759,"header":762,"text":763,"button":764,"image":769},"github-azure-migration",[760,761],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":765,"config":766},"See how GitLab compares to GitHub",{"href":767,"dataGaName":768,"dataGaLocation":251},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":770},{"src":744},{"header":772,"blurb":773,"button":774,"secondaryButton":779},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":775,"config":776},"Kostenlosen Test starten",{"href":777,"dataGaName":58,"dataGaLocation":778},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":60,"config":780},{"href":62,"dataGaName":63,"dataGaLocation":778},1777302587125]