[{"data":1,"prerenderedAt":813},["ShallowReactive",2],{"/de-de/topics/devops/what-is-yaml":3,"navigation-de-de":128,"banner-de-de":553,"footer-de-de":563,"next-steps-de-de":803},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":119,"meta":120,"navigation":121,"path":122,"seo":123,"slug":6,"stem":126,"testContent":6,"type":6,"__hash__":127},"pages/de-de/topics/devops/what-is-yaml/index.yml","",null,[8,22,29,117],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Topics",{"href":15},"/topics/",{"title":17,"config":18},"DevOps",{"href":19},"/de-de/topics/devops/",{"title":21},"Was ist YAML",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":25,"text":26,"config":27},"Was ist YAML: Grundlagen verstehen","YAML (YAML Ain't Markup Language) ist ein menschenlesbares Datenserialisierungsformat, das häufig für Konfigurationsdateien und den Datenaustausch zwischen Programmiersprachen verwendet wird.",{"id":28},"was-ist-yaml-grundlagen-verstehen",{"type":30,"componentName":30,"componentContent":31},"CommonSideNavigationWithTree",{"components":32,"anchors":88},[33,40,46,52,58,64,70,76,82],{"type":34,"componentName":34,"componentContent":35},"TopicsCopy",{"header":36,"text":37,"config":38},"Was ist YAML?","[YAML](https://yaml.org/), die Abkürzung für \"YAML Ain't Markup Language\" (ursprünglich \"Yet Another Markup Language\"), ist eine flexible und zugängliche Datenserialisierungssprache, die häufig in Konfigurationsdateien, Datenaustausch und automatisierten Workflows verwendet wird. Der minimalistische Stil und die Struktur machen sie leicht lesbar für Menschen (wie Entwickler(innen) und Systemadministrator(innen)), während sie gleichzeitig strukturiert genug für die Maschinenverarbeitung ist.\n\n### Was ist eine YAML-Datei?\nYAML-Dateien sind Textdateien, die Daten mit YAMLs einzugsbasierter Struktur speichern. Da YAML natürliche Sprache nachahmt und strukturiertes Leerzeichen verwendet, sehen diese Dateien oft wie organisierte Listen oder Gliederungen aus.\n\nHäufige Merkmale von YAML-Dateien sind:\n\n\n* Verwendung der Dateierweiterung `.yml` oder `.yaml`\n* Optional Beginn eines Dokuments mit drei Bindestrichen (`---`)\n* Verwendung von Einzug und Leerzeichen zur Definition der Über- und Unterordnungshierarchie\n* Darstellung der meisten Daten als Schlüssel-Wert-Paare (`key: value`)\n* Optional Beendigung eines Dokuments mit drei Punkten (...)\n\n\nNachfolgend finden Sie eine minimale GitLab CI-Konfiguration, die einen einzelnen Job und eine Phase definiert. Mit nur wenigen Zeilen YAML können nützliche Aufgaben wie das Ausführen von Tests bei jedem Code-Push automatisiert werden. Mit dem Wachstum des Workflows können Builds, Bereitstellungen und erweiterte Automatisierungslogik problemlos hinzugefügt werden.\n\n```yaml\nstages:\n- build\n- test\n\nbuild:\nstage: build\nscript:\n- echo \"Building app\"\nartifacts:\npaths:\n- dist/\n\ntest:\nstage: test\nscript:\n- echo \"Running tests\"\n- ./run-tests.sh\ndependencies:\n- build\n```",{"id":39},"was-ist-yaml",{"type":34,"componentName":34,"componentContent":41},{"header":42,"text":43,"config":44},"Welche YAML- und DevOps-Anwendungsfälle gibt es?","In modernem DevOps ist YAML zum Standard für Konfigurationsdateien geworden. Es ist einfach zu schreiben, zu lesen und zu ändern, was Teams ermöglicht, schnell zu iterieren und effektiv über Tools und Umgebungen hinweg zusammenzuarbeiten.\n\nYAML wird häufig verwendet in:\n\n* **Infrastructure as Code (IaC)**: IaC nutzt Konfigurationsdateien zur Definition und Verwaltung von Computerinfrastruktur (virtuelle Maschinen, Netzwerke, Cloud-Services) auf konsistente, skalierbare Weise. Tools wie Ansible und Kubernetes verlassen sich auf YAML, um den Systemzustand zu beschreiben und Aufgaben zu automatisieren.\n* **Continuous Integration und Continuous Delivery (CI/CD) Pipeline-Konfiguration**: Viele [CI/CD-Tools](https://about.gitlab.com/solutions/continuous-integration/) verwenden YAML-Dateien zur Definition von Pipeline-Jobs, Ausführungsphasen, Triggern und Umgebungsregeln. Da diese Konfigurationen neben dem Anwendungscode vorhanden sind, werden sie vollständig versionskontrolliert und lassen sich leicht automatisieren.\n* **Bereitstellungen**: YAML spielt eine kritische Rolle bei der Anwendungsbereitstellung, da Manifest-Dateien den gewünschten Zustand von Anwendungen definieren, Aktualisierungsprozesse leiten und historische Konfigurationen zur Unterstützung von Rollbacks bewahren.",{"id":45},"welche-yaml-und-devops-anwendungsfaelle-gibt-es",{"type":34,"componentName":34,"componentContent":47},{"header":48,"text":49,"config":50},"Wofür wird YAML verwendet?","YAML hat viele Anwendungen, wie das Definieren von Konfigurationseinstellungen, des gewünschten Zustands einer Anwendung oder der Schritte eines automatisierten Workflows. Es spielt eine entscheidende Rolle in [DevOps](https://about.gitlab.com/topics/devops/), indem es Entwickler(innen) ermöglicht, kritische Tools wie Ansible und Kubernetes zu integrieren.\n\n### YAML in Ansible\n[Ansible](https://www.redhat.com/en/ansible-collaborative) ist ein Open-Source-Automatisierungstool zur Automatisierung einer Vielzahl von IT-Aufgaben, einschließlich Konfigurationsmanagement, Anwendungsbereitstellung und Systembereitstellung.\n\nEin Ansible-Playbook ist im Wesentlichen eine in YAML geschriebene Konfigurationsdatei, die eine automatisierte Aufgabe oder einen Prozess definiert. Ein Ansible-Modul nutzt diese Playbooks, um den aktuellen Zustand verwalteter Knoten zu bewerten und die vorgeschriebene Aufgabe auszuführen.\n\nZusammen machen YAML und Ansible die Infrastrukturautomatisierung zugänglicher, indem sie klare, versionskontrollierte Anweisungen bereitstellen, die Teams leicht überprüfen und verwalten können.\n\n### YAML für Kubernetes\n[Kubernetes](https://kubernetes.io/) ist eine Open-Source-Orchestrierungsplattform zur Bereitstellung, Skalierung und Verwaltung containerisierter Anwendungen. Jede Kubernetes-Ressource (Pods, Deployments, Services, ConfigMaps) in einem Cluster wird mit einer Manifest-Datei definiert, die normalerweise in YAML geschrieben ist und den gewünschten Zustand einer Ressource angibt, wie:\n* Wie viele Repliken ausgeführt werden sollen\n* Welche Container-Images verwendet werden sollen\n* Wie Netzwerk und Speicher sich verhalten sollen\n* Welche Konfigurationswerte oder Geheimnisse angewendet werden sollen\n\n\nKubernetes vergleicht kontinuierlich den tatsächlichen Zustand des Clusters mit dem in der YAML-Datei beschriebenen Zustand und gleicht Unterschiede aus. Da Kubernetes sehr komplex werden kann, spielt YAML eine entscheidende Rolle bei der Vereinfachung seiner Konfiguration und Wartbarkeit.",{"id":51},"wofuer-wird-yaml-verwendet",{"type":34,"componentName":34,"componentContent":53},{"header":54,"text":55,"config":56},"Welche Vorteile bietet YAML?","Die Beliebtheit von YAML ergibt sich aus einer Kombination von Lesbarkeit, Flexibilität und breiter Kompatibilität. Die Kernvorteile sind:\n\n### Einfachheit: Struktur natürlicher Sprache\nYAML ist benutzerfreundlich für technische und nicht-technische Nutzer(innen), da es natürliche Sprache stärker widerspiegelt als andere Datenformate wie JavaScript Object Notation (JSON) oder Extensible Markup Language (XML). IT-Fachkräfte müssen keine völlig neue Programmiersprache erlernen oder umfangreiche Schulungen absolvieren, um YAML zu verwenden. Stattdessen machen die minimalistische Syntax und die hierarchische Einzugsstruktur von YAML, ähnlich wie Python, es einfacher für Menschen, zu lesen und zu ändern.\n\n### Kompatibilität: Plattformunabhängig\nAls Datenserialisierungssprache besteht der Zweck von YAML darin, Datenstrukturen in ein standardisiertes Nur-Text-Format abzubilden. YAML-Dateien können dann von jeder anderen Programmiersprache unabhängig vom Betriebssystem oder der Anwendung übersetzt oder interpretiert werden. Dies ermöglicht YAML, als Brücke zwischen Tools, Plattformen und den sie verwaltenden Menschen zu fungieren.\n\n### Struktur: Ideal für Konfigurationsdateien\nYAML wird häufig für Konfigurationsdateien verwendet, da Entwickler(innen) die Lesbarkeit bei der Arbeit mit großen Konfigurationen schätzen. Die einfache Syntax und klare Hierarchie machen Beziehungen zwischen Elementen leicht verständlich, was Teams hilft, Daten zu analysieren und Fehler oder Inkonsistenzen zu erkennen.",{"id":57},"welche-vorteile-bietet-yaml",{"type":34,"componentName":34,"componentContent":59},{"header":60,"text":61,"config":62},"Was sind die Grundlagen von YAML?","Während YAML einige Ähnlichkeiten mit anderen Datenserialisierungssprachen aufweist, hat es mehrere Schlüsselmerkmale, die es einzigartig machen:\n\n### Struktur und Syntax\nYAML-Dateien enthalten Knoten oder einzelne Datenelemente, die auf einer hierarchischen Struktur verschachtelt sind. Anstatt sich auf Strukturzeichen wie Klammern oder Anführungszeichen zu verlassen, verwendet YAML Leerzeichen und Einzug, um Beziehungen zwischen Elementen auszudrücken.\n\n### Einzugsregeln\nEinzug ist der Schlüssel zum Erreichen der verschachtelten Struktur einer YAML-Datei. Mit einem konsistenten System von Leerzeichen (Tabulatoren sind nicht zulässig und verursachen einen Fehler) können Entwickler(innen) die Hierarchie anzeigen, indem untergeordnete Elemente mehr eingerückt werden als ihre übergeordneten Elemente.\n\n\n**Hinweis**: Die Anzahl der Leerzeichen für den Einzug spielt keine Rolle, solange sie in der gesamten Datei konsistent ist. Daher müssen alle Elemente auf der gleichen hierarchischen Ebene mit der gleichen Anzahl von Leerzeichen eingerückt werden.\n\n### Zuordnung und Sequenzen\nIn YAML erscheinen Listen oder Sammlungen in einer von zwei Formen: Zuordnungen oder Sequenzen:\n\n* Zuordnungen ähneln Wörterbüchern oder Objekten und enthalten einen ungeordneten Satz von Schlüssel-Wert-Paaren (`key: value`)\n* Sequenzen oder Listen/Arrays sind geordnete Sammlungen, wobei jedes Element durch einen Bindestrich und ein Leerzeichen gekennzeichnet ist (`- item`)\n\n### Kommentare einbeziehen\nEin nützliches Merkmal von YAML ist die Unterstützung für Kommentare, die mit einem Hash-Symbol (#) gekennzeichnet sind. Dies ermöglicht es Nutzer(innen), Erklärungen und Kontextinformationen zu hinterlassen, die für Teamkollegen oder zukünftige Betreuer(innen) relevant sein können.",{"id":63},"was-sind-die-grundlagen-von-yaml",{"type":34,"componentName":34,"componentContent":65},{"header":66,"text":67,"config":68},"Vergleich mit anderen Formaten: YAML vs. JSON vs. XML","YAML und JSON sind beide Datenserialisierungsformate, die Menschen und Computer leicht interpretieren und analysieren können. YAML wird als Obermenge von JSON betrachtet, was bedeutet, dass jede gültige JSON-Datei auch gültiges YAML ist.\n\nXML ist ein weiteres beliebtes Datenserialisierungsformat, das weniger menschenlesbar ist. XML wurde in den 1990er Jahren entwickelt und ist älter als JSON und YAML. Es wird häufig in Legacy- und Enterprise-Anwendungen verwendet.\n\n|                     | **YAML**                                                                                                             | **JSON**                                                                                                                 | **XML**                                                                                  |\n|---------------------|----------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------|\n| **Merkmale** | Priorisiert Menschenlesbarkeit, ahmt natürliche Sprache nach und verwendet Einzug zur Strukturerstellung statt Symbole | Für einfaches, vorhersehbares Parsing mit Klammern, eckigen Klammern und Kommas konzipiert; als lesbar, aber etwas starrer angesehen | Ein hochstrukturiertes, Tag-basiertes Format, das HTML ähnelt und weniger benutzerfreundlich sein kann |\n| **Einzigartige Merkmale** | Ermöglicht Kommentare, unterstützt Multi-Dokument-Dateien, enthält Anker und Aliase zum Wiederverwenden von Datenblöcken                 | Leicht und minimal mit universeller Unterstützung in Programmiersprachen                                              | Für strikte, formale Strukturen konzipiert und unterstützt Schema-Validierung                    |\n| **Struktur**       | Einzugsbasierte Hierarchie, flexibel und ausdrucksstark                                                                 | Symbolbasierte Struktur mit `{}`, `[]` und `,`                                                                         | Tag-basierte Struktur mit öffnenden und schließenden Elementen                                   |\n| **Häufige Anwendungen**     | Konfigurationsdateien, Automatisierungs-Workflows und Infrastructure-as-Code                                                | Datenaustausch zwischen Web-Clients, Servern und APIs                                                                     | Datenaustausch in Enterprise-Systemen, Dokumentformate und Legacy-Anwendungen           |",{"id":69},"vergleich-mit-anderen-formaten",{"type":34,"componentName":34,"componentContent":71},{"header":72,"text":73,"config":74},"Fortgeschrittene YAML-Konzepte verstehen","Während YAML für seine einfache Struktur und Syntax bekannt ist, hat es auch mehrere erweiterte Funktionen, die es leistungsstark genug machen, um komplexe Konfigurationen und Workflows zu bewältigen.\n\n### Anker und Aliase\nAnker und Aliase ermöglichen es Entwickler(innen), einen Datenblock einmal zu definieren und ihn mehrmals in der Datei zu referenzieren. Wenn der Anker aktualisiert wird, spiegelt jeder Alias die Änderung automatisch wider, wenn er analysiert wird. Dies vermeidet Duplizierung, reduziert die Dateigröße und gewährleistet Konsistenz.\n\n* **Anker**: Ein wiederverwendbarer Block, der mit einem Ampersand (&) gekennzeichnet ist\n* **Alias**: Eine Referenz auf diesen Block, gekennzeichnet mit einem Sternchen (*)\n\n### Tags und Datentypen\nYAML leitet viele grundlegende Datentypen automatisch ab, einschließlich Ganzzahlen, Gleitkommazahlen, Boolesche Werte und Zeitstempel. Wenn jedoch mehr Kontrolle erforderlich ist oder mit komplexen Strukturen gearbeitet wird, ermöglichen Tags die explizite Deklaration des Datentyps eines Werts.\n\n* **Tag**: Gekennzeichnet mit einem doppelten Ausrufezeichen (!!) gefolgt vom Typnamen\n\n### Verwandte Dokumente bündeln\nEin weiteres fortgeschrittenes Konzept, das YAML auszeichnet, ist die Multi-Dokument-Unterstützung. Diese Funktion ist nützlich zum Bündeln, Transportieren und Verwalten verwandter Konfigurationen für eine einzelne Komponente. Die Multi-Dokument-Unterstützung ist auch nützlich, wenn Entwickler(innen) Variationen für verschiedene Kontexte definieren müssen.\n\n* **Multi-Dokument-Abgrenzung**: Unterschiedliche Dokumente oder Datenstrukturen innerhalb einer einzelnen Datei werden mit drei Bindestrichen (`---`) getrennt\n\nWährend YAML nativ keine Datei-zu-Datei-Verknüpfung unterstützt, haben führende Entwicklerplattformen wie GitLab benutzerdefinierte Mechanismen erstellt, die es Entwickler(innen) ermöglichen, separate Dateien, Skripte und Konfigurationskomponenten zu verknüpfen und wiederzuverwenden.",{"id":75},"fortgeschrittene-yaml-konzepte-verstehen",{"type":34,"componentName":34,"componentContent":77},{"header":78,"text":79,"config":80},"Welche Best Practices gibt es beim Schreiben von YAML?","Das Schreiben von effektivem YAML erfordert Aufmerksamkeit für Details. Die folgenden Best Practices helfen sicherzustellen, dass Dateien lesbar und fehlerfrei bleiben.\n\n### Effizienz und Einfachheit fördern\nDie Stärken von YAML liegen in seiner Benutzerfreundlichkeit, Anpassungsfähigkeit und Einfachheit. Nutzen Sie diese Qualitäten mit diesen Best Practices optimal:\n\n* Reduzieren Sie Parsing-Fehler durch konsistente Einzüge und verwenden Sie immer Leerzeichen statt Tabulatoren\n* Minimieren Sie Wiederholungen und optimieren Sie Updates durch Verwendung von Ankern und Aliasen statt Duplizierung von Datenblöcken\n* Verbessern Sie die Lesbarkeit und vereinfachen Sie den Versionsvergleich durch Begrenzung der Zeilenlänge auf 80-120 Zeichen pro Zeile\n* Bewahren Sie Klarheit durch Verwendung von Flow-Stil (`{}`, `[]`) nur für kurze, einfache Sammlungen\n\n### Fehlerfreie Dateien schreiben\nWährend YAML-Dateien schnell zu schreiben und zu ändern sind, können Konfigurationsfehler zu schwerwiegenden Anwendungsfehlern oder Sicherheitsproblemen führen. Um Risiken zu reduzieren, implementieren Sie diese Praktiken:\n\n* Fügen Sie Kommentare hinzu, um komplexe oder ungewöhnliche Konfigurationseinstellungen zu erklären und Kontext für Teamkollegen bereitzustellen\n* Vermeiden Sie den häufigsten YAML-Fehler, indem Sie den Text-Editor so konfigurieren, dass Tabulatoren in Leerzeichen umgewandelt werden\n* Zitieren Sie Zeichenfolgen bei Bedarf, einschließlich jeder Zeichenfolge, die:\n    * \"Wie eine Zahl, ein Boolescher Wert oder null aussieht (\"`123`\", \"`true`\", \"`on`\")\"\n    * \"Sonderzeichen enthält (`:`, `{}`, `[]`, `#`)\"\n    * \"Mit einem Alias (*) oder Sequenzindikator (-) beginnt\"\n* Integrieren Sie Linter und Validatoren in Workflows und CI/CD-Pipelines, um Syntaxprobleme zu erkennen und Stilrichtlinien durchzusetzen\n* Validieren Sie für plattformspezifische Dateien YAML gegen das Schema dieser Plattform mit Tools wie kubeconform, um sowohl syntaktische Korrektheit als auch ordnungsgemäße Feldnutzung sicherzustellen",{"id":81},"welche-best-practices-gibt-es-beim-schreiben-von-yaml",{"type":34,"componentName":34,"componentContent":83},{"header":84,"text":85,"config":86},"YAML in die Praxis umsetzen","Die Mischung aus Lesbarkeit und Struktur macht YAML zu einem wesentlichen Werkzeug in modernem DevOps und treibt alles von CI/CD-Pipelines bis zu Kubernetes-Bereitstellungen an. Durch die Beherrschung der Kernkonzepte kannst du sauberes, zuverlässiges YAML schreiben, das Automatisierung unterstützt und mit deiner Infrastruktur skaliert.\n\n**[Erkunde den vollständigen YAML-Syntax-Leitfaden von GitLab, um zu erfahren, wie du leistungsstarke, flexible CI/CD-Pipelines erstellst](https://docs.gitlab.com/ci/yaml/).**",{"id":87},"yaml-in-die-praxis-umsetzen",{"data":89},[90,93,96,99,102,105,108,111,114],{"text":36,"config":91},{"href":92},"#was-ist-yaml",{"config":94,"text":42},{"href":95},"#welche-yaml-und-devops-anwendungsfaelle-gibt-es",{"config":97,"text":48},{"href":98},"#wofuer-wird-yaml-verwendet",{"config":100,"text":54},{"href":101},"#welche-vorteile-bietet-yaml",{"config":103,"text":60},{"href":104},"#was-sind-die-grundlagen-von-yaml",{"config":106,"text":66},{"href":107},"#vergleich-mit-anderen-formaten",{"config":109,"text":72},{"href":110},"#fortgeschrittene-yaml-konzepte-verstehen",{"config":112,"text":78},{"href":113},"#welche-best-practices-gibt-es-beim-schreiben-von-yaml",{"config":115,"text":84},{"href":116},"#yaml-in-die-praxis-umsetzen",{"type":118,"componentName":118},"CommonNextSteps","yml",{},true,"/de-de/topics/devops/what-is-yaml",{"title":25,"ogTitle":25,"description":124,"ogDescription":125},"YAML-Grundlagen, Struktur und Syntax, alles über YAML für Entwickler und Interessierte.","GitLab Topics | Was ist YAML: Grundlagen verstehen","de-de/topics/devops/what-is-yaml/index","gBXjFMTISYqwEXrItO0QjccVW5bvaBruqdIQzlbwV4A",{"logo":129,"freeTrial":134,"sales":139,"login":144,"items":149,"search":471,"minimal":505,"duo":523,"switchNav":532,"pricingDeployment":543},{"config":130},{"href":131,"dataGaName":132,"dataGaLocation":133},"/de-de/","gitlab logo","header",{"text":135,"config":136},"Kostenlose Testversion anfordern",{"href":137,"dataGaName":138,"dataGaLocation":133},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":140,"config":141},"Vertrieb kontaktieren",{"href":142,"dataGaName":143,"dataGaLocation":133},"/de-de/sales/","sales",{"text":145,"config":146},"Anmelden",{"href":147,"dataGaName":148,"dataGaLocation":133},"https://gitlab.com/users/sign_in/","sign in",[150,179,281,286,390,451],{"text":151,"config":152,"menu":154},"Plattform",{"dataNavLevelOne":153},"platform",{"type":155,"columns":156},"cards",[157,163,171],{"title":151,"description":158,"link":159},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":160,"config":161},"Die Plattform erkunden",{"href":162,"dataGaName":153,"dataGaLocation":133},"/de-de/platform/",{"title":164,"description":165,"link":166},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":167,"config":168},"Lerne GitLab Duo kennen",{"href":169,"dataGaName":170,"dataGaLocation":133},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":172,"description":173,"link":174},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":175,"config":176},"Mehr erfahren",{"href":177,"dataGaName":178,"dataGaLocation":133},"/de-de/why-gitlab/","why gitlab",{"text":180,"left":121,"config":181,"menu":183},"Produkt",{"dataNavLevelOne":182},"solutions",{"type":184,"link":185,"columns":189,"feature":260},"lists",{"text":186,"config":187},"Alle Lösungen anzeigen",{"href":188,"dataGaName":182,"dataGaLocation":133},"/de-de/solutions/",[190,215,238],{"title":191,"description":192,"link":193,"items":198},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":194},{"icon":195,"href":196,"dataGaName":197,"dataGaLocation":133},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[199,203,206,211],{"text":200,"config":201},"CI/CD",{"href":202,"dataGaLocation":133,"dataGaName":200},"/de-de/solutions/continuous-integration/",{"text":164,"config":204},{"href":169,"dataGaLocation":133,"dataGaName":205},"gitlab duo agent platform - product menu",{"text":207,"config":208},"Quellcodeverwaltung",{"href":209,"dataGaLocation":133,"dataGaName":210},"/de-de/solutions/source-code-management/","Source Code Management",{"text":212,"config":213},"Automatische Softwarebereitstellung",{"href":196,"dataGaLocation":133,"dataGaName":214},"Automated software delivery",{"title":216,"description":217,"link":218,"items":223},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":219},{"href":220,"dataGaName":221,"dataGaLocation":133,"icon":222},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[224,228,233],{"text":225,"config":226},"Anwendungssicherheitstests",{"href":220,"dataGaName":227,"dataGaLocation":133},"Application security testing",{"text":229,"config":230},"Sicherheit der Software-Lieferkette",{"href":231,"dataGaLocation":133,"dataGaName":232},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":234,"config":235},"Software-Compliance",{"href":236,"dataGaName":237,"dataGaLocation":133},"/de-de/solutions/software-compliance/","software compliance",{"title":239,"link":240,"items":245},"Messung",{"config":241},{"icon":242,"href":243,"dataGaName":244,"dataGaLocation":133},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[246,250,255],{"text":247,"config":248},"Sichtbarkeit und Messung",{"href":243,"dataGaLocation":133,"dataGaName":249},"Visibility and Measurement",{"text":251,"config":252},"Wertstrommanagement",{"href":253,"dataGaLocation":133,"dataGaName":254},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":256,"config":257},"Analysen und Einblicke",{"href":258,"dataGaLocation":133,"dataGaName":259},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":261,"type":184,"items":262},"GitLab für",[263,269,275],{"text":264,"config":265},"Enterprise",{"icon":266,"href":267,"dataGaLocation":133,"dataGaName":268},"Building","/de-de/enterprise/","enterprise",{"text":270,"config":271},"Kleinunternehmen",{"icon":272,"href":273,"dataGaLocation":133,"dataGaName":274},"Work","/de-de/small-business/","small business",{"text":276,"config":277},"Öffentlicher Sektor",{"icon":278,"href":279,"dataGaLocation":133,"dataGaName":280},"Organization","/de-de/solutions/public-sector/","public sector",{"text":282,"config":283},"Preise",{"href":284,"dataGaName":285,"dataGaLocation":133,"dataNavLevelOne":285},"/de-de/pricing/","pricing",{"text":287,"config":288,"menu":290},"Ressourcen",{"dataNavLevelOne":289},"resources",{"type":184,"link":291,"columns":295,"feature":379},{"text":292,"config":293},"Alle Ressourcen anzeigen",{"href":294,"dataGaName":289,"dataGaLocation":133},"/de-de/resources/",[296,329,351],{"title":297,"items":298},"Erste Schritte",[299,304,309,314,319,324],{"text":300,"config":301},"Installieren",{"href":302,"dataGaName":303,"dataGaLocation":133},"/de-de/install/","install",{"text":305,"config":306},"Kurzanleitungen",{"href":307,"dataGaName":308,"dataGaLocation":133},"/de-de/get-started/","quick setup checklists",{"text":310,"config":311},"Lernen",{"href":312,"dataGaLocation":133,"dataGaName":313},"https://university.gitlab.com/","learn",{"text":315,"config":316},"Produktdokumentation",{"href":317,"dataGaName":318,"dataGaLocation":133},"https://docs.gitlab.com/","product documentation",{"text":320,"config":321},"Best-Practice-Videos",{"href":322,"dataGaName":323,"dataGaLocation":133},"/de-de/getting-started-videos/","best practice videos",{"text":325,"config":326},"Integrationen",{"href":327,"dataGaName":328,"dataGaLocation":133},"/de-de/integrations/","integrations",{"title":330,"items":331},"Entdecken",[332,337,342,346],{"text":333,"config":334},"Kundenerfolge",{"href":335,"dataGaName":336,"dataGaLocation":133},"/de-de/customers/","customer success stories",{"text":338,"config":339},"Blog",{"href":340,"dataGaName":341,"dataGaLocation":133},"/de-de/blog/","blog",{"text":343,"config":344},"The Source",{"href":345,"dataGaName":341,"dataGaLocation":133},"/de-de/the-source/",{"text":347,"config":348},"Remote",{"href":349,"dataGaName":350,"dataGaLocation":133},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":352,"items":353},"Vernetzen",[354,359,364,369,374],{"text":355,"config":356},"GitLab-Services",{"href":357,"dataGaName":358,"dataGaLocation":133},"/de-de/services/","services",{"text":360,"config":361},"Community",{"href":362,"dataGaName":363,"dataGaLocation":133},"/community/","community",{"text":365,"config":366},"Forum",{"href":367,"dataGaName":368,"dataGaLocation":133},"https://forum.gitlab.com/","forum",{"text":370,"config":371},"Veranstaltungen",{"href":372,"dataGaName":373,"dataGaLocation":133},"/events/","events",{"text":375,"config":376},"Partner",{"href":377,"dataGaName":378,"dataGaLocation":133},"/de-de/partners/","partners",{"config":380,"title":383,"text":384,"link":385},{"background":381,"textColor":382},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","Neues bei GitLab","Über die neuesten Funktionen und Verbesserungen auf dem Laufenden bleiben.",{"text":386,"config":387},"Aktuelle Nachrichten",{"href":388,"dataGaName":389,"dataGaLocation":133},"/de-de/releases/whats-new/","whats new",{"text":391,"config":392,"menu":394},"Company",{"dataNavLevelOne":393},"company",{"type":184,"columns":395},[396],{"items":397},[398,403,409,411,416,421,426,431,436,441,446],{"text":399,"config":400},"Über",{"href":401,"dataGaName":402,"dataGaLocation":133},"/de-de/company/","about",{"text":404,"config":405,"footerGa":408},"Karriere",{"href":406,"dataGaName":407,"dataGaLocation":133},"/jobs/","jobs",{"dataGaName":407},{"text":370,"config":410},{"href":372,"dataGaName":373,"dataGaLocation":133},{"text":412,"config":413},"Geschäftsführung",{"href":414,"dataGaName":415,"dataGaLocation":133},"/company/team/e-group/","leadership",{"text":417,"config":418},"Team",{"href":419,"dataGaName":420,"dataGaLocation":133},"/company/team/","team",{"text":422,"config":423},"Handbuch",{"href":424,"dataGaName":425,"dataGaLocation":133},"https://handbook.gitlab.com/","handbook",{"text":427,"config":428},"Investor Relations",{"href":429,"dataGaName":430,"dataGaLocation":133},"https://ir.gitlab.com/","investor relations",{"text":432,"config":433},"Trust Center",{"href":434,"dataGaName":435,"dataGaLocation":133},"/de-de/security/","trust center",{"text":437,"config":438},"AI Transparency Center",{"href":439,"dataGaName":440,"dataGaLocation":133},"/de-de/ai-transparency-center/","ai transparency center",{"text":442,"config":443},"Newsletter",{"href":444,"dataGaName":445,"dataGaLocation":133},"/company/contact/#contact-forms","newsletter",{"text":447,"config":448},"Presse",{"href":449,"dataGaName":450,"dataGaLocation":133},"/press/","press",{"text":452,"config":453,"menu":454},"Kontakt",{"dataNavLevelOne":393},{"type":184,"columns":455},[456],{"items":457},[458,461,466],{"text":140,"config":459},{"href":142,"dataGaName":460,"dataGaLocation":133},"talk to sales",{"text":462,"config":463},"Support-Portal",{"href":464,"dataGaName":465,"dataGaLocation":133},"https://support.gitlab.com","support portal",{"text":467,"config":468},"Kundenportal",{"href":469,"dataGaName":470,"dataGaLocation":133},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":472,"login":473,"suggestions":480},"Schließen",{"text":474,"link":475},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":476,"config":477},"gitlab.com",{"href":147,"dataGaName":478,"dataGaLocation":479},"search login","search",{"text":481,"default":482},"Vorschläge",[483,485,490,492,497,502],{"text":164,"config":484},{"href":169,"dataGaName":164,"dataGaLocation":479},{"text":486,"config":487},"Codevorschläge (KI)",{"href":488,"dataGaName":489,"dataGaLocation":479},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":200,"config":491},{"href":202,"dataGaName":200,"dataGaLocation":479},{"text":493,"config":494},"GitLab auf AWS",{"href":495,"dataGaName":496,"dataGaLocation":479},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":498,"config":499},"GitLab auf Google Cloud",{"href":500,"dataGaName":501,"dataGaLocation":479},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":172,"config":503},{"href":177,"dataGaName":504,"dataGaLocation":479},"Why GitLab?",{"freeTrial":506,"mobileIcon":511,"desktopIcon":516,"secondaryButton":519},{"text":507,"config":508},"Kostenlos testen",{"href":509,"dataGaName":138,"dataGaLocation":510},"https://gitlab.com/-/trials/new/","nav",{"altText":512,"config":513},"GitLab-Symbol",{"src":514,"dataGaName":515,"dataGaLocation":510},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":512,"config":517},{"src":518,"dataGaName":515,"dataGaLocation":510},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":297,"config":520},{"href":521,"dataGaName":522,"dataGaLocation":510},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":524,"mobileIcon":528,"desktopIcon":530},{"text":525,"config":526},"Mehr über GitLab Duo erfahren",{"href":169,"dataGaName":527,"dataGaLocation":510},"gitlab duo",{"altText":512,"config":529},{"src":514,"dataGaName":515,"dataGaLocation":510},{"altText":512,"config":531},{"src":518,"dataGaName":515,"dataGaLocation":510},{"button":533,"mobileIcon":538,"desktopIcon":540},{"text":534,"config":535},"/Option",{"href":536,"dataGaName":537,"dataGaLocation":510},"#contact","switch",{"altText":512,"config":539},{"src":514,"dataGaName":515,"dataGaLocation":510},{"altText":512,"config":541},{"src":542,"dataGaName":515,"dataGaLocation":510},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":544,"mobileIcon":549,"desktopIcon":551},{"text":545,"config":546},"Zurück zur Preisübersicht",{"href":284,"dataGaName":547,"dataGaLocation":510,"icon":548},"back to pricing","GoBack",{"altText":512,"config":550},{"src":514,"dataGaName":515,"dataGaLocation":510},{"altText":512,"config":552},{"src":518,"dataGaName":515,"dataGaLocation":510},{"title":554,"button":555,"config":560},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":556,"config":557},"Für GitLab Transcend am 10. Juni anmelden",{"href":558,"dataGaName":559,"dataGaLocation":133},"/de-de/events/transcend/virtual/","transcend event",{"layout":561,"disabled":562},"release",false,{"data":564},{"text":565,"source":566,"edit":572,"contribute":577,"config":582,"items":587,"minimal":794},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":567,"config":568},"Quelltext der Seite anzeigen",{"href":569,"dataGaName":570,"dataGaLocation":571},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":573,"config":574},"Diese Seite bearbeiten",{"href":575,"dataGaName":576,"dataGaLocation":571},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":578,"config":579},"Beteilige dich",{"href":580,"dataGaName":581,"dataGaLocation":571},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":583,"facebook":584,"youtube":585,"linkedin":586},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[588,633,684,726,758],{"title":282,"links":589,"subMenu":604},[590,594,599],{"text":591,"config":592},"Tarife anzeigen",{"href":284,"dataGaName":593,"dataGaLocation":571},"view plans",{"text":595,"config":596},"Vorteile von Premium",{"href":597,"dataGaName":598,"dataGaLocation":571},"/de-de/pricing/premium/","why premium",{"text":600,"config":601},"Vorteile von Ultimate",{"href":602,"dataGaName":603,"dataGaLocation":571},"/de-de/pricing/ultimate/","why ultimate",[605],{"title":452,"links":606},[607,609,611,613,618,623,628],{"text":140,"config":608},{"href":142,"dataGaName":143,"dataGaLocation":571},{"text":462,"config":610},{"href":464,"dataGaName":465,"dataGaLocation":571},{"text":467,"config":612},{"href":469,"dataGaName":470,"dataGaLocation":571},{"text":614,"config":615},"Status",{"href":616,"dataGaName":617,"dataGaLocation":571},"https://status.gitlab.com/","status",{"text":619,"config":620},"Nutzungsbedingungen",{"href":621,"dataGaName":622,"dataGaLocation":571},"/terms/","terms of use",{"text":624,"config":625},"Datenschutzerklärung",{"href":626,"dataGaName":627,"dataGaLocation":571},"/de-de/privacy/","privacy statement",{"text":629,"config":630},"Cookie-Einstellungen",{"dataGaName":631,"dataGaLocation":571,"id":632,"isOneTrustButton":121},"cookie preferences","ot-sdk-btn",{"title":180,"links":634,"subMenu":643},[635,639],{"text":636,"config":637},"DevSecOps-Plattform",{"href":162,"dataGaName":638,"dataGaLocation":571},"devsecops platform",{"text":640,"config":641},"KI-unterstützte Entwicklung",{"href":169,"dataGaName":642,"dataGaLocation":571},"ai-assisted development",[644],{"title":645,"links":646},"Themen",[647,651,656,659,664,669,674,679],{"text":200,"config":648},{"href":649,"dataGaName":650,"dataGaLocation":571},"/de-de/topics/ci-cd/","cicd",{"text":652,"config":653},"GitOps",{"href":654,"dataGaName":655,"dataGaLocation":571},"/de-de/topics/gitops/","gitops",{"text":17,"config":657},{"href":19,"dataGaName":658,"dataGaLocation":571},"devops",{"text":660,"config":661},"Versionskontrolle",{"href":662,"dataGaName":663,"dataGaLocation":571},"/de-de/topics/version-control/","version control",{"text":665,"config":666},"DevSecOps",{"href":667,"dataGaName":668,"dataGaLocation":571},"/de-de/topics/devsecops/","devsecops",{"text":670,"config":671},"Cloud-nativ",{"href":672,"dataGaName":673,"dataGaLocation":571},"/de-de/topics/cloud-native/","cloud native",{"text":675,"config":676},"KI für das Programmieren",{"href":677,"dataGaName":678,"dataGaLocation":571},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":680,"config":681},"Agentische KI",{"href":682,"dataGaName":683,"dataGaLocation":571},"/de-de/topics/agentic-ai/","agentic ai",{"title":685,"links":686},"Lösungen",[687,690,692,697,701,704,707,710,712,714,716,721],{"text":225,"config":688},{"href":220,"dataGaName":689,"dataGaLocation":571},"Application Security Testing",{"text":212,"config":691},{"href":196,"dataGaName":197,"dataGaLocation":571},{"text":693,"config":694},"Agile Entwicklung",{"href":695,"dataGaName":696,"dataGaLocation":571},"/de-de/solutions/agile-delivery/","agile delivery",{"text":698,"config":699},"SCM",{"href":209,"dataGaName":700,"dataGaLocation":571},"source code management",{"text":200,"config":702},{"href":202,"dataGaName":703,"dataGaLocation":571},"continuous integration & delivery",{"text":251,"config":705},{"href":253,"dataGaName":706,"dataGaLocation":571},"value stream management",{"text":652,"config":708},{"href":709,"dataGaName":655,"dataGaLocation":571},"/de-de/solutions/gitops/",{"text":264,"config":711},{"href":267,"dataGaName":268,"dataGaLocation":571},{"text":270,"config":713},{"href":273,"dataGaName":274,"dataGaLocation":571},{"text":276,"config":715},{"href":279,"dataGaName":280,"dataGaLocation":571},{"text":717,"config":718},"Bildungswesen",{"href":719,"dataGaName":720,"dataGaLocation":571},"/de-de/solutions/education/","education",{"text":722,"config":723},"Finanzdienstleistungen",{"href":724,"dataGaName":725,"dataGaLocation":571},"/de-de/solutions/finance/","financial services",{"title":287,"links":727},[728,730,732,734,737,739,743,745,747,750,752,754,756],{"text":300,"config":729},{"href":302,"dataGaName":303,"dataGaLocation":571},{"text":305,"config":731},{"href":307,"dataGaName":308,"dataGaLocation":571},{"text":310,"config":733},{"href":312,"dataGaName":313,"dataGaLocation":571},{"text":315,"config":735},{"href":317,"dataGaName":736,"dataGaLocation":571},"docs",{"text":338,"config":738},{"href":340,"dataGaName":341,"dataGaLocation":571},{"text":740,"config":741},"Neuigkeiten",{"href":742,"dataGaName":389,"dataGaLocation":571},"/de-de/whats-new/",{"text":333,"config":744},{"href":335,"dataGaName":336,"dataGaLocation":571},{"text":347,"config":746},{"href":349,"dataGaName":350,"dataGaLocation":571},{"text":748,"config":749},"GitLab Services",{"href":357,"dataGaName":358,"dataGaLocation":571},{"text":360,"config":751},{"href":362,"dataGaName":363,"dataGaLocation":571},{"text":365,"config":753},{"href":367,"dataGaName":368,"dataGaLocation":571},{"text":370,"config":755},{"href":372,"dataGaName":373,"dataGaLocation":571},{"text":375,"config":757},{"href":377,"dataGaName":378,"dataGaLocation":571},{"title":759,"links":760},"Unternehmen",[761,763,765,767,769,771,773,778,783,785,787,789],{"text":399,"config":762},{"href":401,"dataGaName":393,"dataGaLocation":571},{"text":404,"config":764},{"href":406,"dataGaName":407,"dataGaLocation":571},{"text":412,"config":766},{"href":414,"dataGaName":415,"dataGaLocation":571},{"text":417,"config":768},{"href":419,"dataGaName":420,"dataGaLocation":571},{"text":422,"config":770},{"href":424,"dataGaName":425,"dataGaLocation":571},{"text":427,"config":772},{"href":429,"dataGaName":430,"dataGaLocation":571},{"text":774,"config":775},"Nachhaltigkeit",{"href":776,"dataGaName":777,"dataGaLocation":571},"/sustainability/","Sustainability",{"text":779,"config":780},"Vielfalt, Inklusion und Zugehörigkeit",{"href":781,"dataGaName":782,"dataGaLocation":571},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":432,"config":784},{"href":434,"dataGaName":435,"dataGaLocation":571},{"text":442,"config":786},{"href":444,"dataGaName":445,"dataGaLocation":571},{"text":447,"config":788},{"href":449,"dataGaName":450,"dataGaLocation":571},{"text":790,"config":791},"Transparenzerklärung zu moderner Sklaverei",{"href":792,"dataGaName":793,"dataGaLocation":571},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":795},[796,798,801],{"text":619,"config":797},{"href":621,"dataGaName":622,"dataGaLocation":571},{"text":799,"config":800},"Cookies",{"dataGaName":631,"dataGaLocation":571,"id":632,"isOneTrustButton":121},{"text":624,"config":802},{"href":626,"dataGaName":627,"dataGaLocation":571},{"header":804,"blurb":805,"button":806,"secondaryButton":811},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":807,"config":808},"Kostenlosen Test starten",{"href":809,"dataGaName":138,"dataGaLocation":810},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":140,"config":812},{"href":142,"dataGaName":143,"dataGaLocation":810},1779773709888]