[{"data":1,"prerenderedAt":706},["ShallowReactive",2],{"/de-de/blog/what-is-docker/":3,"navigation-de-de":35,"banner-de-de":455,"footer-de-de":468,"GitLab Germany Team":677,"next-steps-de-de":691},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":25,"_id":28,"_type":29,"title":30,"_source":31,"_file":32,"_stem":33,"_extension":34},"/de-de/blog/what-is-docker","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"So optimierst du mit Docker und GitLab deinen DevOps-Prozess","Docker Container bieten deinem Team mehr Raum für Kollaboration, kontinuierliche Integration und Kreativität. Wir zeigen dir, wie die Umsetzung klappt.\n\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664248/Blog/Hero%20Images/AdobeStock_564261524.jpg","https://about.gitlab.com/blog/what is docker","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"So optimierst du mit Docker und GitLab deinen DevOps-Prozess\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab Germany Team\"}],\n        \"datePublished\": \"2025-02-27\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21,"tags":22},[18],"GitLab Germany Team","2025-02-27","# So optimierst du mit Docker und GitLab deinen DevOps-Prozess\n\nIn wenigen Jahren hat sich Docker zu einem globalen Standard entwickelt. Laut aktuellen Statistiken liegt sein Marktanteil in der Containerisierung bei über [80 %](https://6sense.com/tech/containerization/docker-market-share); fast 50 % aller Entwickler(innen) nutzen Docker; und zum Zeitpunkt des Verkaufs des Unternehmens an Mirantis [schätzte man die Zahl seiner Nutzer auf 15 Millionen weltweit](https://cloudnativenow-com.translate.goog/features/docker-inc-dev-tools-boast-15-million-users/?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=rq). Wenn du im DevOps-Bereich tätig bist, kommst du um Docker somit nicht herum.\n\nDie Vorteile von Docker sprechen für sich. Gegenüber der früher dominanten Virtualisierung läuft es sowohl stabiler als auch schneller. Es unterstützt die Kernziele von [DevOps](https://about.gitlab.com/de-de/topics/devops/), erhöht signifikant die Transparenz eines Projekts und spart Ressourcen ein.\nEntwickler(innen), die mit GitLab arbeiten, können aufgrund einer nahtlosen Integration Docker-Container für sich nutzen. Gleichzeitig gleicht GitLab einige der Nachteile, die bei der Verwendung von Docker auftreten können, aus. Diese enge Verzahnung optimiert die Vorteile beider Anwendungen und bringt deinen DevOps-Prozess weiter nach vorne.\nIn diesem Artikel zeigen wir dir, wie das funktioniert und wie du Docker und GitLab am besten miteinander kombinierst. Aber fangen wir mit einer kurzen Definition an.\n\n## Was ist Docker?\n\nDocker ist eine Plattform zur Containerisierung. Dahinter steht ein neuer Ansatz, über Anwendungen nachzudenken.\nIn der traditionellen „monolithischen” Sichtweise ist das Programm wie eine Art Geschichte angelegt, mit einem Anfang, einem Ende und einer stringenten inneren Logik. Weil alle Funktionen geteilten Annahmen unterworfen sind, lassen sich einzelne Komponenten nur schwer voneinander trennen und ausgliedern.\nBei Docker bildet jede logische Funktion eines Programms eine eigenständige Anwendung, die für sich steht und isoliert ausgeführt werden kann. Dieser Ansatz ist eher modular, die einzelnen Anwendungen können in immer neuen Kombinationen zusammengesetzt und miteinander verzahnt werden. Man könnte sagen: Docker ist kybernetisch, weil es von Systemen, Regelkreisen und Kontrollmechanismen bestimmt wird.\nDocker-Container enthalten alles, was eine Anwendung zur Ausführung benötigt. Mit Docker kannst du Container definieren und anlegen, im Rahmen der Entwicklung plattformunabhängig testen und verbessern und unkompliziert ausliefern.\nDank seiner führenden Rolle ist Docker zu einem Synonym für Containerisierung geworden. Lange bevor Docker aber den Entwicklungsprozess revolutionierte, nutzten DevOps-Teams einen sehr ähnlichen Ansatz namens Virtualisierung.\n\n## Virtualisierung: Die Vorstufe der Containerisierung\n\nDer Grundgedanke der Virtualisierung stammt bereits aus den 1960ern, als IBM an Lösungen arbeitete, die es Anwendern ermöglichen sollten, auf nur einem Rechner mehrere Betriebssysteme laufen zu lassen. Virtualisierung in DevOps nimmt diesen Gedanken zum Ausgangspunkt dafür, Programme so anzulegen und zu verpacken, dass sie unabhängig von den spezifischen Gegebenheiten des Hosts laufen.\n\nJede dieser „virtuellen Maschinen” (VM) bringt alle Anwendungen mit, die für die Ausführung benötigt werden, einschließlich eines eigenen Betriebssystems. Damit können Projektteilnehmer(innen) die Anwendung nutzen, ohne sich mit Kompatibilitätsproblemen auseinandersetzen zu müssen.\n\nVirtuelle Maschinen sind extrem stabil, sicher und werden auch heute noch in vielen Bereichen bevorzugt genutzt. Allerdings haben sie zwei Nachteile:\n\n- Das in jeder VM enthaltene Betriebssystem belastet den Speicher und beeinträchtigt die Systemleistung des Hosts.\n- Der„Hypervisor” einer VM, der für den Betrieb benötigt wird, Ressourcen. Docker ist kein Ersatz für virtuelle Maschinen. Es soll sie vielmehr optimieren und ihre Nachteile so weit wie möglich beseitigen.\n\n## Wie Docker die Nachteile virtueller Maschinen ausgleicht\n\nContainer sind virtuellen Maschinen sehr ähnlich, betonen aber den Aspekt der Isolation über den der Autonomie (wir werden darauf noch genauer eingehen). In ihnen sind ebenfalls alle relevanten Daten und Apps enthalten. Das ermöglicht eine Ausführung unabhängig vom Host-Betriebssystem. Der Unterschied zur Virtualisierung besteht darin, dass Docker-Container kein eigenes Betriebssystem enthalten. Sie teilen sich stattdessen den Kernel des Hosts. Das ist effizienter, schont Systemressourcen und macht Container vor allem weitaus schneller als VM.\n\nDie Vorzüge von Docker waren derart offensichtlich, dass es einen rasanten Aufstieg durchmachte. 2013 veröffentlicht, wurde es ein Jahr später Teil der Pakete von Red Hat Enterprise Linux 7.0 und openSUSE. Die Beliebtheit von Docker war zu diesem Zeitpunkt bereits so stark angewachsen, dass sich einige der größten IT-Unternehmen der Welt zusammenschlossen, um ein System zu entwickeln, mit dem sich Docker-Container besser verwalten lassen sollten. Das daraus entstandene [Kubernetes](https://about.gitlab.com/de-de/solutions/kubernetes/) wird bis heute zur Orchestrierung (Verwaltung) von Containern verwendet.\n\n## Docker: Grundbegriffe\n\nDas Grundkonzept von Docker Containern ist die „Isolation”. Dieses Prinzip unterscheidet sie von den grundsätzlich sehr ähnlichen virtuellen Maschinen.\nVirtuelle Maschinen bilden ein eigenständiges System, das auf keine äußeren Ressourcen angewiesen ist. Container isolieren zwar ebenfalls den größten Teil ihrer Prozesse und Anwendungen, teilen sich aber mit dem Host den Kernel. Es mag so scheinen, als seien diese Unterschiede zwischen den beiden Begriffen eher gering. In der Praxis aber können sie recht große Konsequenzen haben.\n\nDer Lebenszyklus von Docker-Containern beginnt mit sogenannten „Images”. Was ist ein Docker-Image? In ihm ist gewissermaßen der „Bauplan” (oder auch das „Rezept”) enthalten, wie die ausführbaren Docker-Container zusammengestellt werden sollen. Entwickler(innen) „schreiben” den Bauplan in ein Docker-File, zu dem sie Informationen in Schichten („Layern”) sowie die erforderlichen Daten hinzufügen. Eine der entscheidenden Eigenschaften von Docker besteht darin, dass es ein Standardformat für diese Images bereitstellt.\n\nImages werden in der „Registry\" gespeichert und verwaltet. Hier können Änderungen der verschiedenen Versionen nachvollzogen werden, die ein Image bis zum heutigen Stand durchlaufen hat. GitLab bietet ebenfalls eine solche Registry an, von der aus du deine Programme direkt testen und optimieren kannst. Sobald ein Docker-Image mittels seiner Runtime zur Ausführung kommt, entsteht ein Container. Container sind somit das aktivierte Gegenstück eines Images. Sie sind sofort lauffähig und müssen nicht erst „hochgefahren” werden.\n\n## Wie funktioniert Docker im Rahmen von DevOps?\n\nGeschwindigkeit und Effizienz sind zweifelsohne wichtige Aspekte in allen Wirtschaftsbereichen. Im DevOps aber sind sie geradezu essenziell. Dies erklärt die besonders hohe Wertschätzung, die Docker in der Entwicklung genießt. Doch enden die Stärken von Docker dort nicht. Vielmehr kann die Containerisierung alle zentralen Aspekte von DevOps unterstützen:\n\n- Kollaboration: Container können auf jedem Rechner mit denselben Funktionalitäten gestartet werden. Das reduziert Probleme bei der plattformübergreifenden Zusammenarbeit, auch innerhalb eines Teams.\n\n- Kontinuierliche Verbesserung: Als Teil der Kollaboration können immer wieder sehr einfach neue Images geschrieben und neue Container generiert werden, die Optimierungen enthalten. So wird der Prozess der kontinuierlichen Verbesserung deutlich vereinfacht.\n\n- Kundenorientierung: Weil Docker-Container einfach und schnell auf allen Systemen laufen, kann der aktulle Stand eines Projekts jederzeit mit den Kund(inn)en geteilt werden. Damit kann man sich immer wieder wertvolles Feedback holen und das Produkt voll und ganz auf die Kundenwünsche ausrichten.\n\n- Lernen aus Fehlern: Einen Fehler in einer Entwicklungsumgebung zu beheben, war früher aufwändig und komplex. Mit Docker hingegen werden diese Änderungen zu einem selbstverständlichen Teil des Prozesses. Dies führt zu einer Arbeitsphilosophie, bei der mehr ausprobiert werden darf, neue Ideen stets willkommen sind und das Projekt durch Fehler gewinnt, statt durch sie aufgehalten zu werden.\n\n## DevSecOps: Wie sicher sind Docker-Container?\n\nContainer opfern gegenüber virtuellen Maschinen ein wenig Sicherheit zugunsten einer besseren Performance. Virtuelle Maschinen sind dank ihres mitgelieferten Betriebssystems vollständig unabhängig vom Host. Docker allerdings teilt sich den Kernel. Das bedeutet in Hinblick auf die Sicherheit, dass:\n\n- Sicherheitslücken im Kernel auch Auswirkungen auf die Container des Hosts haben können.\n- Sicherheitsprobleme mit einem Container auf alle Container übergreifen können.\n- Sicherheitslücken im Kernel das gesamte Host-System infizieren können - und von dort aus dann die Container.\n\nHinzu kommt, dass es bei Docker mehrere potentielle Stellen für Sicherheitsrisiken gibt. So gibt es nicht nur ein einziges Image, sondern mehrere Instanzen, den Docker-Daemon (der im Hintergrund die Anfragen an Docker verarbeitet), die Cloud in der der Server gehostet wird sowie verschiedene Netzwerke, welche die Kommunikation zwischen den Containern orchestrieren. Im Prinzip muss jede dieser potenziellen Schwachpunkte individuell gesichert werden.\n\n## Wie du die Sicherheit von Docker verbessern kannst\n\nZum Glück gibt es einige einfach umzusetzende Punkte, mit denen du den Einsatz von Docker in deinen Entwicklungsprojekten vor Eingriffen schützen kannst:\n\nNutze die Möglichkeit, Ressourcen zu beschränken. Mit der „Ressource Quota” schränkst du den Zugriff auf Speicher und CPU gezielt ein. Das ist bereits deswegen sinnvoll, da es die Performance des gesamten Container-Systems optimiert. Darüber hinaus blockiert es auch die Möglichkeit, dass ein „infizierter” Container die gesamte Systemleistung reduziert.\n\nVermeide es, die Zugriffsrechte zu umgehen, indem du einen Container als „root” laufen lässt. Das mag in manchen Situationen zwar komfortabler sein, sobald du aber geschützte Testumgebungen verlässt und kollektiv an einem Projekt arbeitest, solltest du der Datensicherheit stets oberste Priorität zuweisen. Stelle sicher, dass deine Registry ausreichend gesichert ist.\nUm die Sicherheit deiner Projekte weiter zu erhöhen, bietet sich GitLab als ein hervorragendes Instrument an, um Container im Rahmen von DevSecOps sicherer zu machen.\n\n## Welche Rolle spielt Docker für GitLabs DevSecOps-Funktionalität?\n\nSicherheitsaspekte spielen für GitLab eine zentrale Rolle: Der Schutz deiner Daten ist nicht von der Entwicklung zu trennen, sowohl was die Arbeit innerhalb des Teams angeht, als auch die Absprache und kontinuierliche Verbesserung mit Kund(inn)en. GitLab nutzt Docker-Container, um diesen Schutz jederzeit zu gewährleisten.\n\nEine der zentralen Funktionen von GitLab ist das [Container-Scanning](https://docs.gitlab.com/ee/user/application_security/container_scanning/). Es basiert auf dem Gedanken, dass Sicherheits-Schwachpunkte bereits im Docker-Image ihren Ursprung haben können, oft in der Form von Abhängigkeiten, die du nicht selbst geschrieben hast, sondern aus externen Quellen importierst. Du kannst entweder nur die Container scannen oder die Abhängigkeiten - wobei wir dir für optimalen Schutz stets beides empfehlen.\n\nAuf einer noch grundlegenderen Ebene unterstützen selbstverständlich auch die allgemeinen Sicherheits-Features von GitLab die Verwendung von Docker-Images und Docker-Containern. Eine zentrale Funktion ist beispielsweise Auto-Remediation, eine intelligente kollaborative Anwendung, die dir bereits beim Entwickeln Vorschläge zur Fehlervermeidung und zu effizienterem Code macht.\n\n## 3 Docker Herausforderungen und wie GitLab bei der Lösung hilft\n\nDocker ist ein bestechendes Konzept, das die Arbeit für Millionen Entwickler(innen) täglich besser und einfacher macht. Seine Flexibilität und Individualisierung aber stellen Nutzer(innen) zugleich vor einige Herausforderungen.\nSehen wir uns drei zentrale Herausforderungen näher an - und wie GitLab dabei helfen kann, sie zu bewältigen.\n### Standardisierung:\n\nDocker ist ein offenes Konzept, das Entwickler(innen) höchst individuelle Lösungswege eröffnet. Wenn aber in Teams verschiedene Mitglieder an einem Projekt arbeiten und dabei sehr unterschiedliche Coding-Stile benutzen oder teilweise sogar widersprüchliche Anweisungen geben, kann es zu Konflikten kommen.\n\nGitLab bietet Standardisierungsoptionen an, beispielsweise durch [CI/CD-Templates](https://docs.gitlab.com/ee/ci/examples/), mit denen das gesamte DevOps-Team arbeiten kann. Shared Runners ermöglichen anschließend das Testen des aktuellen Standes in einer von dir vorgegebenen oder standardisierten Umgebung.\nAll dies ist gerade bei großen Projekten eine unermessliche Hilfe, da dabei bis zu tausende Container gleichzeitig miteinander abgestimmt werden müssen.\n\n### Ressourcenoptimierung:\n\nDocker Container nutzen Ressourcen in der Regel weitaus schonender als virtuelle Maschinen. Wie oben angesprochen kann sich die Gesamtzahl aller Container aber zu riesigen Zahlen summieren.\nMit verschiedenen Funktionen sorgt GitLab dafür, dass gerade speicherintensive Jobs optimiert- und gewisse Container zeitweise deaktiviert werden, um die Systemleistung zu verbessern.\n\n### Orchestrierung:\n\nDas wichtigste Thema in der Containerisierung ist heute zweifelsohne die Orchestrierung. Wenn du sehr viele Container nutzt, die zusammen mit den Anwendungen auf verschiedenen Servern untergebracht sind und zu unterschiedlichen Zeiten und in immer neuen Konstellationen miteinander kombiniert werden sollen, kommt es leicht zu Engpässen, Ausfällen oder Fehlern.\nKubernetes ist die komplexe Lösung für diese Probleme und GitLab ist direkt mit Kubernetes abgestimmt. Du kannst mit GitLab und Kubernetes die gesamte [CI/CD](https://about.gitlab.com/topics/ci-cd/)-Pipeline automatisieren und dabei dein System optimieren.\n\n## FAQ\n\n### Was ist Docker Compose?\n\nDocker Compose ist ein Tool, das dir bei der Orchestrierung hilft. Es findet in Multi-Container-Umgebungen Anwendung. In diesem Artikel haben wir bisher angenommen, dass eine Anwendung einem Container entspricht. Das ist zur Erklärung der grundlegenden Zusammenhänge sinnvoll. In der Praxis aber ergeben sich zumeist weitaus komplexere Sachverhalte.\n\nEin typischer Fall besteht darin, dass eine Anwendung mehrere Container benötigt, die zu unterschiedlichen Zeitpunkten gestartet und beendet werden. Diesen Ablauf präzise zu definieren sowie dabei die einzelnen Container-Aktionen aufeinander abzustimmen und im Rahmen eventueller Fehler oder Probleme zu optimieren, erweist sich als komplex. Wie [Data Scientist](https://datascientest.com/de/docker-compose-von-der-installation-bis-zur-bereitstellung-von-anwendungen) betont, liegt die Schwierigkeit darin, die verschiedenen Container „separat auszuführen, während sie gleichzeitig miteinander kommunizieren.”\n\n[Docker Compose](https://forum.gitlab.com/t/how-to-use-docker-compose-in-gitlab-ci/97671) unterstützt die Orchestrierung bei genau diesen Szenarien. Entwickler(innen) können in einer speziellen Datei mit einer laut [Heise](https://www.heise.de/hintergrund/Multi-Tier-Applikationen-mit-Docker-Compose-Machine-und-Swarm-3014669.html?seite=3) „simplen Syntax” alle Aktionen festlegen, die beim Aufbau und der Interaktion der Container zum Tragen kommen. Zurecht gilt Docker Compose deswegen als „ein mächtiges Werkzeug für den Einsatz und die Verwaltung von Multi-Container-Anwendungen”.\n\n### Wie funktioniert die Continuous Integration von Docker in GitLab?\n\nDocker wirkt sich positiv auf alle drei Prinzipien von CI/CD aus, vom kontinuierlichen Deployment bis hin zur kontinuierlichen Lieferung (delivery). Bei der kontinuierlichen Integration aber (Continuous Integration) sind die Vorteile ganz besonders offensichtlich.\nBei der Continuous Integration (CI) werden sämtliche branches (Enwticklungszweige) so oft wie möglich mit der main branch (dem Hauptentwicklungszweig) zusammengeführt. Dadurch haben alle Mitglieder eines Teams stets Zugriff auf den aktuellen Stand des Projekts und eine Änderung an einem Teil der Anwendung kann direkt auf seine Auswirkungen auf andere Bereiche hin überprüft werden. So wird vermieden, dass möglicherweise schwerwiegende Fehler im Zusammenspiel erst kurz vor Veröffentlichung des Produkts entdeckt werden.\n\nContainer sind das optimale Instrument, um Continuous Integration in deiner CI/CD-Pipeline zu realisieren. In ihrer containerisierten Form können Anwendungen schnell und in verschiedenen Umgebungen getestet werden. Das Feedback lässt sich unmittelbar auswerten und bewerten. Anschließend machst du Änderungen für alle branches durch das Definieren eines neuen, aktualisierten Images sichtbar und überprüfbar.\nZusammenfassend lässt sich sagen, dass Container die Integration im CI/CD-Prozess robuster und zuverlässiger gestalten und somit die Basis für erfolgreiches Deployment und Delivery bereiten.\n\n### Wann empfiehlt es sich, mit virtuellen Maschinen zu arbeiten statt mit Docker?\n\nDocker ist eine Weiterentwicklung virtueller Maschinen. Daraus sollte aber nicht der Schluss gezogen werden, dass es sich bei VM um eine veraltete oder gar überholte Technologie handelt. Vielmehr bleiben die Vorzüge dieses Modells auch in Zukunft bestehen.\n[Computer Weekly](https://www.computerweekly.com/de/ratgeber/Sechs-Anwendungsfaelle-fuer-die-sich-Docker-eignet) hat drei Situationen ermittelt, in denen Virtualisierung die bessere Option darstellt:\n\n__- Bei besonders sensiblen Daten:__ hier kann ein Höchstmaß an Isolierung erforderlich sein. Da sie mit dem Host in der Regel in keinem direkten Austausch stehen, sind virtuelle Maschinen hier zweifelsfrei die sicherste Wahl.\n\n__- Bei grafikintensiven Anwendungen__ lassen sich zwar grundsätzlich auch über Container verwenden, in der Regel aber ist Virtualisierung hier einfacher in der Handhabung.\n__In kleinen Teams__– wenn du nur selten Änderungen an deinen Anwendungen vornimmst, sind virtuelle Maschinen eine hervorragende Alternative, weil sie leichter zu verwalten sind.\n\n### Läuft Docker auch auf Windows und MacOs?\n\nDocker kann auf allen Hosts laufen, die Docker unterstützen. Tatsächlich aber ist die Plattform vor allem auf eine Linux-Nutzung hin optimiert.\nDie originäre Version von Docker ist so ausgelegt, dass sie die Funktionalitäten eines Linux-Kernels mit dem Host teilen kann. In diesem Umfeld funktionieren Container am effizientesten und die Vorteile der Containerisierung kommen voll zur Geltung.\n\nUm Docker auch für Windows und MacOs nutzbar zu machen, stehen entsprechende Docker-Versionen zur Verfügung. Diese aber geben das strenge Isolierungs-Prinzip auf und fügen eine virtuelle Maschine hinzu, welche eine Nutzung auf Linux-fremden Umgebungen erlaubt.\nAuch, wenn Docker unter Windows und MacOs nicht ganz so effizient ist wie unter Linux, ist die benötigte VM sehr leicht und schränkt Geschwindigkeit und Speicher nicht so stark ein wie eine vollständige virtuelle Maschine. Die gelegentliche Behauptung, Docker lasse sich nur unter Linux sinnvoll verwenden, ist deswegen zweifelsfrei sehr radikal.\n","open-source",[23,24],"DevOps","open source",{"slug":26,"featured":6,"template":27},"what-is-docker","BlogPost","content:de-de:blog:what-is-docker.yml","yaml","What Is Docker","content","de-de/blog/what-is-docker.yml","de-de/blog/what-is-docker","yml",{"_path":36,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":38,"_id":451,"_type":29,"title":452,"_source":31,"_file":453,"_stem":454,"_extension":34},"/shared/de-de/main-navigation","de-de",{"logo":39,"freeTrial":44,"sales":49,"login":54,"items":59,"search":392,"minimal":428,"duo":442},{"config":40},{"href":41,"dataGaName":42,"dataGaLocation":43},"/de-de/","gitlab logo","header",{"text":45,"config":46},"Kostenlose Testversion anfordern",{"href":47,"dataGaName":48,"dataGaLocation":43},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":50,"config":51},"Vertrieb kontaktieren",{"href":52,"dataGaName":53,"dataGaLocation":43},"/de-de/sales/","sales",{"text":55,"config":56},"Anmelden",{"href":57,"dataGaName":58,"dataGaLocation":43},"https://gitlab.com/users/sign_in/","sign in",[60,104,203,208,313,373],{"text":61,"config":62,"cards":64,"footer":87},"Plattform",{"dataNavLevelOne":63},"platform",[65,71,79],{"title":61,"description":66,"link":67},"Die umfassendste KI-basierte DevSecOps-Plattform",{"text":68,"config":69},"Erkunde unsere Plattform",{"href":70,"dataGaName":63,"dataGaLocation":43},"/de-de/platform/",{"title":72,"description":73,"link":74},"GitLab Duo (KI)","Entwickle Software schneller mit KI in jeder Phase der Entwicklung",{"text":75,"config":76},"Lerne GitLab Duo kennen",{"href":77,"dataGaName":78,"dataGaLocation":43},"/de-de/gitlab-duo/","gitlab duo ai",{"title":80,"description":81,"link":82},"Gründe, die für GitLab sprechen","10 Gründe, warum Unternehmen sich für GitLab entscheiden",{"text":83,"config":84},"Mehr erfahren",{"href":85,"dataGaName":86,"dataGaLocation":43},"/de-de/why-gitlab/","why gitlab",{"title":88,"items":89},"Erste Schritte mit",[90,95,100],{"text":91,"config":92},"Platform Engineering",{"href":93,"dataGaName":94,"dataGaLocation":43},"/de-de/solutions/platform-engineering/","platform engineering",{"text":96,"config":97},"Entwicklererfahrung",{"href":98,"dataGaName":99,"dataGaLocation":43},"/de-de/developer-experience/","Developer experience",{"text":101,"config":102},"MLOps",{"href":103,"dataGaName":101,"dataGaLocation":43},"/de-de/topics/devops/the-role-of-ai-in-devops/",{"text":105,"left":106,"config":107,"link":109,"lists":113,"footer":185},"Produkt",true,{"dataNavLevelOne":108},"solutions",{"text":110,"config":111},"Alle Lösungen anzeigen",{"href":112,"dataGaName":108,"dataGaLocation":43},"/de-de/solutions/",[114,140,163],{"title":115,"description":116,"link":117,"items":122},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":118},{"icon":119,"href":120,"dataGaName":121,"dataGaLocation":43},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[123,127,131,136],{"text":124,"config":125},"CI/CD",{"href":126,"dataGaLocation":43,"dataGaName":124},"/de-de/solutions/continuous-integration/",{"text":128,"config":129},"KI-unterstützte Entwicklung",{"href":77,"dataGaLocation":43,"dataGaName":130},"AI assisted development",{"text":132,"config":133},"Quellcodeverwaltung",{"href":134,"dataGaLocation":43,"dataGaName":135},"/de-de/solutions/source-code-management/","Source Code Management",{"text":137,"config":138},"Automatisierte Softwarebereitstellung",{"href":120,"dataGaLocation":43,"dataGaName":139},"Automated software delivery",{"title":141,"description":142,"link":143,"items":148},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":144},{"href":145,"dataGaName":146,"dataGaLocation":43,"icon":147},"/de-de/solutions/security-compliance/","security and compliance","ShieldCheckLight",[149,154,159],{"text":150,"config":151},"Application Security Testing",{"href":152,"dataGaName":153,"dataGaLocation":43},"/solutions/application-security-testing/","Application security testing",{"text":155,"config":156},"Schutz der Software-Lieferkette",{"href":157,"dataGaLocation":43,"dataGaName":158},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":160,"config":161},"Software Compliance",{"href":162,"dataGaName":160,"dataGaLocation":43},"/solutions/software-compliance/",{"title":164,"link":165,"items":170},"Bewertung",{"config":166},{"icon":167,"href":168,"dataGaName":169,"dataGaLocation":43},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[171,175,180],{"text":172,"config":173},"Sichtbarkeit und Bewertung",{"href":168,"dataGaLocation":43,"dataGaName":174},"Visibility and Measurement",{"text":176,"config":177},"Wertstrommanagement",{"href":178,"dataGaLocation":43,"dataGaName":179},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":181,"config":182},"Analysen und Einblicke",{"href":183,"dataGaLocation":43,"dataGaName":184},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":186,"items":187},"GitLab für",[188,193,198],{"text":189,"config":190},"Enterprise",{"href":191,"dataGaLocation":43,"dataGaName":192},"/de-de/enterprise/","enterprise",{"text":194,"config":195},"Kleinunternehmen",{"href":196,"dataGaLocation":43,"dataGaName":197},"/de-de/small-business/","small business",{"text":199,"config":200},"den öffentlichen Sektor",{"href":201,"dataGaLocation":43,"dataGaName":202},"/de-de/solutions/public-sector/","public sector",{"text":204,"config":205},"Preise",{"href":206,"dataGaName":207,"dataGaLocation":43,"dataNavLevelOne":207},"/de-de/pricing/","pricing",{"text":209,"config":210,"link":212,"lists":216,"feature":300},"Ressourcen",{"dataNavLevelOne":211},"resources",{"text":213,"config":214},"Alle Ressourcen anzeigen",{"href":215,"dataGaName":211,"dataGaLocation":43},"/de-de/resources/",[217,250,272],{"title":218,"items":219},"Erste Schritte",[220,225,230,235,240,245],{"text":221,"config":222},"Installieren",{"href":223,"dataGaName":224,"dataGaLocation":43},"/de-de/install/","install",{"text":226,"config":227},"Kurzanleitungen",{"href":228,"dataGaName":229,"dataGaLocation":43},"/de-de/get-started/","quick setup checklists",{"text":231,"config":232},"Lernen",{"href":233,"dataGaLocation":43,"dataGaName":234},"https://university.gitlab.com/","learn",{"text":236,"config":237},"Produktdokumentation",{"href":238,"dataGaName":239,"dataGaLocation":43},"https://docs.gitlab.com/","product documentation",{"text":241,"config":242},"Best-Practice-Videos",{"href":243,"dataGaName":244,"dataGaLocation":43},"/de-de/getting-started-videos/","best practice videos",{"text":246,"config":247},"Integrationen",{"href":248,"dataGaName":249,"dataGaLocation":43},"/de-de/integrations/","integrations",{"title":251,"items":252},"Entdecken",[253,258,262,267],{"text":254,"config":255},"Kundenerfolge",{"href":256,"dataGaName":257,"dataGaLocation":43},"/de-de/customers/","customer success stories",{"text":259,"config":260},"Blog",{"href":261,"dataGaName":5,"dataGaLocation":43},"/de-de/blog/",{"text":263,"config":264},"Remote",{"href":265,"dataGaName":266,"dataGaLocation":43},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":268,"config":269},"TeamOps",{"href":270,"dataGaName":271,"dataGaLocation":43},"/de-de/teamops/","teamops",{"title":273,"items":274},"Vernetzen",[275,280,285,290,295],{"text":276,"config":277},"GitLab-Services",{"href":278,"dataGaName":279,"dataGaLocation":43},"/de-de/services/","services",{"text":281,"config":282},"Community",{"href":283,"dataGaName":284,"dataGaLocation":43},"/community/","community",{"text":286,"config":287},"Forum",{"href":288,"dataGaName":289,"dataGaLocation":43},"https://forum.gitlab.com/","forum",{"text":291,"config":292},"Veranstaltungen",{"href":293,"dataGaName":294,"dataGaLocation":43},"/events/","events",{"text":296,"config":297},"Partner",{"href":298,"dataGaName":299,"dataGaLocation":43},"/partners/","partners",{"backgroundColor":301,"textColor":302,"text":303,"image":304,"link":308},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":305,"config":306},"the source promo card",{"src":307},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":309,"config":310},"Lies die News",{"href":311,"dataGaName":312,"dataGaLocation":43},"/de-de/the-source/","the source",{"text":314,"config":315,"lists":317},"Unternehmen",{"dataNavLevelOne":316},"company",[318],{"items":319},[320,325,331,333,338,343,348,353,358,363,368],{"text":321,"config":322},"Über",{"href":323,"dataGaName":324,"dataGaLocation":43},"/de-de/company/","about",{"text":326,"config":327,"footerGa":330},"Karriere",{"href":328,"dataGaName":329,"dataGaLocation":43},"/jobs/","jobs",{"dataGaName":329},{"text":291,"config":332},{"href":293,"dataGaName":294,"dataGaLocation":43},{"text":334,"config":335},"Geschäftsführung",{"href":336,"dataGaName":337,"dataGaLocation":43},"/company/team/e-group/","leadership",{"text":339,"config":340},"Team",{"href":341,"dataGaName":342,"dataGaLocation":43},"/company/team/","team",{"text":344,"config":345},"Handbuch",{"href":346,"dataGaName":347,"dataGaLocation":43},"https://handbook.gitlab.com/","handbook",{"text":349,"config":350},"Investor Relations",{"href":351,"dataGaName":352,"dataGaLocation":43},"https://ir.gitlab.com/","investor relations",{"text":354,"config":355},"Trust Center",{"href":356,"dataGaName":357,"dataGaLocation":43},"/de-de/security/","trust center",{"text":359,"config":360},"AI Transparency Center",{"href":361,"dataGaName":362,"dataGaLocation":43},"/de-de/ai-transparency-center/","ai transparency center",{"text":364,"config":365},"Newsletter",{"href":366,"dataGaName":367,"dataGaLocation":43},"/company/contact/","newsletter",{"text":369,"config":370},"Presse",{"href":371,"dataGaName":372,"dataGaLocation":43},"/press/","press",{"text":374,"config":375,"lists":376},"Kontakt",{"dataNavLevelOne":316},[377],{"items":378},[379,382,387],{"text":50,"config":380},{"href":52,"dataGaName":381,"dataGaLocation":43},"talk to sales",{"text":383,"config":384},"Support",{"href":385,"dataGaName":386,"dataGaLocation":43},"/support/","get help",{"text":388,"config":389},"Kundenportal",{"href":390,"dataGaName":391,"dataGaLocation":43},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":393,"login":394,"suggestions":401},"Schließen",{"text":395,"link":396},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":397,"config":398},"gitlab.com",{"href":57,"dataGaName":399,"dataGaLocation":400},"search login","search",{"text":402,"default":403},"Vorschläge",[404,407,412,414,419,424],{"text":72,"config":405},{"href":77,"dataGaName":406,"dataGaLocation":400},"GitLab Duo (AI)",{"text":408,"config":409},"Code Suggestions (KI)",{"href":410,"dataGaName":411,"dataGaLocation":400},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":124,"config":413},{"href":126,"dataGaName":124,"dataGaLocation":400},{"text":415,"config":416},"GitLab auf AWS",{"href":417,"dataGaName":418,"dataGaLocation":400},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":420,"config":421},"GitLab auf Google Cloud",{"href":422,"dataGaName":423,"dataGaLocation":400},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":425,"config":426},"Warum GitLab?",{"href":85,"dataGaName":427,"dataGaLocation":400},"Why GitLab?",{"freeTrial":429,"mobileIcon":434,"desktopIcon":439},{"text":430,"config":431},"Kostenlos testen",{"href":432,"dataGaName":48,"dataGaLocation":433},"https://gitlab.com/-/trials/new/","nav",{"altText":435,"config":436},"GitLab-Symbol",{"src":437,"dataGaName":438,"dataGaLocation":433},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":435,"config":440},{"src":441,"dataGaName":438,"dataGaLocation":433},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":443,"mobileIcon":447,"desktopIcon":449},{"text":444,"config":445},"Erfahre mehr über GitLab Duo",{"href":77,"dataGaName":446,"dataGaLocation":433},"gitlab duo",{"altText":435,"config":448},{"src":437,"dataGaName":438,"dataGaLocation":433},{"altText":435,"config":450},{"src":441,"dataGaName":438,"dataGaLocation":433},"content:shared:de-de:main-navigation.yml","Main Navigation","shared/de-de/main-navigation.yml","shared/de-de/main-navigation",{"_path":456,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"title":457,"button":458,"config":463,"_id":465,"_type":29,"_source":31,"_file":466,"_stem":467,"_extension":34},"/shared/de-de/banner","GitLab Duo Agent Platform ist jetzt in öffentlicher Beta!",{"text":459,"config":460},"Beta testen",{"href":461,"dataGaName":462,"dataGaLocation":43},"/de-de/gitlab-duo/agent-platform/","duo banner",{"layout":464},"release","content:shared:de-de:banner.yml","shared/de-de/banner.yml","shared/de-de/banner",{"_path":469,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":470,"_id":673,"_type":29,"title":674,"_source":31,"_file":675,"_stem":676,"_extension":34},"/shared/de-de/main-footer",{"text":471,"source":472,"edit":478,"contribute":483,"config":488,"items":493,"minimal":665},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":473,"config":474},"Quelltext der Seite anzeigen",{"href":475,"dataGaName":476,"dataGaLocation":477},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":479,"config":480},"Diese Seite bearbeiten",{"href":481,"dataGaName":482,"dataGaLocation":477},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":484,"config":485},"Beteilige dich",{"href":486,"dataGaName":487,"dataGaLocation":477},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":489,"facebook":490,"youtube":491,"linkedin":492},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[494,517,572,601,635],{"title":61,"links":495,"subMenu":500},[496],{"text":497,"config":498},"DevSecOps-Plattform",{"href":70,"dataGaName":499,"dataGaLocation":477},"devsecops platform",[501],{"title":204,"links":502},[503,507,512],{"text":504,"config":505},"Tarife anzeigen",{"href":206,"dataGaName":506,"dataGaLocation":477},"view plans",{"text":508,"config":509},"Vorteile von Premium",{"href":510,"dataGaName":511,"dataGaLocation":477},"/de-de/pricing/premium/","why premium",{"text":513,"config":514},"Vorteile von Ultimate",{"href":515,"dataGaName":516,"dataGaLocation":477},"/de-de/pricing/ultimate/","why ultimate",{"title":518,"links":519},"Lösungen",[520,525,528,530,535,540,544,547,550,555,557,559,562,567],{"text":521,"config":522},"Digitale Transformation",{"href":523,"dataGaName":524,"dataGaLocation":477},"/de-de/topics/digital-transformation/","digital transformation",{"text":526,"config":527},"Sicherheit und Compliance",{"href":152,"dataGaName":153,"dataGaLocation":477},{"text":137,"config":529},{"href":120,"dataGaName":121,"dataGaLocation":477},{"text":531,"config":532},"Agile Entwicklung",{"href":533,"dataGaName":534,"dataGaLocation":477},"/de-de/solutions/agile-delivery/","agile delivery",{"text":536,"config":537},"Cloud-Transformation",{"href":538,"dataGaName":539,"dataGaLocation":477},"/de-de/topics/cloud-native/","cloud transformation",{"text":541,"config":542},"SCM",{"href":134,"dataGaName":543,"dataGaLocation":477},"source code management",{"text":124,"config":545},{"href":126,"dataGaName":546,"dataGaLocation":477},"continuous integration & delivery",{"text":176,"config":548},{"href":178,"dataGaName":549,"dataGaLocation":477},"value stream management",{"text":551,"config":552},"GitOps",{"href":553,"dataGaName":554,"dataGaLocation":477},"/de-de/solutions/gitops/","gitops",{"text":189,"config":556},{"href":191,"dataGaName":192,"dataGaLocation":477},{"text":194,"config":558},{"href":196,"dataGaName":197,"dataGaLocation":477},{"text":560,"config":561},"Öffentlicher Sektor",{"href":201,"dataGaName":202,"dataGaLocation":477},{"text":563,"config":564},"Bildungswesen",{"href":565,"dataGaName":566,"dataGaLocation":477},"/de-de/solutions/education/","education",{"text":568,"config":569},"Finanzdienstleistungen",{"href":570,"dataGaName":571,"dataGaLocation":477},"/de-de/solutions/finance/","financial services",{"title":209,"links":573},[574,576,578,580,583,585,587,589,591,593,595,597,599],{"text":221,"config":575},{"href":223,"dataGaName":224,"dataGaLocation":477},{"text":226,"config":577},{"href":228,"dataGaName":229,"dataGaLocation":477},{"text":231,"config":579},{"href":233,"dataGaName":234,"dataGaLocation":477},{"text":236,"config":581},{"href":238,"dataGaName":582,"dataGaLocation":477},"docs",{"text":259,"config":584},{"href":261,"dataGaName":5,"dataGaLocation":477},{"text":254,"config":586},{"href":256,"dataGaName":257,"dataGaLocation":477},{"text":263,"config":588},{"href":265,"dataGaName":266,"dataGaLocation":477},{"text":276,"config":590},{"href":278,"dataGaName":279,"dataGaLocation":477},{"text":268,"config":592},{"href":270,"dataGaName":271,"dataGaLocation":477},{"text":281,"config":594},{"href":283,"dataGaName":284,"dataGaLocation":477},{"text":286,"config":596},{"href":288,"dataGaName":289,"dataGaLocation":477},{"text":291,"config":598},{"href":293,"dataGaName":294,"dataGaLocation":477},{"text":296,"config":600},{"href":298,"dataGaName":299,"dataGaLocation":477},{"title":314,"links":602},[603,605,607,609,611,613,615,619,624,626,628,630],{"text":321,"config":604},{"href":323,"dataGaName":316,"dataGaLocation":477},{"text":326,"config":606},{"href":328,"dataGaName":329,"dataGaLocation":477},{"text":334,"config":608},{"href":336,"dataGaName":337,"dataGaLocation":477},{"text":339,"config":610},{"href":341,"dataGaName":342,"dataGaLocation":477},{"text":344,"config":612},{"href":346,"dataGaName":347,"dataGaLocation":477},{"text":349,"config":614},{"href":351,"dataGaName":352,"dataGaLocation":477},{"text":616,"config":617},"Sustainability",{"href":618,"dataGaName":616,"dataGaLocation":477},"/sustainability/",{"text":620,"config":621},"Vielfalt, Inklusion und Zugehörigkeit",{"href":622,"dataGaName":623,"dataGaLocation":477},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":354,"config":625},{"href":356,"dataGaName":357,"dataGaLocation":477},{"text":364,"config":627},{"href":366,"dataGaName":367,"dataGaLocation":477},{"text":369,"config":629},{"href":371,"dataGaName":372,"dataGaLocation":477},{"text":631,"config":632},"Transparenzerklärung zu moderner Sklaverei",{"href":633,"dataGaName":634,"dataGaLocation":477},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":636,"links":637},"Nimm Kontakt auf",[638,641,643,645,650,655,660],{"text":639,"config":640},"Sprich mit einem Experten/einer Expertin",{"href":52,"dataGaName":53,"dataGaLocation":477},{"text":383,"config":642},{"href":385,"dataGaName":386,"dataGaLocation":477},{"text":388,"config":644},{"href":390,"dataGaName":391,"dataGaLocation":477},{"text":646,"config":647},"Status",{"href":648,"dataGaName":649,"dataGaLocation":477},"https://status.gitlab.com/","status",{"text":651,"config":652},"Nutzungsbedingungen",{"href":653,"dataGaName":654,"dataGaLocation":477},"/terms/","terms of use",{"text":656,"config":657},"Datenschutzerklärung",{"href":658,"dataGaName":659,"dataGaLocation":477},"/de-de/privacy/","privacy statement",{"text":661,"config":662},"Cookie-Einstellungen",{"dataGaName":663,"dataGaLocation":477,"id":664,"isOneTrustButton":106},"cookie preferences","ot-sdk-btn",{"items":666},[667,669,671],{"text":651,"config":668},{"href":653,"dataGaName":654,"dataGaLocation":477},{"text":656,"config":670},{"href":658,"dataGaName":659,"dataGaLocation":477},{"text":661,"config":672},{"dataGaName":663,"dataGaLocation":477,"id":664,"isOneTrustButton":106},"content:shared:de-de:main-footer.yml","Main Footer","shared/de-de/main-footer.yml","shared/de-de/main-footer",[678],{"_path":679,"_dir":680,"_draft":6,"_partial":6,"_locale":7,"content":681,"config":685,"_id":687,"_type":29,"title":688,"_source":31,"_file":689,"_stem":690,"_extension":34},"/en-us/blog/authors/gitlab-germany-team","authors",{"name":18,"config":682},{"headshot":683,"ctfId":684},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","6tNquF8jQeRRRi8k3ZXpvS",{"template":686},"BlogAuthor","content:en-us:blog:authors:gitlab-germany-team.yml","Gitlab Germany Team","en-us/blog/authors/gitlab-germany-team.yml","en-us/blog/authors/gitlab-germany-team",{"_path":692,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"header":693,"eyebrow":694,"blurb":695,"button":696,"secondaryButton":700,"_id":702,"_type":29,"title":703,"_source":31,"_file":704,"_stem":705,"_extension":34},"/shared/de-de/next-steps","Stelle jetzt bessere Software schneller bereit","Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab","Erlebe, was dein Team mit der intelligenten\n\n\nDevSecOps-Plattform erreichen kann.\n",{"text":45,"config":697},{"href":698,"dataGaName":48,"dataGaLocation":699},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":50,"config":701},{"href":52,"dataGaName":53,"dataGaLocation":699},"content:shared:de-de:next-steps.yml","Next Steps","shared/de-de/next-steps.yml","shared/de-de/next-steps",1758662281399]