[{"data":1,"prerenderedAt":771},["ShallowReactive",2],{"/de-de/blog/automated-compliance-management":3,"navigation-de-de":38,"banner-de-de":441,"footer-de-de":451,"blog-post-authors-de-de-Sarah Matthies|Karolina Franz":656,"blog-related-posts-de-de-automated-compliance-management":681,"assessment-promotions-de-de":721,"next-steps-de-de":761},{"id":4,"title":5,"authorSlugs":6,"body":9,"categorySlug":10,"config":11,"content":15,"description":9,"extension":27,"isFeatured":12,"meta":28,"navigation":12,"path":29,"publishedDate":22,"seo":30,"stem":35,"tagSlugs":36,"__hash__":37},"blogPosts/de-de/blog/automated-compliance-management.yml","Automated Compliance Management",[7,8],"sarah-matthies","karolina-franz",null,"product",{"featured":12,"template":13,"slug":14},true,"BlogPost","automated-compliance-management",{"heroImage":16,"body":17,"authors":18,"updatedDate":21,"date":22,"title":23,"tags":24,"description":26,"category":10},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773279378/otnswn5666i1qd2imyhs.png","Die Unternehmenswelt ist komplex und das Thema Compliance ist einer der wichtigsten regulatorischen Anker – auch und vor allem im Bereich [Software Development](https://about.gitlab.com/de-de/solutions/software-compliance/) im deutschsprachigen Raum. Es gibt zahlreiche Regeln, Richtlinien und Best-Practices, die Unternehmen erfüllen müssen, um gesetzliche, regulatorische, ethische und branchenspezifische Anforderungen zu erfüllen. Compliance-Standards reichen dabei von verbindlichen Gesetzen bis zu freiwilligen Rahmenwerken, um einen rechtmäßigen und verantwortungsvollen Betrieb zu gewährleisten sowie Daten, Kund(inn)en und den Ruf des Unternehmens zu schützen. \n\nDieser Beitrag zeigt, wie kontinuierliche Compliance im Entwicklungsprozess sichergestellt werden kann – automatisiert, ohne Reibungsverluste und unterstützend statt bremsend. Videos aus einem deutschsprachigen GitLab-Webinar runden diesen Beitrag ab.\n\n> **[Sieh dir jetzt das gesamte Webinar *\"Compliance im Wandel - ein Wegweiser\"* kostenlos an.](https://page.gitlab.com/webcasts-nov25-security-emea-de.html?utm_medium=email&utm_source=marketo&utm_campaign=20251125_emea_cmp_techdemo_speedsecurity_de_securitycompliance)**\n\n\n## Herausforderungen bei der Arbeit mit Compliance-Standards\n\nTraditionelle Compliance-Ansätze erzeugen Reibung und bremsen Entwicklungsteams aus. Die administrativen Aufgaben nehmen zu, kosten Zeit und Nerven und führen oftmals dazu, dass das Thema Sicherheit als zusätzliche Belastung betrachtet und vernachlässigt wird. \n\n## Compliance-Management automatisieren: Ein Praxisbeispiel\n\nEin junges, wachstumsstarkes B2B-Unternehmen im Sicherheitssektor möchte neue Kund(inn)en gewinnen. Das Marktumfeld sowie die Zielkund(inn)en verlangen die Einhaltung strenger Standards im Bereich Informationssicherheit (z. B. ISO 27001). \n\nFür das Bestehen einer solchen Zertifizierung ist eine [enorme Anstrengung](https://about.gitlab.com/de-de/blog/how-gitlab-can-support-your-iso-compliance-journey/) aufseiten der gesamten Organisation nötig. Entwicklerteams, Manager(innen) und Sicherheitsteams müssen Hand in Hand arbeiten, um die Zertifizierung trotz des Drucks des täglichen Geschäfts zu erlangen und dabei den Wachstumskurs nicht zu bremsen. \n\n> **12x kürzere Bereitstellungszeit: Dank GitLabs vollständiger Integration lebt Hilti Effizienz.**\n> \n> [GitLab](https://about.gitlab.com/de-de/) bringt vollständige Transparenz, eine umfassende Codeverwaltung und umfangreiche Sicherheitsscans mit, um Hilti neue Softwarefähigkeiten zu ermöglichen. Erfahre, wie Hilti seine Softwareentwicklung revolutioniert hat. **[Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/hilti/)**\n\n\n### Compliance im Unternehmen umsetzen\n\nFür die Umsetzung der Compliance-Standards im Unternehmen ist ein strukturierter Prozess nötig. \n\n1. **Compliance-Prozesse definieren:** Ableitung spezifischer Maßnahmen aus den Anforderungen der Auditoren\n\n2. **Aktuelle Compliance-Situation verstehen:** Definition der betroffenen Projekte\n\n3. **Korrekturmaßnahmen umsetzen:** Implementierung neuer Prozesse und Korrekturen in den Projekten \n\n4. **Compliance nachweisen:** Reporting an das Management und die Auditoren \n\nDas größte Problem dabei ist der hohe manuelle Aufwand, um Informationen zu sammeln. Die Beteiligung unterschiedlicher Teams an diesem Prozess sorgt für hohen Abstimmungsaufwand und Unterbrechungen der täglichen Arbeit. \n\n> **[Wie du Compliance-Risiken erkennst und bewältigst, erfährst du hier.](https://about.gitlab.com/de-de/blog/compliance-risks/)**\n\n## Compliance-Management automatisieren mit GitLab: Eine Anleitung\n\nNicht alle Anforderungen einer Zertifizierung nach Compliance-Standards obliegen dem Bereich der Software-Entwicklung. Um den manuellen Aufwand der Zertifizierung für Entwicklerteams jedoch so gering wie möglich zu halten und Zeit zu sparen, hilft GitLab bei der Automatisierung des [Compliance-Managements](https://about.gitlab.com/de-de/blog/compliance-management/). \n\nZiel ist es, dass die Mitarbeitenden einen Mehrwert liefern, statt bloß Checklisten auszufüllen. \n\n### 1. Arbeit mit dem Compliance-Center\n\nGitLab bietet mit dem Compliance-Center ein zentrales Dashboard, in dem alle Informationen auf einen Blick ersichtlich sind. Über die zentrale Ansicht kann der Compliance-Status über alle betroffenen Projekte hinweg eingesehen werden. \n\nUm zum Compliance-Center zu gelangen, klicke in der linken Navigationsleiste deines GitLab-Accounts auf “**Secure**” > “**Compliance Center**”. \n\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/7db0giY66Zg?si=F1k_mZVWC1r8T68M\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[Sieh dir jetzt das gesamte Webinar *\"Compliance im Wandel - ein Wegweiser\"* kostenlos an.](https://page.gitlab.com/webcasts-nov25-security-emea-de.html?utm_medium=email&utm_source=marketo&utm_campaign=20251125_emea_cmp_techdemo_speedsecurity_de_securitycompliance)**\n\n\n### 2. Framework erstellen\n\nFür die Sicherstellung der jeweiligen Compliance-Standards ist die Arbeit mit entsprechenden Frameworks notwendig. Jedes Unternehmen verfügt dabei über einzigartige Compliance-Anforderungen, die auf Branchenstandards, regulatorischen Vorgaben oder internen Richtlinien basieren. Diese können im Reiter “Frameworks” mit GitLab so modelliert werden, dass sie automatisch überwacht und durchgesetzt werden. \n\nGitLab ermöglicht die [Erstellung individueller Frameworks](https://about.gitlab.com/de-de/blog/how-to-use-gitlabs-custom-compliance-frameworks-in-your-devsecops/) oder die Nutzung existierender [Templates](https://gitlab.com/gitlab-org/software-supply-chain-security/compliance/engineering/compliance-adherence-templates), die ebenfalls auf die eigenen Bedürfnisse angepasst werden können. \n\n*In diesem Video (ausnahmsweise auf Englisch) führen wir dich Schritt für Schritt durch den Prozess zur Erstellung eines neuen Frameworks!*\n\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/bSwwv5XeMdQ?si=azLY5wJlSLkX2Fgc\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n\n\nUm ein [neues Framework](https://about.gitlab.com/de-de/blog/business-value-framework/) zu erstellen, sind folgende Schritte nötig:\n\n* **Name und Beschreibung vergeben:** Kommuniziert den Zweck und die Wichtigkeit des Frameworks.\n\n* **Farb-Batch auswählen:** Dient als Identifier für projektübergreifende Frameworks.\n\n* **optional: Framework als Standard festlegen:** Stellt die Aufrechterhaltung der Compliance-Anforderungen von Anfang an sicher und setzt Leitplanken. \n\n* **Anforderungen hinzufügen:** Repräsentieren die übergeordneten Compliance-Ziele\n\n* * **Name und Beschreibung hinzufügen:** Kommuniziert den Zweck und die Wichtigkeit der Anforderung.\n\n  * **Controls festlegen:** Repräsentieren die technischen Checks, die automatisch geprüft und verifiziert werden können.\n\n**Beispiel:** Die Anforderung “Segregation of Duties” stellt die Durchführung von Code-Reviews sicher. Dazu sollen Genehmigungen eigener Merge Requests verhindert werden. Über die Erstellung der Controls “Author approved merge request is forbidden” und “At least one approval” wird sichergestellt, dass Codeänderungen durch mindestens eine weitere Person überprüft und genehmigt werden. \n\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/qMxRnEh4t6Q?si=GaKiyExLTZ29zSaM\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[Sieh dir jetzt das gesamte Webinar *\"Compliance im Wandel - ein Wegweiser\"* kostenlos an.](https://page.gitlab.com/webcasts-nov25-security-emea-de.html?utm_medium=email&utm_source=marketo&utm_campaign=20251125_emea_cmp_techdemo_speedsecurity_de_securitycompliance)**\n\n\nNachdem die spezifischen Anforderungen für das neue Framework definiert wurden, kann das Framework erstellt werden. Compliance-Anforderungen werden mittels Frameworks in automatische Checks umgewandelt, sodass eine manuelle Verifizierung nicht mehr nötig ist. \n\nDiese Richtlinie kann nun auf Projekte angewendet werden. \n\n### 3. Framework zu Projekt hinzufügen\n\nDas Framework muss anschließend den jeweiligen Projekten zugeordnet werden, um das Compliance-Monitoring zu beginnen. \n\nDazu können im Reiter “**Projects**” alle Projekte und die angewendeten Frameworks angezeigt werden. Um einem einzelnen Projekt ein neues Framework hinzuzufügen, kann das Projekt in der Spalte “**Action**” bearbeitet und das entsprechende Framework hinzugefügt werden. \n\nÜber die Bulk-Bearbeitung kann ein Framework allen Projekten hinzugefügt werden. \n\n* Markiere alle Projekte \n\n* Klicke auf die Option “**Choose one bulk action**” \n\n* Klicke auf “**Apply frameworks to selected projects**”\n\n* Klicke auf “**Select framework**” und wähle das entsprechende Framework aus\n\n* Klicke auf “**Apply**” \n\nNachdem das jeweilige Framework einem Projekt hinzugefügt wurde, beginnt die Anwendung des Compliance-Monitorings, ohne die Entwicklerteams zu stören. Es gibt keinen separaten Onboarding-Prozess oder Formulare, die manuell ausgefüllt werden müssen.\n\n### 4. Arbeit mit dem Compliance-Status-Report\n\nDer Compliance-Status-Report gibt einen Überblick über die Projekte und die entsprechenden Anforderungen. Damit ist ersichtlich, welche Anforderungen erfolgreich bzw. nicht erfolgreich umgesetzt wurden. \n\nIm Reiter “**Status**” im Compliance-Center kann eine detaillierte Ansicht über die Einhaltung der Frameworks über alle Projekte hinweg aufgerufen werden. \n\nDie Filterfunktion ermöglicht eine einfache Navigation bei umfangreichen Organisationen mit zahlreichen Projekten. Damit kannst du das Reporting auf deine Bedürfnisse anpassen und genau die Berichte generieren, die für die jeweiligen Stakeholder relevant sind. \n\nDer Status-Report ermöglicht Transparenz, indem grüne bzw. rote Flaggen eine schnelle visuelle Bewertung der aktuellen Anforderungen bieten, spezifische Controls kommuniziert und Probleme schnell identifiziert werden können – ohne aufwändiges Audit. \n\nDamit erhältst du einen klaren Einblick in den Compliance-Status und Maßnahmen, die zu ergreifen sind. \n\n### 5. Compliance-Verstöße direkt lösen\n\nSollte im Status-Report eine fehlgeschlagene Anforderung angezeigt werden, kann diese [direkt gelöst](https://about.gitlab.com/de-de/blog/how-to-transform-compliance-observation-management-with-gitlab/) werden. Für jedes Projekt wird angezeigt, welche Controls fehlgeschlagen sind. Mit Klick auf den entsprechenden Fehler wird eine Dokumentation des Problems geöffnet. \n\nNeben der Dokumentation kannst du direkt zu den relevanten Projekteinstellungen geführt werden, um das Problem sofort zu beheben, anstatt lange in den entsprechenden Projekten suchen zu müssen. \n\n\n\u003Ciframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/lhFpiNnZWT0?si=n8NYs0KBrIoAbhxH\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen>\u003C/iframe>\n\n> **[Sieh dir jetzt das gesamte Webinar *\"Compliance im Wandel - ein Wegweiser\"* kostenlos an.](https://page.gitlab.com/webcasts-nov25-security-emea-de.html?utm_medium=email&utm_source=marketo&utm_campaign=20251125_emea_cmp_techdemo_speedsecurity_de_securitycompliance)**\n\n\n### 6. Korrektur fehlerhafter Compliance-Anforderungen für mehrere Projekte\n\nSolltest du Compliance-Anforderungen für mehrere Projekte definiert haben, kannst du relevante Korrekturen automatisiert durchführen, statt alles manuell zu prüfen. Dazu nutzt du Security Policies. Diese ermöglichen es, sicherheitsrelevante Controls auf Projekt-, Gruppen- oder Framework-Ebene als Teil des Standardworkflows zu erzwingen. \n\nKlicke dazu in der linken Navigationsleiste deines GitLab-Accounts auf “**Secure**” > “**Policies**”. \n\nUnter “**New Policy**” kannst du automatisierte Compliance-Anforderungen für mehrere Projekte aktivieren. Dabei kannst du wählen zwischen\n\n* [Scan execution policy](https://docs.gitlab.com/user/application_security/policies/scan_execution_policies/): Erzwingt Sicherheitsscans, entweder als Teil der Pipeline oder nach einem festgelegten Zeitplan.\n\n* [Merge request approval policy](https://docs.gitlab.com/user/application_security/policies/merge_request_approval_policies/): Erzwingt Einstellungen auf Projektebene und Approvalregeln auf Basis der Ergebnisse des Scans.\n\n* [Pipeline execution policy](https://docs.gitlab.com/user/application_security/policies/pipeline_execution_policies/): Erzwingt CI/CD-Jobs als Teil von Projekt-Pipelines.\n\n* [Vulnerability management policy](https://docs.gitlab.com/user/application_security/policies/vulnerability_management_policy/): Behebt automatisch Sicherheitslücken, die im Standard-Branch nicht mehr erkannt werden. \n\nUm beispielsweise im Bereich “Secret Detection” eine umfassende Sicherheitsmaßnahme anzulegen, gehe wie folgt vor. \n\n* Klicke auf “**New Policy**”\n\n* Wähle “**Scan execution policy**” aus\n\n* Definiere einen Namen \n\n* Wähle aus, ob die Policy mit \n\n* * allen Projekten (“**all projects in this group**”),\n\n  * spezifischen Projekten (“**specific projects**”) oder\n\n  * einem Compliance-Framework (“**projects with compliance framework**” + relevantes Framework) verknüpft werden soll. \n\n* Wähle unter “**Configuration Type**” aus, ob du ein Template für die Policy oder eine individuelle Einstellung nutzen willst\n\n* Speichere die neue Policy \n\nEinmal gespeichert, wird die Policy automatisch durchgesetzt. Jede Pipeline-Ausführung in diesem Projekt wird eine “Secret Detection” Anforderung enthalten. \n\n### 7. Reporting- und Audit-Unterstützung mit GitLab\n\nDie Automatisierung des Compliance-Managements unterstützt nicht nur die tägliche Arbeit der Entwickler(innen), sondern erleichtert auch das Reporting an relevante Stakeholder. Mit dem Compliance-Center steht dir ein vollumfängliches Reportingtool zur Verfügung, das die Kommunikation gegenüber Aufsichtsbehörden, Kund(inn)en und sonstigen Stakeholdern erleichtert. \n\nÜber das Compliance-Center erhältst du Einblicke in:\n\n* die **Gesamtzahl der Projekte**, die durch ein Compliance-Framework abgedeckt sind.\n\n* die **Compliance-Rate**, d. h., wie viele Projekte die Compliance-Anforderungen erfüllen.\n\n* **aktive Frameworks** für die gesamte Organisation.\n\n* **kritische Verstöße**, die Aufmerksamkeit erfordern.\n\nGitLab erleichtert so die Statuserfassung, da der Informationsfluss automatisiert wird, manuelle Abstimmungstätigkeiten entfallen und Echtzeitdaten verarbeitet werden können. Zahlreiche Exportformate stellen sicher, dass du dein Reporting nach außen kommunizieren kannst.\n\n> ***Du hast Fragen zum Compliance-Prozess mit GitLab? [Dann sprich jetzt mit uns und wir beantworten gerne alle Fragen!](https://about.gitlab.com/de-de/sales/)***\n\n## Vorteile des automatisierten Compliance-Managements mit GitLab \n\n* **Single Source of Truth:** Statt manueller Excel-Listen und Abstimmungsrunden bietet GitLab eine zentrale Anlaufstelle für das Compliance-Management. \n\n* **Integrierte Compliance:** Integration von Compliance in den Entwicklungsprozess ohne zusätzlichen Prozessaufwand \n\n* **Höhere Effizienz:** Compliance wird ohne zusätzliche manuelle Workflows umgesetzt\n\n* **Direktes Eingreifen:** GitLab automatisiert Compliance-Checks, sodass Verstöße direkt erfasst und Lösungen unkompliziert umgesetzt werden \n\n* **Mehr Fokus:** Entwicklerteams können sich auf die tägliche Arbeit konzentrieren\n\n* **Mehr Sicherheit:** Compliance wird als zentrale Rahmenbedingung im Unternehmen etabliert\n\n* **Stärkere Wahrnehmung:** Compliance-Verantwortliche und Compliance-Maßnahmen erhalten mehr Sichtbarkeit im Unternehmen \n\n* **Einfacheres Reporting:** Auditor(inn)en erhalten zeitnah alle relevanten Nachweise\n\n> **\"Dieser optimierte Ansatz transformiert Compliance von einem reaktiven, zeitaufwändigen Prozess in [ein proaktives, effizientes System](https://about.gitlab.com/de-de/blog/compliance-management-system/), das mit eurer Organisation skaliert.\"**\n> \n> – Karolina Franz, Solutions Architect @GitLab\n\n\n> ***[Sieh dir hier das Webinar \"Compliance im Wandel\" mit Karolina Franz kostenlos an.](https://page.gitlab.com/webcasts-nov25-security-emea-de.html?utm_medium=email&utm_source=marketo&utm_campaign=20251125_emea_cmp_techdemo_speedsecurity_de_securitycompliance)***\n\n\n## Der Compliance-Prozess mit GitLab\n\nDie Automatisierung des Compliance-Managements mit GitLab bietet dir zahlreiche Vorteile. Wie bereits am Anfang dieses Beitrags beschrieben, benötigt ein Unternehmen einen strukturierten Prozess zur Sicherstellung der Compliance-Standards. \n\n\nGitLab unterstützt den Aufbau eines solchen Prozesses wie folgt.\n\n* **Compliance-Prozesse definieren:** Mit individuellen Frameworks kannst du jeden Compliance-Standard modellieren und überwachen lassen. Dies sorgt dafür, dass Compliance ohne Engpässe im gesamten Unternehmen skaliert werden kann. \n\n* **Aktuelle Compliance-Situation verstehen:** Das umfassende Monitoring erfasst alle relevanten Projekte sowie Anforderungen und kommuniziert Verstöße noch vor dem Audit, sodass ein schnelles Eingreifen möglich ist. \n\n* **Korrekturmaßnahmen umsetzen:** Über die Nutzung von Policies können Compliance-Standards automatisiert über alle Projekte und Teams hinweg sichergestellt werden.\n\n* **Compliance nachweisen:** Für das Reporting steht das Compliance-Center zur Verfügung, das alle Projekte zentral darstellt, manuelle Statuserfassungen und Workflows eliminiert und sicherstellt, dass Nachweise korrekt bereitgestellt werden. \n\n> Wie du **Compliance-Standards** für dein Unternehmen in der DACH-Region identifizierst und einhältst, [erfährst du in diesem Beitrag.](https://about.gitlab.com/de-de/blog/compliance-standards/)\n\n## Fazit\n\nCompliance ist kein einmaliges Audit-Projekt, sondern ein kontinuierlicher Prozess, der direkt in die Softwareentwicklung integriert werden muss. Manuelle Prüfungen und isolierte Workflows stoßen dabei schnell an ihre Grenzen und bremsen Teams aus.\n\nGitLab ermöglicht es, Compliance-Anforderungen in automatisierte, überprüfbare Standards zu übersetzen. Über Frameworks, Policies und zentrales Monitoring wird Compliance transparent, skalierbar und durchsetzbar – ohne zusätzlichen Aufwand für Entwickler(innen). So wird Compliance zu einer verlässlichen Grundlage für sichere Softwareentwicklung und nachhaltiges Wachstum.\n\n> **Verankere regulatorische Anforderungen direkt im Entwicklungsprozess**\n> \n> Automatisiere dein Compliance-Management, stärke dabei deine Entwicklerteams und skaliere Compliance nachhaltig im Unternehmen!\n> \n> **[Jetzt starten!](https://about.gitlab.com/de-de/free-trial/)**",[19,20],"Sarah Matthies","Karolina Franz","","2026-03-16","Compliance-Management automatisieren: Ein Praxisleitfaden mit GitLab",[10,25],"tutorial","Erfahre in diesem ausführlichen Guide des deutschen GitLab-Teams, wie du das Compliance Management mit GitLab effektiv umsetzt.","yml",{},"/de-de/blog/automated-compliance-management",{"config":31,"title":33,"ogTitle":33,"description":34,"ogDescription":34,"ogImage":16},{"noIndex":32},false,"Compliance Management automatisieren: Ein Praxisleitfaden","Erfahre, wie du das Compliance Management mit GitLab effektiv umsetzt. ✓ praxisnah ✓ kompakt ➤ Jetzt Compliance Management automatisieren!","de-de/blog/automated-compliance-management",[10,25],"Q_v7QCA-iezwg25S-bPIPV0E7vwFytF9SW7FWYz2eYw",{"data":39},{"logo":40,"freeTrial":45,"sales":50,"login":55,"items":60,"search":369,"minimal":404,"duo":422,"pricingDeployment":431},{"config":41},{"href":42,"dataGaName":43,"dataGaLocation":44},"/de-de/","gitlab logo","header",{"text":46,"config":47},"Kostenlose Testversion anfordern",{"href":48,"dataGaName":49,"dataGaLocation":44},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":51,"config":52},"Vertrieb kontaktieren",{"href":53,"dataGaName":54,"dataGaLocation":44},"/de-de/sales/","sales",{"text":56,"config":57},"Anmelden",{"href":58,"dataGaName":59,"dataGaLocation":44},"https://gitlab.com/users/sign_in/","sign in",[61,88,184,189,290,350],{"text":62,"config":63,"cards":65},"Plattform",{"dataNavLevelOne":64},"platform",[66,72,80],{"title":62,"description":67,"link":68},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":69,"config":70},"Erkunde unsere Plattform",{"href":71,"dataGaName":64,"dataGaLocation":44},"/de-de/platform/",{"title":73,"description":74,"link":75},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":76,"config":77},"Lerne GitLab Duo kennen",{"href":78,"dataGaName":79,"dataGaLocation":44},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":81,"description":82,"link":83},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":84,"config":85},"Mehr erfahren",{"href":86,"dataGaName":87,"dataGaLocation":44},"/de-de/why-gitlab/","why gitlab",{"text":89,"left":12,"config":90,"link":92,"lists":96,"footer":166},"Produkt",{"dataNavLevelOne":91},"solutions",{"text":93,"config":94},"Alle Lösungen anzeigen",{"href":95,"dataGaName":91,"dataGaLocation":44},"/de-de/solutions/",[97,122,144],{"title":98,"description":99,"link":100,"items":105},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":101},{"icon":102,"href":103,"dataGaName":104,"dataGaLocation":44},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[106,110,113,118],{"text":107,"config":108},"CI/CD",{"href":109,"dataGaLocation":44,"dataGaName":107},"/de-de/solutions/continuous-integration/",{"text":73,"config":111},{"href":78,"dataGaLocation":44,"dataGaName":112},"gitlab duo agent platform - product menu",{"text":114,"config":115},"Quellcodeverwaltung",{"href":116,"dataGaLocation":44,"dataGaName":117},"/de-de/solutions/source-code-management/","Source Code Management",{"text":119,"config":120},"Automatisierte Softwarebereitstellung",{"href":103,"dataGaLocation":44,"dataGaName":121},"Automated software delivery",{"title":123,"description":124,"link":125,"items":130},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":126},{"href":127,"dataGaName":128,"dataGaLocation":44,"icon":129},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[131,135,140],{"text":132,"config":133},"Application Security Testing",{"href":127,"dataGaName":134,"dataGaLocation":44},"Application security testing",{"text":136,"config":137},"Schutz der Software-Lieferkette",{"href":138,"dataGaLocation":44,"dataGaName":139},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":141,"config":142},"Software Compliance",{"href":143,"dataGaName":141,"dataGaLocation":44},"/de-de/solutions/software-compliance/",{"title":145,"link":146,"items":151},"Bewertung",{"config":147},{"icon":148,"href":149,"dataGaName":150,"dataGaLocation":44},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[152,156,161],{"text":153,"config":154},"Sichtbarkeit und Bewertung",{"href":149,"dataGaLocation":44,"dataGaName":155},"Visibility and Measurement",{"text":157,"config":158},"Wertstrommanagement",{"href":159,"dataGaLocation":44,"dataGaName":160},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":162,"config":163},"Analysen und Einblicke",{"href":164,"dataGaLocation":44,"dataGaName":165},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":167,"items":168},"GitLab für",[169,174,179],{"text":170,"config":171},"Enterprise",{"href":172,"dataGaLocation":44,"dataGaName":173},"/de-de/enterprise/","enterprise",{"text":175,"config":176},"Kleinunternehmen",{"href":177,"dataGaLocation":44,"dataGaName":178},"/de-de/small-business/","small business",{"text":180,"config":181},"den öffentlichen Sektor",{"href":182,"dataGaLocation":44,"dataGaName":183},"/de-de/solutions/public-sector/","public sector",{"text":185,"config":186},"Preise",{"href":187,"dataGaName":188,"dataGaLocation":44,"dataNavLevelOne":188},"/de-de/pricing/","pricing",{"text":190,"config":191,"link":193,"lists":197,"feature":277},"Ressourcen",{"dataNavLevelOne":192},"resources",{"text":194,"config":195},"Alle Ressourcen anzeigen",{"href":196,"dataGaName":192,"dataGaLocation":44},"/de-de/resources/",[198,231,249],{"title":199,"items":200},"Erste Schritte",[201,206,211,216,221,226],{"text":202,"config":203},"Installieren",{"href":204,"dataGaName":205,"dataGaLocation":44},"/de-de/install/","install",{"text":207,"config":208},"Kurzanleitungen",{"href":209,"dataGaName":210,"dataGaLocation":44},"/de-de/get-started/","quick setup checklists",{"text":212,"config":213},"Lernen",{"href":214,"dataGaLocation":44,"dataGaName":215},"https://university.gitlab.com/","learn",{"text":217,"config":218},"Produktdokumentation",{"href":219,"dataGaName":220,"dataGaLocation":44},"https://docs.gitlab.com/","product documentation",{"text":222,"config":223},"Best-Practice-Videos",{"href":224,"dataGaName":225,"dataGaLocation":44},"/de-de/getting-started-videos/","best practice videos",{"text":227,"config":228},"Integrationen",{"href":229,"dataGaName":230,"dataGaLocation":44},"/de-de/integrations/","integrations",{"title":232,"items":233},"Entdecken",[234,239,244],{"text":235,"config":236},"Kundenerfolge",{"href":237,"dataGaName":238,"dataGaLocation":44},"/de-de/customers/","customer success stories",{"text":240,"config":241},"Blog",{"href":242,"dataGaName":243,"dataGaLocation":44},"/de-de/blog/","blog",{"text":245,"config":246},"Remote",{"href":247,"dataGaName":248,"dataGaLocation":44},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":250,"items":251},"Vernetzen",[252,257,262,267,272],{"text":253,"config":254},"GitLab-Services",{"href":255,"dataGaName":256,"dataGaLocation":44},"/de-de/services/","services",{"text":258,"config":259},"Community",{"href":260,"dataGaName":261,"dataGaLocation":44},"/community/","community",{"text":263,"config":264},"Forum",{"href":265,"dataGaName":266,"dataGaLocation":44},"https://forum.gitlab.com/","forum",{"text":268,"config":269},"Veranstaltungen",{"href":270,"dataGaName":271,"dataGaLocation":44},"/events/","events",{"text":273,"config":274},"Partner",{"href":275,"dataGaName":276,"dataGaLocation":44},"/de-de/partners/","partners",{"backgroundColor":278,"textColor":279,"text":280,"image":281,"link":285},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":282,"config":283},"the source promo card",{"src":284},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":286,"config":287},"Lies die News",{"href":288,"dataGaName":289,"dataGaLocation":44},"/de-de/the-source/","the source",{"text":291,"config":292,"lists":294},"Unternehmen",{"dataNavLevelOne":293},"company",[295],{"items":296},[297,302,308,310,315,320,325,330,335,340,345],{"text":298,"config":299},"Über",{"href":300,"dataGaName":301,"dataGaLocation":44},"/de-de/company/","about",{"text":303,"config":304,"footerGa":307},"Karriere",{"href":305,"dataGaName":306,"dataGaLocation":44},"/jobs/","jobs",{"dataGaName":306},{"text":268,"config":309},{"href":270,"dataGaName":271,"dataGaLocation":44},{"text":311,"config":312},"Geschäftsführung",{"href":313,"dataGaName":314,"dataGaLocation":44},"/company/team/e-group/","leadership",{"text":316,"config":317},"Team",{"href":318,"dataGaName":319,"dataGaLocation":44},"/company/team/","team",{"text":321,"config":322},"Handbuch",{"href":323,"dataGaName":324,"dataGaLocation":44},"https://handbook.gitlab.com/","handbook",{"text":326,"config":327},"Investor Relations",{"href":328,"dataGaName":329,"dataGaLocation":44},"https://ir.gitlab.com/","investor relations",{"text":331,"config":332},"Trust Center",{"href":333,"dataGaName":334,"dataGaLocation":44},"/de-de/security/","trust center",{"text":336,"config":337},"AI Transparency Center",{"href":338,"dataGaName":339,"dataGaLocation":44},"/de-de/ai-transparency-center/","ai transparency center",{"text":341,"config":342},"Newsletter",{"href":343,"dataGaName":344,"dataGaLocation":44},"/company/contact/#contact-forms","newsletter",{"text":346,"config":347},"Presse",{"href":348,"dataGaName":349,"dataGaLocation":44},"/press/","press",{"text":351,"config":352,"lists":353},"Kontakt",{"dataNavLevelOne":293},[354],{"items":355},[356,359,364],{"text":51,"config":357},{"href":53,"dataGaName":358,"dataGaLocation":44},"talk to sales",{"text":360,"config":361},"Support-Portal",{"href":362,"dataGaName":363,"dataGaLocation":44},"https://support.gitlab.com","support portal",{"text":365,"config":366},"Kundenportal",{"href":367,"dataGaName":368,"dataGaLocation":44},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":370,"login":371,"suggestions":378},"Schließen",{"text":372,"link":373},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":374,"config":375},"gitlab.com",{"href":58,"dataGaName":376,"dataGaLocation":377},"search login","search",{"text":379,"default":380},"Vorschläge",[381,383,388,390,395,400],{"text":73,"config":382},{"href":78,"dataGaName":73,"dataGaLocation":377},{"text":384,"config":385},"Code Suggestions (KI)",{"href":386,"dataGaName":387,"dataGaLocation":377},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":107,"config":389},{"href":109,"dataGaName":107,"dataGaLocation":377},{"text":391,"config":392},"GitLab auf AWS",{"href":393,"dataGaName":394,"dataGaLocation":377},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":396,"config":397},"GitLab auf Google Cloud",{"href":398,"dataGaName":399,"dataGaLocation":377},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":401,"config":402},"Warum GitLab?",{"href":86,"dataGaName":403,"dataGaLocation":377},"Why GitLab?",{"freeTrial":405,"mobileIcon":410,"desktopIcon":415,"secondaryButton":418},{"text":406,"config":407},"Kostenlos testen",{"href":408,"dataGaName":49,"dataGaLocation":409},"https://gitlab.com/-/trials/new/","nav",{"altText":411,"config":412},"GitLab-Symbol",{"src":413,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":411,"config":416},{"src":417,"dataGaName":414,"dataGaLocation":409},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":199,"config":419},{"href":420,"dataGaName":421,"dataGaLocation":409},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":423,"mobileIcon":427,"desktopIcon":429},{"text":424,"config":425},"Erfahre mehr über GitLab Duo",{"href":78,"dataGaName":426,"dataGaLocation":409},"gitlab duo",{"altText":411,"config":428},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":430},{"src":417,"dataGaName":414,"dataGaLocation":409},{"freeTrial":432,"mobileIcon":437,"desktopIcon":439},{"text":433,"config":434},"Zurück zur Preisübersicht",{"href":187,"dataGaName":435,"dataGaLocation":409,"icon":436},"back to pricing","GoBack",{"altText":411,"config":438},{"src":413,"dataGaName":414,"dataGaLocation":409},{"altText":411,"config":440},{"src":417,"dataGaName":414,"dataGaLocation":409},{"title":442,"button":443,"config":448},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":444,"config":445},"GitLab Transcend jetzt ansehen",{"href":446,"dataGaName":447,"dataGaLocation":44},"/de-de/events/transcend/virtual/","transcend event",{"layout":449,"icon":450,"disabled":12},"release","AiStar",{"data":452},{"text":453,"source":454,"edit":460,"contribute":465,"config":470,"items":475,"minimal":648},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":455,"config":456},"Quelltext der Seite anzeigen",{"href":457,"dataGaName":458,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":461,"config":462},"Diese Seite bearbeiten",{"href":463,"dataGaName":464,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":466,"config":467},"Beteilige dich",{"href":468,"dataGaName":469,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":471,"facebook":472,"youtube":473,"linkedin":474},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[476,499,554,581,615],{"title":62,"links":477,"subMenu":482},[478],{"text":479,"config":480},"DevSecOps-Plattform",{"href":71,"dataGaName":481,"dataGaLocation":459},"devsecops platform",[483],{"title":185,"links":484},[485,489,494],{"text":486,"config":487},"Tarife anzeigen",{"href":187,"dataGaName":488,"dataGaLocation":459},"view plans",{"text":490,"config":491},"Vorteile von Premium",{"href":492,"dataGaName":493,"dataGaLocation":459},"/de-de/pricing/premium/","why premium",{"text":495,"config":496},"Vorteile von Ultimate",{"href":497,"dataGaName":498,"dataGaLocation":459},"/de-de/pricing/ultimate/","why ultimate",{"title":500,"links":501},"Lösungen",[502,507,510,512,517,522,526,529,532,537,539,541,544,549],{"text":503,"config":504},"Digitale Transformation",{"href":505,"dataGaName":506,"dataGaLocation":459},"/de-de/topics/digital-transformation/","digital transformation",{"text":508,"config":509},"Sicherheit und Compliance",{"href":127,"dataGaName":134,"dataGaLocation":459},{"text":119,"config":511},{"href":103,"dataGaName":104,"dataGaLocation":459},{"text":513,"config":514},"Agile Entwicklung",{"href":515,"dataGaName":516,"dataGaLocation":459},"/de-de/solutions/agile-delivery/","agile delivery",{"text":518,"config":519},"Cloud-Transformation",{"href":520,"dataGaName":521,"dataGaLocation":459},"/de-de/topics/cloud-native/","cloud transformation",{"text":523,"config":524},"SCM",{"href":116,"dataGaName":525,"dataGaLocation":459},"source code management",{"text":107,"config":527},{"href":109,"dataGaName":528,"dataGaLocation":459},"continuous integration & delivery",{"text":157,"config":530},{"href":159,"dataGaName":531,"dataGaLocation":459},"value stream management",{"text":533,"config":534},"GitOps",{"href":535,"dataGaName":536,"dataGaLocation":459},"/de-de/solutions/gitops/","gitops",{"text":170,"config":538},{"href":172,"dataGaName":173,"dataGaLocation":459},{"text":175,"config":540},{"href":177,"dataGaName":178,"dataGaLocation":459},{"text":542,"config":543},"Öffentlicher Sektor",{"href":182,"dataGaName":183,"dataGaLocation":459},{"text":545,"config":546},"Bildungswesen",{"href":547,"dataGaName":548,"dataGaLocation":459},"/de-de/solutions/education/","education",{"text":550,"config":551},"Finanzdienstleistungen",{"href":552,"dataGaName":553,"dataGaLocation":459},"/de-de/solutions/finance/","financial services",{"title":190,"links":555},[556,558,560,562,565,567,569,571,573,575,577,579],{"text":202,"config":557},{"href":204,"dataGaName":205,"dataGaLocation":459},{"text":207,"config":559},{"href":209,"dataGaName":210,"dataGaLocation":459},{"text":212,"config":561},{"href":214,"dataGaName":215,"dataGaLocation":459},{"text":217,"config":563},{"href":219,"dataGaName":564,"dataGaLocation":459},"docs",{"text":240,"config":566},{"href":242,"dataGaName":243,"dataGaLocation":459},{"text":235,"config":568},{"href":237,"dataGaName":238,"dataGaLocation":459},{"text":245,"config":570},{"href":247,"dataGaName":248,"dataGaLocation":459},{"text":253,"config":572},{"href":255,"dataGaName":256,"dataGaLocation":459},{"text":258,"config":574},{"href":260,"dataGaName":261,"dataGaLocation":459},{"text":263,"config":576},{"href":265,"dataGaName":266,"dataGaLocation":459},{"text":268,"config":578},{"href":270,"dataGaName":271,"dataGaLocation":459},{"text":273,"config":580},{"href":275,"dataGaName":276,"dataGaLocation":459},{"title":291,"links":582},[583,585,587,589,591,593,595,599,604,606,608,610],{"text":298,"config":584},{"href":300,"dataGaName":293,"dataGaLocation":459},{"text":303,"config":586},{"href":305,"dataGaName":306,"dataGaLocation":459},{"text":311,"config":588},{"href":313,"dataGaName":314,"dataGaLocation":459},{"text":316,"config":590},{"href":318,"dataGaName":319,"dataGaLocation":459},{"text":321,"config":592},{"href":323,"dataGaName":324,"dataGaLocation":459},{"text":326,"config":594},{"href":328,"dataGaName":329,"dataGaLocation":459},{"text":596,"config":597},"Sustainability",{"href":598,"dataGaName":596,"dataGaLocation":459},"/sustainability/",{"text":600,"config":601},"Vielfalt, Inklusion und Zugehörigkeit",{"href":602,"dataGaName":603,"dataGaLocation":459},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":331,"config":605},{"href":333,"dataGaName":334,"dataGaLocation":459},{"text":341,"config":607},{"href":343,"dataGaName":344,"dataGaLocation":459},{"text":346,"config":609},{"href":348,"dataGaName":349,"dataGaLocation":459},{"text":611,"config":612},"Transparenzerklärung zu moderner Sklaverei",{"href":613,"dataGaName":614,"dataGaLocation":459},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":616,"links":617},"Nimm Kontakt auf",[618,621,626,628,633,638,643],{"text":619,"config":620},"Sprich mit einem Experten/einer Expertin",{"href":53,"dataGaName":54,"dataGaLocation":459},{"text":622,"config":623},"Support",{"href":624,"dataGaName":625,"dataGaLocation":459},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":365,"config":627},{"href":367,"dataGaName":368,"dataGaLocation":459},{"text":629,"config":630},"Status",{"href":631,"dataGaName":632,"dataGaLocation":459},"https://status.gitlab.com/","status",{"text":634,"config":635},"Nutzungsbedingungen",{"href":636,"dataGaName":637,"dataGaLocation":459},"/terms/","terms of use",{"text":639,"config":640},"Datenschutzerklärung",{"href":641,"dataGaName":642,"dataGaLocation":459},"/de-de/privacy/","privacy statement",{"text":644,"config":645},"Cookie-Einstellungen",{"dataGaName":646,"dataGaLocation":459,"id":647,"isOneTrustButton":12},"cookie preferences","ot-sdk-btn",{"items":649},[650,652,654],{"text":634,"config":651},{"href":636,"dataGaName":637,"dataGaLocation":459},{"text":639,"config":653},{"href":641,"dataGaName":642,"dataGaLocation":459},{"text":644,"config":655},{"dataGaName":646,"dataGaLocation":459,"id":647,"isOneTrustButton":12},[657,670],{"id":658,"title":19,"body":9,"config":659,"content":661,"description":9,"extension":27,"meta":665,"navigation":12,"path":666,"seo":667,"stem":668,"__hash__":669},"blogAuthors/en-us/blog/authors/sarah-matthies.yml",{"template":660},"BlogAuthor",{"name":19,"config":662},{"headshot":663,"ctfId":664},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664405/Blog/Author%20Headshots/Screenshot_2024-11-19_at_9.50.14_AM.png","2Giv8NnS4VVAq9RsHYqHkg",{},"/en-us/blog/authors/sarah-matthies",{},"en-us/blog/authors/sarah-matthies","MH8dE3jD9qd4xrtKZZ4mSGVNleDUs7qSZ-zPFenkyh8",{"id":671,"title":20,"body":9,"config":672,"content":673,"description":9,"extension":27,"meta":676,"navigation":12,"path":677,"seo":678,"stem":679,"__hash__":680},"blogAuthors/en-us/blog/authors/karolina-franz.yml",{"template":660},{"name":20,"config":674},{"headshot":675},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773282980/iidmzozeiykfo8zgunlj.jpg",{},"/en-us/blog/authors/karolina-franz",{},"en-us/blog/authors/karolina-franz","Yw3b-jLuVCCcwnjJC57pBzYX-_Tal2tcWFNmDC720fA",[682,696,709],{"content":683,"config":694},{"title":684,"description":685,"heroImage":686,"category":10,"tags":687,"authors":689,"date":692,"body":693},"Testergebnisse aus GitLab-Pipelines automatisch in QMetry übertragen","Der QMetry GitLab Component überträgt Testergebnisse automatisch aus CI/CD-Pipelines in QMetry – ohne manuelle Schritte, mit vollständigem Audit-Trail.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775486753/cswmwtygkgkbdsibo09v.png",[25,10,688],"devops",[690,691],"Matt Genelin","Matt Bonner","2026-04-07","In modernen Entwicklungsumgebungen müssen DevSecOps-Teams Testergebnisse aus CI/CD-Pipelines konsistent in Testmanagement-Plattformen übertragen, um Transparenz, Nachvollziehbarkeit und Compliance über den gesamten Entwicklungszyklus zu gewährleisten.\nTeams, die GitLab für CI/CD und SmartBear QMetry für das Testmanagement einsetzen, verbringen Zeit mit manuellem Export und Import von Testergebnissen – das verzögert Feedback und erschwert eine zuverlässige, zentrale Testsicht.\nDer **QMetry GitLab Component** automatisiert diesen Prozess. Die wiederverwendbare CI/CD-Komponente, verfügbar im [GitLab CI/CD Catalog](https://gitlab.com/explore/catalog), überträgt Testausführungsdaten nach jeder Pipeline-Ausführung automatisch nach QMetry – einer KI-gestützten, unternehmenstauglichen Testmanagement-Plattform, die Testplanung, -ausführung, -nachverfolgung und -reporting in einer Lösung vereint.\nAls zentrales System der Aufzeichnung für Tests hilft QMetry Teams dabei, Abdeckung und Ausführung nachzuverfolgen und fundiertere Release-Entscheidungen zu treffen.\n![SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/ojt707rzxnm2yr3vqxdh.png)\n\n## Vorteile der Integration\n\n### Manuelle Uploads entfallen, Nachvollziehbarkeit steigt\nDevSecOps-Engineers und QA-Teams müssen Testergebnisse nicht mehr manuell exportieren und importieren – die Komponente übernimmt das automatisch nach jeder Pipeline-Ausführung. Zugleich erhalten Teams vollständige Nachvollziehbarkeit von Anforderungen über Testfälle bis hin zu tatsächlichen Ausführungsergebnissen.\n\n![Test results with SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/ajx64sihup2nursdpnxz.png)\n\n### Compliance- und Audit-Anforderungen erfüllen\nFür Organisationen in regulierten Branchen ist lückenlose Testdokumentation nicht verhandelbar. Die Integration stellt sicher, dass jede Testausführung in QMetry mit Verknüpfungen zur jeweiligen GitLab-Pipeline, zum Commit und zum Build dokumentiert wird – ohne zusätzlichen manuellen Aufwand.\n![Audit-ready record of testing with SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/q2tbaw5otgdywjkcquqx.png)\n\n### KI-gestützte Test-Insights nutzen\nQMetry analysiert mithilfe von KI Testausführungsmuster, identifiziert instabile Tests, prognostiziert Testfehler und empfiehlt Optimierungsmöglichkeiten. Echtzeit-Daten aus GitLab-Pipelines maximieren den Wert dieser Funktionen.\n![Genaue Insights mit SmartBear QMetry GitLab integration](https://res.cloudinary.com/about-gitlab-com/image/upload/v1775488045/pl7ru4wx8ixnheedfyrs.png)\n\n## Über die GitLab-SmartBear-Partnerschaft\nDiese Komponente steht für die wachsende Partnerschaft zwischen GitLab und SmartBear, CI/CD-Ausführung und Testmanagement in einem Workflow zu verbinden. Gemeinsam helfen sie Teams, Testing in den Entwicklungszyklus zu integrieren und dabei die Qualitäts-, Sicherheits- und Compliance-Standards ihrer Branchen einzuhalten.\n\n## Praxisbeispiele\n\n### Finanzdienstleistungen: Enterprise-Banking-Plattformen\nFührende Finanzinstitute stehen vor besonderen Herausforderungen beim Skalieren von Testautomatisierung:\n* **Regulatorische Compliance**: Detaillierte Audit-Trails für alle Testaktivitäten erforderlich\n* **Mehrere Compliance-Frameworks**: BaFin BAIT, PSD2, DSGVO und interne Risikomanagement-Richtlinien\n* **Hochfrequente Deployments**: Mehrere Produktions-Deployments täglich über Microservices\n* **Verteilte Teams**: Echtzeit-Transparenz über globale Engineering-Teams hinweg erforderlich\nFinanzdienstleister, die den QMetry GitLab Component einsetzen, automatisieren Testergebnis-Uploads für Unit-Tests, API-Contract-Tests, End-to-End-Tests für Transaktionsabläufe sowie Security- und Performance-Testergebnisse.\n\n**Mögliche Ergebnisse**:\n* **Deutliche Reduzierung** des manuellen Test-Reporting-Aufwands\n* **Vollständige Audit-Trail-Abdeckung** für Regulierungsprüfungen\n* **Echtzeit-Transparenz** für verteilte QA-Teams\n* **Verbesserte Compliance-Position** durch vollständige Nachvollziehbarkeit von Anforderungen bis zur Testausführung\n\n### Flugregelungssoftware in der Luft- und Raumfahrt\nDie Softwareentwicklung in der Luft- und Raumfahrt unterliegt besonderen Anforderungen:\n* **DO-178C-Compliance**: Avioniksoftware muss strikte Zertifizierungsstandards erfüllen\n* **Vollständige Nachvollziehbarkeit**: Jede Anforderung verknüpft mit Testfällen und Ausführungsergebnissen\n* **Audit-Trails**: Zertifizierungsbehörden verlangen detaillierte Aufzeichnungen aller Testaktivitäten\n* **Mehrere Teststufen**: Unit-, Integrations-, System- und Zertifizierungstests\nDurch die Integration von GitLab CI/CD mit QMetry automatisiert das Aerospace-Engineering-Team Testausführung und Reporting über alle Teststufen hinweg.\n\n**Vor der Integration**:\n* Manueller Export aus GitLab, Import in QMetry über UI-Uploads\n* Prozess dauerte 2–3 Stunden pro Testzyklus\n* Fehlerrisiko bei der Dateneingabe, verzögerte Rückmeldung an Stakeholder\n\n**Nach der Integration**:\n* Testergebnisse fließen automatisch von GitLab nach QMetry\n* Vollständiger Audit-Trail vom Commit über den Test bis zum Ergebnis\n* Kein manueller Eingriff, Echtzeit-Transparenz für Zertifizierungsprüfer\n* Compliance-Reports werden automatisch erstellt\n\n**Beispiel-Dashboard in QMetry nach der Integration**:\n```none\n    ╔════════════════════════════════════════════════════════════╗\n    ║  Flight Control System v2.4 - Test Execution Dashboard     ║\n    ╠════════════════════════════════════════════════════════════╣\n    ║                                                            ║\n    ║  📊 Test Execution Summary (Last 7 Days)                   ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  ✓ Total Tests Executed: 1,247                             ║\n    ║  ✓ Passed: 1,241 (99.5%)                                   ║\n    ║  ✗ Failed: 6 (0.5%)                                        ║\n    ║  ⏸ Skipped: 0                                              ║\n    ║                                                            ║\n    ║  📁 Test Suite Organization                                ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  └─ Certification/                                         ║\n    ║     └─ DO-178C/                                            ║\n    ║        ├─ Unit/ (487 tests, 100% pass)                     ║\n    ║        ├─ Integration/ (623 tests, 99.2% pass)             ║\n    ║        └─ System/ (137 tests, 100% pass)                   ║\n    ║                                                            ║\n    ║  🔗 Traceability                                           ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  Requirements Covered: 342/342 (100%)                      ║\n    ║  Test Cases Linked: 1,247/1,247 (100%)                     ║\n    ║  GitLab Pipeline Executions: 47 (automated)                ║\n    ║                                                            ║\n    ║  ⚠️  Action Items                                          ║\n    ║  ───────────────────────────────────────────────────────── ║\n    ║  • 6 failed tests require investigation                    ║\n    ║  • Last execution: 2 minutes ago (Pipeline #1543)          ║\n    ║  • GitLab Commit: a7f8c23 \"Fix altitude hold logic\"        ║\n    ║                                                            ║\n    ╚════════════════════════════════════════════════════════════╝\n    \n```\n### Compliance- und Audit-Vorteile\n\n**Für Finanzdienstleister (BaFin BAIT, PSD2, SOX)**:\n1. **Automatische Nachvollziehbarkeit**: Regulatorische Anforderungen → Testfälle → Ausführungsergebnisse → GitLab-Commits verknüpft\n2. **Auditfähige Dokumentation**: Vollständige Testausführungshistorie mit Zeitstempeln und Pipeline-Referenzen\n3. **Regulatorisches Reporting**: Compliance-Reports direkt aus QMetry-Testdaten generieren\n\n**Für die Luft- und Raumfahrt-Zertifizierung (DO-178C, DO-254)**:\n1. **Automatische Nachverfolgbarkeitsmatrix**: Anforderungen → Testfälle → Ausführungsergebnisse → GitLab-Commits\n2. **Unveränderlicher Audit-Trail**: Pipeline-ID, Commit-SHA und Ausführer für jede Testausführung gestempelt\n3. **Zertifizierungspaket-Generierung**: Konforme Dokumentation aus GitLab-Pipeline-Daten\n\n---\n\n## Technische Umsetzung\n*Dieser Abschnitt orientiert Teams, die die Integration einrichten möchten. Die vollständige Schritt-für-Schritt-Anleitung mit allen Konfigurationsdetails – API-Credentials, CI/CD-Variablen, Testformate, erweiterte Optionen und Fehlerbehebung – ist im [englischen Originalbeitrag](https://about.gitlab.com/blog/streamline-test-management-with-the-smartbear-qmetry-gitlab-component/) verfügbar.*\n\n## Voraussetzungen\n* **GitLab-Account** mit einem Projekt, das automatisierte Tests enthält und Testergebnisdateien erzeugt (JUnit XML, TestNG XML usw.)\n* **QMetry Test Management Enterprise**-Account mit aktiviertem API-Zugriff und generiertem API-Key\n* **QMetry-Projekt**, bereits angelegt, in das Testergebnisse hochgeladen werden sollen\n* **Kenntnisse in GitLab CI/CD**, einschließlich grundlegender `.gitlab-ci.yml`-Syntax\n### Ablauf der Testergebnis-Übertragung\n1. **Testausführung**: Die GitLab CI/CD-Pipeline führt automatisierte Tests aus.\n2. **Ergebnisgenerierung**: Tests erzeugen Ausgabedateien (JUnit XML, TestNG XML usw.).\n3. **Komponentenaufruf**: Die QMetry-Komponente wird als Job in der Pipeline ausgeführt.\n4. **Automatischer Upload**: Die Komponente liest die Testergebnisdateien und lädt sie via API nach QMetry hoch.\n5. **QMetry-Verarbeitung**: QMetry empfängt die Ergebnisse und stellt sie für Reporting und Analyse bereit.\n\n## Basisintegration\nDie Komponente in der `.gitlab-ci.yml`-Datei einbinden. Die Komponente sollte **nach** dem Abschluss der Tests ausgeführt werden:\n```yaml\n    include:\n      - component: gitlab.com/sb9945614/qtm-gitlab-component/qmetry-import@1.0.5\n        inputs:\n          stage: test\n          project: \"Aerospace Flight Control System\"\n          file_name: \"results.xml\"\n          testing_type: \"JUNIT\"\n          instance_url: ${INSTANCE_URL}\n          api_key: ${QMETRY_API_KEY}\n  ```\n\n\n| Parameter | Beschreibung | Beispiel |\n| ----- | ----- | ----- |\n| `stage` | CI/CD-Stage für den Upload-Job | `test` |\n| `project` | QMetry-Projektname oder -Schlüssel | `\"Aerospace Flight Control System\"` |\n| `file_name` | Pfad zur Testergebnisdatei | `\"results.xml\"` |\n| `testing_type` | Format der Testergebnisse | `\"JUNIT\"` (auch: `TESTNG`, `NUNIT` usw.) |\n| `instance_url` | QMetry-Instanz-URL | `${INSTANCE_URL}` (aus CI/CD-Variablen) |\n| `api_key` | QMetry API-Key zur Authentifizierung | `${QMETRY_API_KEY}` (aus CI/CD-Variablen) |\n\n## Vollständiges Pipeline-Beispiel\n```yaml\n    stages:\n      - test\n      - report\n\n    variables:\n      NODE_VERSION: \"18\"\n\n    unit-tests:\n      stage: test\n      image: node:${NODE_VERSION}\n      script:\n        - npm ci\n        - npm run test:unit -- --reporter=junit --reporter-options=output=results.xml\n      artifacts:\n        reports:\n          junit: results.xml\n        paths:\n          - results.xml\n        when: always\n      tags:\n        - docker\n\n    include:\n      - component: gitlab.com/sb9945614/qtm-gitlab-component/qmetry-import@1.0.5\n        inputs:\n          stage: test\n          project: \"Aerospace Flight Control System\"\n          file_name: \"results.xml\"\n          testing_type: \"JUNIT\"\n          instance_url: ${INSTANCE_URL}\n          api_key: ${QMETRY_API_KEY}\n```\n\n## Vollständige Konfigurationsreferenz\n| Eingabeparameter | Pflichtfeld | Standard | Beschreibung |\n| ----- | ----- | ----- | ----- |\n| `stage` | Nein | `test` | GitLab CI/CD-Stage für den Upload-Job |\n| `runner_tag` | Nein | `\"\"` | Spezifischer Runner-Tag (leer = beliebiger verfügbarer Runner) |\n| `project` | Ja | – | QMetry-Projektname oder -Schlüssel |\n| `file_name` | Ja | – | Pfad zur Testergebnisdatei (relativ zum Projektstamm) |\n| `testing_type` | Ja | – | Testergebnisformat: `JUNIT`, `TESTNG`, `NUNIT` usw. |\n| `skip_warning` | Nein | `\"1\"` | Warnungen beim Import überspringen (`\"1\"` = überspringen, `\"0\"` = anzeigen) |\n| `is_matching_required` | Nein | `\"false\"` | Bestehende Testfälle nach Name abgleichen (`\"true\"` oder `\"false\"`) |\n| `testsuite_name` | Nein | `\"\"` | Name für die Test-Suite in QMetry |\n| `testsuite_id` | Nein | `\"\"` | Bestehende Test-Suite-ID, an die Ergebnisse angehängt werden |\n| `testsuite_folder_path` | Nein | `\"\"` | Ordnerpfad für die Test-Suite-Organisation (z. B. `/Regression/Sprint-23`) |\n| `automation_hierarchy` | Nein | `\"\"` | Hierarchieebene für die Testorganisation (`\"1\"`, `\"2\"`, `\"3\"` usw.) |\n| `testcase_fields` | Nein | `\"\"` | Benutzerdefinierte Felder für Testfälle (kommagetrennt: `field1=value1,field2=value2`) |\n| `testsuite_fields` | Nein | `\"\"` | Benutzerdefinierte Felder für Test-Suites (kommagetrennt: `field1=value1,field2=value2`) |\n| `instance_url` | Ja | – | QMetry-Instanz-URL (in CI/CD-Variablen speichern) |\n| `api_key` | Ja | – | QMetry API-Key (in CI/CD-Variablen speichern, maskiert) |\n\n## Dokumentation und Support\n* **Komponentendokumentation**: [GitLab CI/CD Catalog](https://gitlab.com/explore/catalog)\n* **Komponenten-Repository**: [gitlab.com/sb9945614/qtm-gitlab-component](https://gitlab.com/sb9945614/qtm-gitlab-component)\n* **QMetry-Dokumentation**: [QMetry Support Portal](https://qmetrysupport.atlassian.net/wiki/spaces/QPro/overview)\n* **SmartBear-Ressourcen**: [SmartBear Academy](https://smartbear.com/resources/)\n* **GitLab CI/CD-Dokumentation**: [GitLab CI/CD Documentation](https://docs.gitlab.com/ee/ci/)\n* **QMetry-Support**: support@smartbear.com – [QMetry Community Forum](https://community.smartbear.com/)",{"featured":12,"template":13,"slug":695},"streamline-test-management-with-the-smartbear-qmetry-gitlab-component",{"content":697,"config":707},{"title":698,"description":699,"authors":700,"heroImage":702,"date":692,"body":703,"category":10,"tags":704},"GitLab Duo CLI: Agentenbasierte KI jetzt auch im Terminal","GitLab Duo CLI bringt agentenbasierte KI der Duo Agent Platform ins Terminal – mit interaktivem Chat-Modus und Headless-Modus für CI/CD-Automatisierung.",[701],"John Coghlan","https://res.cloudinary.com/about-gitlab-com/image/upload/v1775561395/bhe1as7ttjvzltxwgo5m.png","Wer Pipelines debuggt oder KI in automatisierte CI/CD-Workflows integriert, ohne dass jemand dabei zusieht, kommt mit bisherigen KI-Assistenten schnell an Grenzen: Diese konzentrieren sich auf Code-Erstellung und decken damit nur einen Teil des Software-Lebenszyklus ab. GitLab Duo CLI, jetzt in der öffentlichen Beta, schließt diese Lücke.\n\nGitLab Duo CLI bringt die agentenbasierte KI der [Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/) ins Terminal – mit vollständiger Unterstützung für automatisierte Workflows und einem interaktiven Chat-Modus, wenn ein Mensch im Loop bleiben soll. Dieser Artikel beschreibt, was Duo CLI leistet, wie die beiden Betriebsmodi funktionieren und welches Sicherheitsmodell dahintersteht.\n\n## GitLab Duo CLI installieren\n\nWer GLab (die GitLab CLI) bereits installiert hat, führt folgenden Befehl aus:\n\n```\nglab duo cli\n```\n\nAnschließend einfach den Anweisungen folgen.\n\nOhne GLab: [Hier installieren](https://gitlab.com/gitlab-org/cli/#installation) oder [Duo CLI als eigenständiges Tool verwenden](https://docs.gitlab.com/user/gitlab_duo_cli/#without-the-gitlab-cli).\n\n## Warum das Terminal – und warum jetzt\n\nDie erste Generation von KI-Assistenten für die Softwareentwicklung war auf die IDE ausgerichtet und konzentrierte sich ausschließlich auf Code-Erstellung. Das war sinnvoll, solange Autovervollständigung im Vordergrund stand. Sobald KI-Agenten jedoch eigenständig handeln – Tests ausführen, Pipelines auslösen, Vulnerability-Scans überwachen und mehr – reicht die IDE als einzige Abstraktionsebene nicht mehr aus.\n\nDie besten Entwickler-Tools funktionieren sowohl für Menschen als auch für Maschinen. CLIs haben sich über Jahrzehnte in genau diese Richtung entwickelt. Sie sind komponierbar: Output lässt sich weiterleiten, Befehle verketten, Skripte einbetten. Sie sind nachvollziehbar: Wenn etwas schiefläuft, führt man denselben Befehl aus und sieht genau, was der Agent gesehen hat. Und sie sind transparent: keine Hintergrundprozesse, kein Initialisierungsaufwand, kein Protokoll, das beim Fehlerfall erst entschlüsselt werden muss.\n\nTerminal-Interfaces eignen sich besser für Automatisierung, Scripting und portable Umgebungen. IDE-Interfaces bieten sich für interaktive, kontextreiche Entwicklung an. GitLab Duo CLI ist für ersteres ausgelegt – Duo Agentic Chat in IDE und UI deckt letzteres ab.\n\n## Was GitLab Duo CLI kann\n\nMit GitLab Duo CLI lässt sich Code erstellen, anpassen, refaktorieren und modernisieren – vergleichbar mit anderen KI-gestützten Coding-Assistenten für das Terminal. Darüber hinaus sind alle Agenten und Flows der GitLab Duo Agent Platform über Duo CLI zugänglich: von der Automatisierung von CI/CD-Konfigurationen und Pipeline-Optimierungen bis hin zur autonomen Ausführung mehrstufiger Entwicklungsaufgaben über den gesamten Software-Lebenszyklus.\n\nGitLab Duo CLI läuft in zwei Modi:\n\n* **Interaktiver Modus** – eine editor-unabhängige Terminal-Chat-Umgebung mit menschlicher Freigabe vor jeder Aktion. Geeignet für das Verstehen von Codebase-Strukturen, das Erstellen von Code, die Fehlersuche oder das Troubleshooting von Pipelines.\n* **Headless-Modus** – nicht-interaktiv, ausgelegt für Runner, Skripte und automatisierte Workflows. Direkt in CI/CD einbinden, ohne manuelle Eingriffe.\n\n## KI mit Leitplanken\n\nAgentenbasierte KI, die eigenständig Aktionen ausführen kann, birgt reale Sicherheitsrisiken. GitLab Duo CLI adressiert diese auf Plattformebene – nicht nachträglich:\n\n* **Human-in-the-Loop standardmäßig** im interaktiven Modus: Keine Aktion wird ohne Freigabe ausgeführt.\n* **Prompt-Injection-Erkennung** ist in der GitLab Duo Agent Platform integriert, nicht nachgerüstet.\n* **Composite Identity** – eine kombinierte Identität, die sowohl den Nutzenden als auch den Agenten repräsentiert – begrenzt die Zugriffsrechte des Agenten und macht jede KI-gesteuerte Aktion nachvollziehbar.\n\nGitLab Duo CLI unterstützt darüber hinaus [benutzerdefinierte Instruktionsdateien](https://docs.gitlab.com/user/duo_agent_platform/customize/) – z. B. `chat-rules.md`, `AGENTS.md` und `SKILL.md` – die festlegen, welche Aufgaben, Ressourcen, Kontexte und Aktionen ein Agent ausführen darf. **Das ist das Prinzip der minimalen Rechtevergabe auf KI angewendet: Der Agent tut genau das, wozu er autorisiert wurde – und nichts darüber hinaus.**\n\nGitLab Duo CLI in Aktion:\n\n\u003Ciframe src=\"https://player.vimeo.com/video/1179964611?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=\"GitLab Duo CLI Beta Demo V1\">\u003C/iframe>\u003Cscript src=\"https://player.vimeo.com/api/player.js\">\u003C/script>\n\n## GitLab Duo CLI ausprobieren\n\nDen Einstieg bietet ein [kostenloser Test der GitLab Duo Agent Platform](https://about.gitlab.com/de-de/gitlab-duo-agent-platform/).\n\nWer GitLab bereits im Free Tier nutzt, kann GitLab Duo Agent Platform durch [wenige einfache Schritte](https://docs.gitlab.com/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom) aktivieren.\n\nBestehende GitLab-Premium- oder -Ultimate-Abonnenten können Duo CLI nutzen, indem sie [Duo Agent Platform aktivieren](https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/) – die benötigten GitLab Credits sind im jeweiligen Abonnement [bereits enthalten](https://docs.gitlab.com/subscriptions/gitlab_credits/#included-credits).\n",[705,10,706],"AI/ML","features",{"featured":12,"template":13,"slug":708},"gitlab-duo-cli",{"content":710,"config":719},{"title":711,"description":712,"authors":713,"heroImage":715,"date":716,"body":717,"category":10,"tags":718},"GitLab Feature Flags in Python einrichten","Feature Flags in eine Python-Flask-App integrieren und Feature-Rollouts ohne Redeployment steuern – mit dem Unleash SDK und GitLab.",[714],"Omid Khan","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-03-26","## Feature Flags als Methode zur Deployment-Risikominimierung\n\nWochen Entwicklungsarbeit, abgeschlossenes Code-Review, alle Tests grün. Das Feature gelangt in die Produktion – und innerhalb einer Stunde treffen Fehlerberichte ein. Der Code verhält sich für die meisten Nutzenden korrekt, aber bestimmte Produktions-Szenarien, die im Staging nicht aufgetreten sind, führen bei einem Teil der Nutzenden zu Ausfällen. Das Ergebnis: ungeplanter Rollback, Incident-Dokumentation, Ursachenanalyse.\n\nFeature Flags verhindern genau das. Das Prinzip: Deployment und Release werden entkoppelt. Code gelangt in die Produktion, sobald er bereit ist – wer das neue Feature tatsächlich sieht, wird unabhängig davon über einen Schalter in GitLab gesteuert. Kein Redeployment, kein Hotfix, keine ungeplante Rollback-Prozedur.\n\n### Systematisch gesteuerte Rollouts\n\nDer eigentliche Wert von Feature Flags liegt in der schrittweisen Freigabe. Ein typischer Ablauf:\n\n1. **QA-Team (User-IDs-Strategie):** Das Feature ist nur für interne Tester sichtbar. Probleme werden erkannt, bevor externe Nutzende betroffen sind.\n2. **Prozentualer Rollout (z. B. 10 %):** Das Feature wird für einen definierten Anteil der Nutzenden aktiviert. Metriken und Fehlerraten lassen sich unter realen Bedingungen beobachten.\n3. **Vollständige Freigabe:** Erst wenn das Verhalten in der Produktion validiert ist, wird das Feature für alle aktiviert.\n\nTritt auf einer Stufe ein Problem auf, reicht ein Klick in der GitLab-Oberfläche, um das Feature zu deaktivieren – ohne Code-Änderung, ohne Pipeline.\n\n### Skalierung und Produktionsbetrieb\n\nGitLab stellt für jedes Projekt eine Unleash-kompatible API bereit. Der Unleash-SDK pollt die Flag-Definitionen beim Start und danach in einem konfigurierbaren Intervall (im Demo-Projekt: 15 Sekunden). Die Auswertung erfolgt lokal aus dem Cache – kein Netzwerkaufruf pro Flag-Abfrage, kein Latenzeinfluss auf den Request.\n\nFür kleinere Deployments ist das 15-Sekunden-Intervall gut geeignet. Bei Deployments mit vielen App-Instanzen von derselben IP-Adresse gilt: GitLab.com unterstützt bei diesem Intervall rund 125 Clients, bevor Rate-Limits greifen. Für größere Produktionsumgebungen empfiehlt sich ein vorgelagerter Unleash Proxy, der Anfragen mehrerer Instanzen bündelt.\n\n### Sicherheitsrelevante Aspekte\n\n* **Keine Credentials im Quellcode:** Instance ID und alle Tokens gehören in Umgebungsvariablen, nicht in den Code.\n* **Instance ID ist read-only:** Sie erlaubt ausschließlich das Abrufen von Flag-Zuständen, keine Änderungen. Trotzdem als Secret behandeln.\n* **Debug-Modus deaktiviert lassen:** Flasks Debug-Modus ermöglicht Remote Code Execution – in der Produktion zwingend deaktiviert.\n* **Abhängigkeiten aktuell halten:** [Dependency Scanning](https://docs.gitlab.com/user/application_security/dependency_scanning/) in der CI/CD-Pipeline aktivieren, um Schwachstellen in gepinnten Versionen zu erkennen.\n\n## Schritt-für-Schritt: Integration in eine Python-Flask-App\n\nDieser Abschnitt gibt einen Überblick über die technische Integration. Die vollständige Implementierung – alle Schritte, der komplette Code und ein lauffähiges Demo-Projekt – ist im [englischen Originalartikel](https://about.gitlab.com/blog/getting-started-with-gitlab-feature-flags-in-python/) beschrieben. Das Demo-Repository steht unter [gitlab.com/omid-blogs/gitlab-feature-flags-demo](https://gitlab.com/omid-blogs/gitlab-feature-flags-demo) zum Forken bereit.\n\n### SDK vs. GitLab REST API\n\nFür eine App, die Flags bei jedem Request auswertet, ist der SDK die geeignete Wahl:\n\n|  | REST API | Unleash SDK |\n| ----- | ----- | ----- |\n| **Authentifizierung** | Personal Access Token mit Projektberechtigungen | Nur Instance ID – read-only, auf Flag-Zustand beschränkt |\n| **Flag-Auswertung** | Netzwerkaufruf pro Abfrage | Lokal aus dem Cache |\n| **Latenz** | Netzwerk-Round-Trip | Nahezu null (In-Memory) |\n| **Strategie-Unterstützung** | Manuelle Auswertung erforderlich | Integriert: Prozentualer Rollout, User-ID-Targeting |\n| **Rate-Limits** | GitLab.com API-Limits | Eine Poll-Verbindung pro App-Instanz |\n\n### Kernmuster der Integration\n\nDie gesamte Integration besteht aus einer Abhängigkeit (`UnleashClient`), drei Umgebungsvariablen und einem Methodenaufruf.\n\n**SDK initialisieren:**\n\n```python unleash_client = UnleashClient(\n    url=UNLEASH_URL,\n    app_name=UNLEASH_APP_NAME,\n    instance_id=UNLEASH_INSTANCE_ID,\n    refresh_interval=15,\n    metrics_interval=60,\n)\nunleash_client.initialize_client() ```\n\n**Flag abfragen:**\n\n```python def is_flag_enabled(flag_name):\n    return unleash_client.is_enabled(flag_name)\n```\n\n`is_enabled()` wertet lokal aus dem Cache aus – kein Netzwerkaufruf, kein Latenzeinfluss auf den Request.\n\n**Nutzerkontext für gezieltes Targeting übergeben:**\n\n```python unleash_client.is_enabled(\n    'new_layout',\n    context={'userId': current_user.id}\n) ```\n\nDer SDK übernimmt das konsistente Hashing für prozentuale Rollouts. Für die vollständige Einrichtung – Flags in GitLab anlegen, Unleash-Credentials abrufen, App lokal ausführen und Flags in Echtzeit umschalten – siehe den [englischen Originalartikel](https://about.gitlab.com/blog/getting-started-with-gitlab-feature-flags-in-python/).\n\n### Ressourcen\n\n* [Demo-Projekt auf GitLab](https://gitlab.com/omid-blogs/gitlab-feature-flags-demo)\n* [GitLab Feature-Flags-Dokumentation](https://docs.gitlab.com/operations/feature_flags/)\n* [Unleash Python SDK auf GitHub](https://github.com/Unleash/unleash-python-sdk)",[706,25,10],{"featured":12,"template":13,"slug":720},"getting-started-with-gitlab-feature-flags-in-python",{"promotions":722},[723,737,749],{"id":724,"categories":725,"header":727,"text":728,"button":729,"image":734},"ai-modernization",[726],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":730,"config":731},"Get your AI maturity score",{"href":732,"dataGaName":733,"dataGaLocation":243},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":735},{"src":736},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":738,"categories":739,"header":741,"text":728,"button":742,"image":746},"devops-modernization",[10,740],"devsecops","Are you just managing tools or shipping innovation?",{"text":743,"config":744},"Get your DevOps maturity score",{"href":745,"dataGaName":733,"dataGaLocation":243},"/assessments/devops-modernization-assessment/",{"config":747},{"src":748},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":750,"categories":751,"header":753,"text":728,"button":754,"image":758},"security-modernization",[752],"security","Are you trading speed for security?",{"text":755,"config":756},"Get your security maturity score",{"href":757,"dataGaName":733,"dataGaLocation":243},"/assessments/security-modernization-assessment/",{"config":759},{"src":760},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"header":762,"blurb":763,"button":764,"secondaryButton":769},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":765,"config":766},"Kostenlosen Test starten",{"href":767,"dataGaName":49,"dataGaLocation":768},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":51,"config":770},{"href":53,"dataGaName":54,"dataGaLocation":768},1777309973510]