[{"data":1,"prerenderedAt":1039},["ShallowReactive",2],{"/de-de/blog/gitlab-container-registry":3,"navigation-de-de":254,"banner-de-de":686,"footer-de-de":693,"blog-post-authors-de-de-Mark Pundsack":934,"blog-related-posts-de-de-gitlab-container-registry":949,"blog-promotions-de-de":975,"next-steps-de-de":1029},{"id":4,"title":5,"authors":6,"body":8,"category":235,"date":236,"description":237,"extension":238,"externalUrl":239,"faq":239,"featured":240,"heroImage":241,"meta":242,"navigation":243,"path":244,"seo":245,"slug":249,"stem":250,"tags":239,"template":251,"updatedDate":252,"__hash__":253},"blogPosts/de-de/blog/gitlab-container-registry.md","Was ist das Gitlab Container Registry?",[7],"Mark Pundsack",{"type":9,"value":10,"toc":223},"minimark",[11,16,20,23,28,31,34,38,41,44,48,58,61,64,68,71,74,77,81,84,103,107,110,113,116,119,122,126,129,132,135,138,160,163,166,171,174,188,191,194,198,201,204,207,210,213,217,220],[12,13,15],"h1",{"id":14},"was-ist-das-gitlab-container-registry","Was ist das GitLab Container Registry?",[17,18,19],"p",{},"Seit dem Launch von GitLab 8.8. ist es möglich, eine Pipeline in GitLab aufzubauen und deine Builds, Tests, Deploys und jede andere Phase des Lebenszyklus deiner Software zu visualisieren. Dafür nutzt du die GitLab Container Registry.",[17,21,22],{},"In diesem Artikel erfährst du, was das Container Registry ist, wie du es anwendest und wie es dir dein Arbeitsleben leichter machen kann.",[24,25,27],"h2",{"id":26},"gitlab-container-registry-wie-funktionierts","GitLab Container Registry – wie funktioniert’s?",[17,29,30],{},"Die GitLab Container Registry bietet eine sichere und private Speicherlösung für Docker-Images. Sie ist nicht nur eine eigenständige Datenbank, sondern auch nahtlos in GitLab integriert. Unser Ziel bei GitLab ist es, ein konsistentes und integriertes Benutzererlebnis zu bieten. Die Registry ist dabei keine Ausnahme. Mit ihrer Integration kannst du deine Images problemlos für GitLab CI verwenden, spezielle Images für Tags oder Branches erstellen und vieles mehr.\nSie ist bei Installation bereits vollständig in die Git-Repository-Verwaltung integriert – es ist also keine zusätzliche Installation erforderlich. Zudem ermöglicht sie ein einfaches Hoch- und Herunterladen von Images über GitLab CI.",[17,32,33],{},"In der Verwaltungsdokumentation findest du detaillierte Anleitungen, wie du die Container-Registry in deiner GitLab-Instanz aktivieren kannst. Diese umfassende Dokumentation deckt alles ab, von der Konfiguration selbstsignierter Zertifikate bis hin zu Umgebungsvariablen, Garbage-Collect-Befehlen, verschiedenen APIs, Curl-Befehlen, der Festlegung von Ratenlimits und der Integration einer externen Registry.",[24,35,37],{"id":36},"grundlagen-zu-docker","Grundlagen zu Docker",[17,39,40],{},"Ein unverzichtbarer Bestandteil eines Docker-orientierten Arbeitsablaufs ist ein Image, das sämtliche Ressourcen für die Ausführung einer Anwendung beinhaltet. Häufig werden Images automatisch im Rahmen der Continuous Integration erstellt, wodurch sie bei jeder Codeänderung aktualisiert werden. Wenn Images für die gemeinsame Nutzung zwischen Entwickler(innen) und Maschinen erstellt werden sollen, ist es wichtig, dass sie an einem zentralen Ort gespeichert sind. Hierbei kommt eine Container Registry ins Spiel.",[17,42,43],{},"Die Registry fungiert als Speicherort für Images. Hier können sie gehostet und für zukünftige Verwendung markiert werden. Entwickler(innen) können ihre eigene Registry einrichten, um private Images zu speichern oder temporäre Images für Testzwecke zu nutzen. Mit der Nutzung der GitLab Container Registry ist es nicht erforderlich, einen zusätzlichen Dienst einzurichten und zu verwalten oder auf eine öffentliche Registry zurückzugreifen.",[24,45,47],{"id":46},"vollständige-integration","Vollständige Integration",[17,49,50,51,57],{},"Die GitLab Container Registry ist vollständig in GitLab integriert und erleichtert Entwickler(innen) das Programmieren, Testen und Bereitstellen von Docker-Container-Images mit GitLab ",[52,53,56],"a",{"href":54,"rel":55},"https://about.gitlab.com/de-de/topics/ci-cd/",[],"CI"," und anderen Docker-kompatiblen Tools.",[17,59,60],{},"Die Benutzerauthentifizierung erfolgt über GitLab selbst, sodass alle Benutzer- und Gruppendefinitionen beachtet werden. Es müssen keine Repositories in der Registry erstellt werden, da das Projekt bereits in GitLab definiert ist.",[17,62,63],{},"Projekte haben eine neue Registerkarte, Container Registry, in der alle mit dem Projekt verbundenen Images aufgelistet sind. Jedes Projekt kann über ein Image-Repository verfügen, das jedoch projektspezifisch ausgeschaltet werden kann. Entwickler(innen) können Images einfach von GitLab CI hoch- und herunterladen. Es ist nicht erforderlich, zusätzliche Software herunterzuladen oder zu installieren.",[24,65,67],{"id":66},"sicherheit-mit-dem-gitlab-container-scanning","Sicherheit mit dem GitLab Container Scanning",[17,69,70],{},"GitLab Container Scanning ist eine Sicherheitsfunktion, die in GitLab integriert ist und dazu dient, Docker-Images auf potenzielle Sicherheitsrisiken zu überprüfen. Diese Funktion ermöglicht es Entwickler(innen), während des Entwicklungsprozesses automatisch Sicherheitsanalysen auf Docker-Images durchzuführen, bevor sie in Produktionsumgebungen eingesetzt werden.",[17,72,73],{},"Konkret scannt das GitLab Container Scanning Tool die Docker-Images nach bekannten Sicherheitslücken, Schwachstellen und Bedrohungen. Dies erfolgt durch die Analyse der in den Images enthaltenen Pakete und Bibliotheken sowie deren Abhängigkeiten.",[17,75,76],{},"Es identifiziert dabei potenzielle Sicherheitsprobleme und liefert den Entwickler(innen) oder dem Team detaillierte Berichte darüber, was gefunden wurde und wie diese Schwachstellen behoben werden können. Durch die Integration von Docker Container Scanning in den Entwicklungsworkflow können Sicherheitslücken frühzeitig erkannt und behoben werden, noch bevor die Software in Produktion geht. Dies trägt dazu bei, die Sicherheit der Anwendungen zu erhöhen und das Risiko von Sicherheitsverletzungen zu minimieren.",[24,78,80],{"id":79},"wie-kann-die-gitlab-container-registry-meinen-workflow-vereinfachen","Wie kann die GitLab Container Registry meinen Workflow vereinfachen?",[17,82,83],{},"Die GitLab Container Registry ist nahtlos und sicher. Hier sind einige Beispiele dafür, wie sie Entwicklungs- und Bereitstellungsabläufe vereinfachen kann:",[85,86,87,91,94,97,100],"ul",{},[88,89,90],"li",{},"Erstelle ganz einfach Docker-Images mithilfe von GitLab CI und speichere sie in der GitLab Container Registry.",[88,92,93],{},"Erstelle Images basierend auf Branches, Tags oder nach beliebigen Workflow-Anforderungen und speichere sie unkompliziert auf GitLab.",[88,95,96],{},"Nutze deine eigenen Build-Images aus der Registry, um Anwendungen gegen sie zu testen und den Docker-Workflow zu vereinfachen.",[88,98,99],{},"Ermögliche dem Team, einfach an den Images mitzuarbeiten, indem es den vertrauten Workflow verwendet. Mithilfe von GitLab CI können Images, die auf deinem Image basieren, automatisch aktualisiert werden, sodass Korrekturen und neue Funktionen problemlos auf Basis-Images angewendet werden können, die von anderen Teams verwendet werden.",[88,101,102],{},"Implementiere einen vollständigen Continuous-Deployment- und Delivery-Workflow, indem du dein Container-as-a-Service (CaaS) so konfigurierst, dass es Images direkt aus der GitLab Container Registry verwendet. Dadurch kannst du automatisch Anwendungen in der Cloud bereitstellen (Docker Cloud, Docker Swarm, Kubernetes und andere), sobald du deine Images erstellt und getestet hast.",[24,104,106],{"id":105},"so-startest-du-mit-gitlab-container-registry","So startest du mit GitLab Container Registry",[17,108,109],{},"Um mit der GitLab Container Registry zu beginnen, wende dich zunächst an deine(n) Systemadministrator(in) und bitte sie/ihn, die Container Registry gemäß den Anweisungen in der Administrationsdokumentation zu aktivieren. Nach der Aktivierung durch die/den Administrator(in) kannst du die Container Registry für dein spezifisches Projekt aktivieren.",[17,111,112],{},"Um deine neue Container Registry nutzen zu können, musst du dich zunächst anmelden:\ndocker login registry.example.com",[17,114,115],{},"Danach kannst du einfach Images erstellen und an GitLab senden:\ndocker build -t registry.example.com/group/project .\ndocker push registry.example.com/group/project",[17,117,118],{},"GitLab bietet eine unkomplizierte Verwaltung der Container Registry. Gehe einfach zu deinem Projekt, öffne den Deploy-Tab und wähle  Container Registry. Dort werden alle Tags in deinem Repository aufgeführt. Hier kannst du sie löschen sowie Details zu jedem Tag anzeigen, wie beispielsweise das Veröffentlichungsdatum und den Speicherplatzverbrauch.",[17,120,121],{},"Weitere Informationen findest du im GitLab-Container-Registry-Benutzerhandbuch.",[24,123,125],{"id":124},"verwendung-mit-gitlab-ci","Verwendung mit GitLab CI",[17,127,128],{},"Mithilfe der integrierten CI-Lösung in GitLab kannst du deine Container-Images erstellen, pushen und bereitstellen.",[17,130,131],{},"Hinweis: Um Docker-in-Docker-Images zu verwenden, muss das Flag privileged in der Konfiguration deines Runners gesetzt sein.",[17,133,134],{},"Nachfolgend siehst du ein Beispiel für eine GitLab CI-Konfigurationsdatei (.gitlab-ci.yml), die ein Image erstellt, Tests ausführt und bei erfolgreichem Test das Build taggt und in das Container Repository hochlädt:",[17,136,137],{},"build_image:\nimage: docker:git\nservices:",[85,139,140],{},[88,141,142,143],{},"docker:dind\nscript:\n",[85,144,145,148,151,154,157],{},[88,146,147],{},"docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.example.com",[88,149,150],{},"docker build -t registry.example.com/my-group/my-project .",[88,152,153],{},"docker run registry.example.com/my-group/my-project /script/to/run/tests",[88,155,156],{},"docker push registry.example.com/my-group/my-project:latest\nonly:",[88,158,159],{},"master",[17,161,162],{},"Hier ist ein detailliertes Beispiel, bei dem die Aufgaben in vier Phasen aufgeteilt werden, einschließlich zweier paralleler Tests. Der Build wird in der Container Registry gespeichert und von den nachfolgenden Phasen verwendet, wobei das Image bei Bedarf automatisch heruntergeladen wird. Änderungen am master werden auch als latest getaggt und mithilfe eines spezifischen Bereitstellungsskripts für die Anwendung bereitgestellt.",[17,164,165],{},"image: docker:git\nservices:",[85,167,168],{},[88,169,170],{},"docker:dind",[17,172,173],{},"stages:",[85,175,176,179,182,185],{},[88,177,178],{},"build",[88,180,181],{},"test",[88,183,184],{},"release",[88,186,187],{},"deploy",[17,189,190],{},"variables:\nCONTAINER_TEST_IMAGE: registry.example.com/my-group/my-project:$CI_BUILD_REF_NAME\nCONTAINER_RELEASE_IMAGE: registry.example.com/my-group/my-project:latest",[17,192,193],{},"before_script:",[85,195,196],{},[88,197,147],{},[17,199,200],{},"build:\nstage: build\nscript:\n- docker build -t $CONTAINER_TEST_IMAGE .\n- docker push $CONTAINER_TEST_IMAGE",[17,202,203],{},"test1:\nstage: test\nscript:\n- docker run $CONTAINER_TEST_IMAGE /script/to/run/tests",[17,205,206],{},"test2:\nstage: test\nscript:\n- docker run $CONTAINER_TEST_IMAGE /script/to/run/another/test",[17,208,209],{},"release-image:\nstage: release\nscript:\n- docker pull $CONTAINER_TEST_IMAGE\n- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE\n- docker push $CONTAINER_RELEASE_IMAGE\nonly:\n- master",[17,211,212],{},"deploy:\nstage: deploy\nscript:\n- ./deploy.sh\nonly:\n- master",[24,214,216],{"id":215},"fazit","Fazit",[17,218,219],{},"Mit der GitLab Container Registry wird das Testen und Bereitstellen von Docker-Containern so einfach wie nie zuvor. Sie ist sowohl in der GitLab Community Edition (CE) als auch in der GitLab Enterprise Edition (EE) ohne zusätzliche Kosten verfügbar und wird in derselben Infrastruktur wie der Rest deiner GitLab-Instanz installiert.",[17,221,222],{},"Die Aktivierung der Container Registry auf GitLab.com ist unkompliziert – zudem entstehen dadurch keine weiteren Kosten. Du kannst sie sofort nutzen, um deine Container-Images zu verwalten und bereitzustellen.",{"title":224,"searchDepth":225,"depth":225,"links":226},"",2,[227,228,229,230,231,232,233,234],{"id":26,"depth":225,"text":27},{"id":36,"depth":225,"text":37},{"id":46,"depth":225,"text":47},{"id":66,"depth":225,"text":67},{"id":79,"depth":225,"text":80},{"id":105,"depth":225,"text":106},{"id":124,"depth":225,"text":125},{"id":215,"depth":225,"text":216},"engineering","2016-05-23"," Die auf Open Source basierende GitLab Container Registry ist nicht nur eine eigenständige Registry, sondern vollständig in GitLab integriert.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665223/Blog/Hero%20Images/containers.jpg",{},true,"/de-de/blog/gitlab-container-registry",{"title":5,"description":237,"ogTitle":5,"ogDescription":237,"noIndex":240,"ogImage":241,"ogUrl":246,"ogSiteName":247,"ogType":248,"canonicalUrls":246},"https://about.gitlab.com/blog/gitlab-container-registry","https://about.gitlab.com","article","gitlab-container-registry","de-de/blog/gitlab-container-registry","BlogPost","2024-12-17","r8ucMfFulSwY6SdWs3bsHeswDUg1uvG7EAyIJcE5yyU",{"logo":255,"freeTrial":260,"sales":265,"login":270,"items":275,"search":604,"minimal":638,"duo":656,"switchNav":665,"pricingDeployment":676},{"config":256},{"href":257,"dataGaName":258,"dataGaLocation":259},"/de-de/","gitlab logo","header",{"text":261,"config":262},"Kostenlose Testversion anfordern",{"href":263,"dataGaName":264,"dataGaLocation":259},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":266,"config":267},"Demo anfordern",{"href":268,"dataGaName":269,"dataGaLocation":259},"/de-de/sales/?contact-topic=request-demo","sales",{"text":271,"config":272},"Anmelden",{"href":273,"dataGaName":274,"dataGaLocation":259},"https://gitlab.com/users/sign_in/","sign in",[276,305,407,412,526,582],{"text":277,"config":278,"menu":280},"Plattform",{"dataNavLevelOne":279},"platform",{"type":281,"columns":282},"cards",[283,289,297],{"title":277,"description":284,"link":285},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":286,"config":287},"Die Plattform erkunden",{"href":288,"dataGaName":279,"dataGaLocation":259},"/de-de/platform/",{"title":290,"description":291,"link":292},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":293,"config":294},"Lerne GitLab Duo kennen",{"href":295,"dataGaName":296,"dataGaLocation":259},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":298,"description":299,"link":300},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":301,"config":302},"Mehr erfahren",{"href":303,"dataGaName":304,"dataGaLocation":259},"/de-de/why-gitlab/","why gitlab",{"text":306,"left":243,"config":307,"menu":309},"Produkt",{"dataNavLevelOne":308},"solutions",{"type":310,"link":311,"columns":315,"feature":386},"lists",{"text":312,"config":313},"Alle Lösungen anzeigen",{"href":314,"dataGaName":308,"dataGaLocation":259},"/de-de/solutions/",[316,341,364],{"title":317,"description":318,"link":319,"items":324},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":320},{"icon":321,"href":322,"dataGaName":323,"dataGaLocation":259},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[325,329,332,337],{"text":326,"config":327},"CI/CD",{"href":328,"dataGaLocation":259,"dataGaName":326},"/de-de/solutions/continuous-integration/",{"text":290,"config":330},{"href":295,"dataGaLocation":259,"dataGaName":331},"gitlab duo agent platform - product menu",{"text":333,"config":334},"Quellcodeverwaltung",{"href":335,"dataGaLocation":259,"dataGaName":336},"/de-de/solutions/source-code-management/","Source Code Management",{"text":338,"config":339},"Automatische Softwarebereitstellung",{"href":322,"dataGaLocation":259,"dataGaName":340},"Automated software delivery",{"title":342,"description":343,"link":344,"items":349},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":345},{"href":346,"dataGaName":347,"dataGaLocation":259,"icon":348},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[350,354,359],{"text":351,"config":352},"Anwendungssicherheitstests",{"href":346,"dataGaName":353,"dataGaLocation":259},"Application security testing",{"text":355,"config":356},"Schutz der Software-Lieferkette",{"href":357,"dataGaLocation":259,"dataGaName":358},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":360,"config":361},"Software-Compliance",{"href":362,"dataGaName":363,"dataGaLocation":259},"/de-de/solutions/software-compliance/","software compliance",{"title":365,"link":366,"items":371},"Messung",{"config":367},{"icon":368,"href":369,"dataGaName":370,"dataGaLocation":259},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[372,376,381],{"text":373,"config":374},"Sichtbarkeit und Messung",{"href":369,"dataGaLocation":259,"dataGaName":375},"Visibility and Measurement",{"text":377,"config":378},"Wertstrommanagement",{"href":379,"dataGaLocation":259,"dataGaName":380},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":382,"config":383},"Analysen und Einblicke",{"href":384,"dataGaLocation":259,"dataGaName":385},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":387,"type":310,"items":388},"GitLab für",[389,395,401],{"text":390,"config":391},"Enterprise",{"icon":392,"href":393,"dataGaLocation":259,"dataGaName":394},"Building","/de-de/enterprise/","enterprise",{"text":396,"config":397},"Kleinunternehmen",{"icon":398,"href":399,"dataGaLocation":259,"dataGaName":400},"Work","/de-de/small-business/","small business",{"text":402,"config":403},"Öffentlicher Sektor",{"icon":404,"href":405,"dataGaLocation":259,"dataGaName":406},"Organization","/de-de/solutions/public-sector/","public sector",{"text":408,"config":409},"Preise",{"href":410,"dataGaName":411,"dataGaLocation":259,"dataNavLevelOne":411},"/de-de/pricing/","pricing",{"text":413,"config":414,"menu":416},"Ressourcen",{"dataNavLevelOne":415},"resources",{"type":310,"link":417,"columns":421,"feature":515},{"text":418,"config":419},"Alle Ressourcen anzeigen",{"href":420,"dataGaName":415,"dataGaLocation":259},"/de-de/resources/",[422,455,482],{"title":423,"items":424},"Erste Schritte",[425,430,435,440,445,450],{"text":426,"config":427},"Installieren",{"href":428,"dataGaName":429,"dataGaLocation":259},"/de-de/install/","install",{"text":431,"config":432},"Kurzanleitungen",{"href":433,"dataGaName":434,"dataGaLocation":259},"/de-de/get-started/","quick setup checklists",{"text":436,"config":437},"Lernen",{"href":438,"dataGaLocation":259,"dataGaName":439},"https://university.gitlab.com/","learn",{"text":441,"config":442},"Produktdokumentation",{"href":443,"dataGaName":444,"dataGaLocation":259},"https://docs.gitlab.com/","product documentation",{"text":446,"config":447},"Best-Practice-Videos",{"href":448,"dataGaName":449,"dataGaLocation":259},"/de-de/getting-started-videos/","best practice videos",{"text":451,"config":452},"Integrationen",{"href":453,"dataGaName":454,"dataGaLocation":259},"/de-de/integrations/","integrations",{"title":456,"items":457},"Entdecken",[458,463,468,473,477],{"text":459,"config":460},"Kundenerfolge",{"href":461,"dataGaName":462,"dataGaLocation":259},"/de-de/customers/","customer success stories",{"text":464,"config":465},"Blog",{"href":466,"dataGaName":467,"dataGaLocation":259},"/de-de/blog/","blog",{"text":469,"config":470},"Demo-Hub",{"href":471,"dataGaName":472,"dataGaLocation":259},"/de-de/demo-hub/","demo hub",{"text":474,"config":475},"The Source",{"href":476,"dataGaName":467,"dataGaLocation":259},"/de-de/the-source/",{"text":478,"config":479},"Remote",{"href":480,"dataGaName":481,"dataGaLocation":259},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":483,"items":484},"Vernetzen",[485,490,495,500,505,510],{"text":486,"config":487},"GitLab-Services",{"href":488,"dataGaName":489,"dataGaLocation":259},"/de-de/services/","services",{"text":491,"config":492},"Beitragen",{"href":493,"dataGaName":494,"dataGaLocation":259},"https://contributors.gitlab.com","contribute",{"text":496,"config":497},"Community",{"href":498,"dataGaName":499,"dataGaLocation":259},"/community/","community",{"text":501,"config":502},"Forum",{"href":503,"dataGaName":504,"dataGaLocation":259},"https://forum.gitlab.com/","forum",{"text":506,"config":507},"Veranstaltungen",{"href":508,"dataGaName":509,"dataGaLocation":259},"/events/","events",{"text":511,"config":512},"Partner",{"href":513,"dataGaName":514,"dataGaLocation":259},"/de-de/partners/","partners",{"config":516,"title":519,"text":520,"link":521},{"background":517,"textColor":518},"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":522,"config":523},"Aktuelle Nachrichten",{"href":524,"dataGaName":525,"dataGaLocation":259},"/de-de/whats-new/","whats new",{"text":527,"config":528,"menu":530},"Unternehmen",{"dataNavLevelOne":529},"company",{"type":310,"columns":531},[532],{"items":533},[534,539,545,547,552,557,562,567,572,577],{"text":535,"config":536},"Über",{"href":537,"dataGaName":538,"dataGaLocation":259},"/de-de/company/","about",{"text":540,"config":541,"footerGa":544},"Karriere",{"href":542,"dataGaName":543,"dataGaLocation":259},"/jobs/","jobs",{"dataGaName":543},{"text":506,"config":546},{"href":508,"dataGaName":509,"dataGaLocation":259},{"text":548,"config":549},"Geschäftsführung",{"href":550,"dataGaName":551,"dataGaLocation":259},"/company/team/e-group/","leadership",{"text":553,"config":554},"Handbuch",{"href":555,"dataGaName":556,"dataGaLocation":259},"https://handbook.gitlab.com/","handbook",{"text":558,"config":559},"Investor Relations",{"href":560,"dataGaName":561,"dataGaLocation":259},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":563,"config":564},"Trust Center",{"href":565,"dataGaName":566,"dataGaLocation":259},"/de-de/security/","trust center",{"text":568,"config":569},"AI Transparency Center",{"href":570,"dataGaName":571,"dataGaLocation":259},"/de-de/ai-transparency-center/","ai transparency center",{"text":573,"config":574},"Newsletter",{"href":575,"dataGaName":576,"dataGaLocation":259},"/company/contact/#contact-forms","newsletter",{"text":578,"config":579},"Presse",{"href":580,"dataGaName":581,"dataGaLocation":259},"/press/","press",{"text":583,"config":584,"menu":585},"Kontakt",{"dataNavLevelOne":529},{"type":310,"columns":586},[587],{"items":588},[589,594,599],{"text":590,"config":591},"Vertrieb kontaktieren",{"href":592,"dataGaName":593,"dataGaLocation":259},"/de-de/sales/","talk to sales",{"text":595,"config":596},"Support-Portal",{"href":597,"dataGaName":598,"dataGaLocation":259},"https://support.gitlab.com/hc/en-us","support portal",{"text":600,"config":601},"Kundenportal",{"href":602,"dataGaName":603,"dataGaLocation":259},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":605,"login":606,"suggestions":613},"Schließen",{"text":607,"link":608},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":609,"config":610},"gitlab.com",{"href":273,"dataGaName":611,"dataGaLocation":612},"search login","search",{"text":614,"default":615},"Vorschläge",[616,618,623,625,630,635],{"text":290,"config":617},{"href":295,"dataGaName":290,"dataGaLocation":612},{"text":619,"config":620},"Codevorschläge (KI)",{"href":621,"dataGaName":622,"dataGaLocation":612},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":326,"config":624},{"href":328,"dataGaName":326,"dataGaLocation":612},{"text":626,"config":627},"GitLab auf AWS",{"href":628,"dataGaName":629,"dataGaLocation":612},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":631,"config":632},"GitLab auf Google Cloud",{"href":633,"dataGaName":634,"dataGaLocation":612},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":298,"config":636},{"href":303,"dataGaName":637,"dataGaLocation":612},"Why GitLab?",{"freeTrial":639,"mobileIcon":644,"desktopIcon":649,"secondaryButton":652},{"text":640,"config":641},"Kostenlos testen",{"href":642,"dataGaName":264,"dataGaLocation":643},"https://gitlab.com/-/trials/new/","nav",{"altText":645,"config":646},"GitLab-Symbol",{"src":647,"dataGaName":648,"dataGaLocation":643},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":645,"config":650},{"src":651,"dataGaName":648,"dataGaLocation":643},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":423,"config":653},{"href":654,"dataGaName":655,"dataGaLocation":643},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":657,"mobileIcon":661,"desktopIcon":663},{"text":658,"config":659},"Mehr über GitLab Duo erfahren",{"href":295,"dataGaName":660,"dataGaLocation":643},"gitlab duo",{"altText":645,"config":662},{"src":647,"dataGaName":648,"dataGaLocation":643},{"altText":645,"config":664},{"src":651,"dataGaName":648,"dataGaLocation":643},{"button":666,"mobileIcon":671,"desktopIcon":673},{"text":667,"config":668},"/Option",{"href":669,"dataGaName":670,"dataGaLocation":643},"#contact","switch",{"altText":645,"config":672},{"src":647,"dataGaName":648,"dataGaLocation":643},{"altText":645,"config":674},{"src":675,"dataGaName":648,"dataGaLocation":643},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":677,"mobileIcon":682,"desktopIcon":684},{"text":678,"config":679},"Zurück zur Preisübersicht",{"href":410,"dataGaName":680,"dataGaLocation":643,"icon":681},"back to pricing","GoBack",{"altText":645,"config":683},{"src":647,"dataGaName":648,"dataGaLocation":643},{"altText":645,"config":685},{"src":651,"dataGaName":648,"dataGaLocation":643},{"title":687,"button":688,"config":692},"GitLab Orbit ist da: die Kontextebene für KI-Agenten",{"text":301,"config":689},{"href":690,"dataGaName":691,"dataGaLocation":259},"/de-de/gitlab-orbit/","orbit",{"layout":184,"disabled":240},{"data":694},{"text":695,"source":696,"edit":702,"contribute":707,"config":712,"items":717,"minimal":923},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":697,"config":698},"Quelltext der Seite anzeigen",{"href":699,"dataGaName":700,"dataGaLocation":701},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":703,"config":704},"Diese Seite bearbeiten",{"href":705,"dataGaName":706,"dataGaLocation":701},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":708,"config":709},"Beteilige dich",{"href":710,"dataGaName":711,"dataGaLocation":701},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":713,"facebook":714,"youtube":715,"linkedin":716},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[718,763,816,858,890],{"title":408,"links":719,"subMenu":734},[720,724,729],{"text":721,"config":722},"Tarife anzeigen",{"href":410,"dataGaName":723,"dataGaLocation":701},"view plans",{"text":725,"config":726},"Vorteile von Premium",{"href":727,"dataGaName":728,"dataGaLocation":701},"/de-de/pricing/premium/","why premium",{"text":730,"config":731},"Vorteile von Ultimate",{"href":732,"dataGaName":733,"dataGaLocation":701},"/de-de/pricing/ultimate/","why ultimate",[735],{"title":583,"links":736},[737,739,741,743,748,753,758],{"text":590,"config":738},{"href":592,"dataGaName":269,"dataGaLocation":701},{"text":595,"config":740},{"href":597,"dataGaName":598,"dataGaLocation":701},{"text":600,"config":742},{"href":602,"dataGaName":603,"dataGaLocation":701},{"text":744,"config":745},"Status",{"href":746,"dataGaName":747,"dataGaLocation":701},"https://status.gitlab.com/","status",{"text":749,"config":750},"Nutzungsbedingungen",{"href":751,"dataGaName":752,"dataGaLocation":701},"/terms/","terms of use",{"text":754,"config":755},"Datenschutzerklärung",{"href":756,"dataGaName":757,"dataGaLocation":701},"/de-de/privacy/","privacy statement",{"text":759,"config":760},"Cookie-Einstellungen",{"dataGaName":761,"dataGaLocation":701,"id":762,"isOneTrustButton":243},"cookie preferences","ot-sdk-btn",{"title":306,"links":764,"subMenu":773},[765,769],{"text":766,"config":767},"DevSecOps-Plattform",{"href":288,"dataGaName":768,"dataGaLocation":701},"devsecops platform",{"text":770,"config":771},"KI-unterstützte Entwicklung",{"href":295,"dataGaName":772,"dataGaLocation":701},"ai-assisted development",[774],{"title":775,"links":776},"Themen",[777,781,786,791,796,801,806,811],{"text":326,"config":778},{"href":779,"dataGaName":780,"dataGaLocation":701},"/de-de/topics/ci-cd/","cicd",{"text":782,"config":783},"GitOps",{"href":784,"dataGaName":785,"dataGaLocation":701},"/de-de/topics/gitops/","gitops",{"text":787,"config":788},"DevOps",{"href":789,"dataGaName":790,"dataGaLocation":701},"/de-de/topics/devops/","devops",{"text":792,"config":793},"Versionskontrolle",{"href":794,"dataGaName":795,"dataGaLocation":701},"/de-de/topics/version-control/","version control",{"text":797,"config":798},"DevSecOps",{"href":799,"dataGaName":800,"dataGaLocation":701},"/de-de/topics/devsecops/","devsecops",{"text":802,"config":803},"Cloud-nativ",{"href":804,"dataGaName":805,"dataGaLocation":701},"/de-de/topics/cloud-native/","cloud native",{"text":807,"config":808},"KI für das Programmieren",{"href":809,"dataGaName":810,"dataGaLocation":701},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":812,"config":813},"Agentische KI",{"href":814,"dataGaName":815,"dataGaLocation":701},"/de-de/topics/agentic-ai/","agentic ai",{"title":817,"links":818},"Lösungen",[819,822,824,829,833,836,839,842,844,846,848,853],{"text":351,"config":820},{"href":346,"dataGaName":821,"dataGaLocation":701},"Application Security Testing",{"text":338,"config":823},{"href":322,"dataGaName":323,"dataGaLocation":701},{"text":825,"config":826},"Agile Entwicklung",{"href":827,"dataGaName":828,"dataGaLocation":701},"/de-de/solutions/agile-delivery/","agile delivery",{"text":830,"config":831},"SCM",{"href":335,"dataGaName":832,"dataGaLocation":701},"source code management",{"text":326,"config":834},{"href":328,"dataGaName":835,"dataGaLocation":701},"continuous integration & delivery",{"text":377,"config":837},{"href":379,"dataGaName":838,"dataGaLocation":701},"value stream management",{"text":782,"config":840},{"href":841,"dataGaName":785,"dataGaLocation":701},"/de-de/solutions/gitops/",{"text":390,"config":843},{"href":393,"dataGaName":394,"dataGaLocation":701},{"text":396,"config":845},{"href":399,"dataGaName":400,"dataGaLocation":701},{"text":402,"config":847},{"href":405,"dataGaName":406,"dataGaLocation":701},{"text":849,"config":850},"Bildungswesen",{"href":851,"dataGaName":852,"dataGaLocation":701},"/de-de/solutions/education/","education",{"text":854,"config":855},"Finanzdienstleistungen",{"href":856,"dataGaName":857,"dataGaLocation":701},"/de-de/solutions/finance/","financial services",{"title":413,"links":859},[860,862,864,866,869,871,874,876,878,880,882,884,886,888],{"text":426,"config":861},{"href":428,"dataGaName":429,"dataGaLocation":701},{"text":431,"config":863},{"href":433,"dataGaName":434,"dataGaLocation":701},{"text":436,"config":865},{"href":438,"dataGaName":439,"dataGaLocation":701},{"text":441,"config":867},{"href":443,"dataGaName":868,"dataGaLocation":701},"docs",{"text":464,"config":870},{"href":466,"dataGaName":467,"dataGaLocation":701},{"text":872,"config":873},"Neuerungen",{"href":524,"dataGaName":525,"dataGaLocation":701},{"text":459,"config":875},{"href":461,"dataGaName":462,"dataGaLocation":701},{"text":478,"config":877},{"href":480,"dataGaName":481,"dataGaLocation":701},{"text":486,"config":879},{"href":488,"dataGaName":489,"dataGaLocation":701},{"text":491,"config":881},{"href":493,"dataGaName":494,"dataGaLocation":701},{"text":496,"config":883},{"href":498,"dataGaName":499,"dataGaLocation":701},{"text":501,"config":885},{"href":503,"dataGaName":504,"dataGaLocation":701},{"text":506,"config":887},{"href":508,"dataGaName":509,"dataGaLocation":701},{"text":511,"config":889},{"href":513,"dataGaName":514,"dataGaLocation":701},{"title":527,"links":891},[892,894,896,898,900,902,907,912,914,916,918],{"text":535,"config":893},{"href":537,"dataGaName":529,"dataGaLocation":701},{"text":540,"config":895},{"href":542,"dataGaName":543,"dataGaLocation":701},{"text":548,"config":897},{"href":550,"dataGaName":551,"dataGaLocation":701},{"text":553,"config":899},{"href":555,"dataGaName":556,"dataGaLocation":701},{"text":558,"config":901},{"href":560,"dataGaName":561,"dataGaLocation":701},{"text":903,"config":904},"Nachhaltigkeit",{"href":905,"dataGaName":906,"dataGaLocation":701},"/sustainability/","Sustainability",{"text":908,"config":909},"Vielfalt, Inklusion und Zugehörigkeit",{"href":910,"dataGaName":911,"dataGaLocation":701},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":563,"config":913},{"href":565,"dataGaName":566,"dataGaLocation":701},{"text":573,"config":915},{"href":575,"dataGaName":576,"dataGaLocation":701},{"text":578,"config":917},{"href":580,"dataGaName":581,"dataGaLocation":701},{"text":919,"config":920},"Transparenzerklärung zu moderner Sklaverei",{"href":921,"dataGaName":922,"dataGaLocation":701},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":924},[925,928,931],{"text":926,"config":927},"Terms",{"href":751,"dataGaName":752,"dataGaLocation":701},{"text":929,"config":930},"Cookies",{"dataGaName":761,"dataGaLocation":701,"id":762,"isOneTrustButton":243},{"text":932,"config":933},"Datenschutz",{"href":756,"dataGaName":757,"dataGaLocation":701},[935],{"id":936,"title":7,"body":239,"config":937,"content":939,"description":239,"extension":943,"meta":944,"navigation":243,"path":945,"seo":946,"stem":947,"__hash__":948},"blogAuthors/en-us/blog/authors/mark-pundsack.yml",{"template":938},"BlogAuthor",{"name":7,"config":940},{"headshot":941,"ctfId":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","markpundsack","yml",{},"/en-us/blog/authors/mark-pundsack",{},"en-us/blog/authors/mark-pundsack","0XkJx2hq2Kagj8C3zTex7xC4ZA-fT8eE1Uo1cML1zhU",[950,959,967],{"title":951,"description":952,"heroImage":953,"category":235,"date":954,"authors":955,"slug":958,"externalUrl":239},"Confidential AI für GitLab Self-Hosted","KI-Coding-Agenten in GitLab Duo nutzen, ohne dass Quellcode eine hardwareverschlüsselte Grenze verlässt, und ohne eigene GPUs zu betreiben.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-08-06",[956,957],"Mathias Ewald","Martin Paloncy","confidential-ai-for-gitlab-self-hosted",{"title":960,"description":961,"heroImage":962,"category":235,"date":963,"authors":964,"slug":966,"externalUrl":239},"Green DevOps: Warum CO2-Messung in die CI/CD-Pipeline gehört","Jeder Pipeline-Lauf verbraucht Energie, die nirgends sichtbar wird. Eco CI und Carmen machen diesen CO2-Ausstoß sichtbar, direkt in den Pipelines.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-09",[965],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":968,"description":969,"heroImage":970,"category":235,"date":971,"authors":972,"slug":974,"externalUrl":239},"Was ist CI/CD? Bedeutung, Vorteile und Tool-Auswahl","Was CI/CD bedeutet, welche Vorteile die Einführung bringt und worauf bei der Tool-Auswahl zu achten ist.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663328/Blog/Hero%20Images/cicd3.jpg","2026-06-22",[973],"GitLab","what-is-ci-cd",{"promotions":976},[977,991,1003,1015],{"id":978,"categories":979,"header":981,"text":982,"button":983,"image":988},"ai-modernization",[980],"ai","Hält KI, was uns versprochen wurde?","Das Quiz dauert maximal 5 Minuten.",{"text":984,"config":985},"Ermittle deinen KI-Reifegrad",{"href":986,"dataGaName":987,"dataGaLocation":467},"/de-de/assessments/ai-modernization-assessment/","modernization assessment",{"config":989},{"src":990},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":992,"categories":993,"header":995,"text":982,"button":996,"image":1000},"devops-modernization",[994,800],"product","Verwaltest du Tool-Chaos oder stellst du Innovationen bereit?",{"text":997,"config":998},"Ermittle deinen DevOps-Reifegrad",{"href":999,"dataGaName":987,"dataGaLocation":467},"/de-de/assessments/devops-modernization-assessment/",{"config":1001},{"src":1002},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1004,"categories":1005,"header":1007,"text":982,"button":1008,"image":1012},"security-modernization",[1006],"security","Tauschst du Schnelligkeit gegen Sicherheit ein?",{"text":1009,"config":1010},"Ermittle deinen Sicherheitsreifegrad",{"href":1011,"dataGaName":987,"dataGaLocation":467},"/de-de/assessments/security-modernization-assessment/",{"config":1013},{"src":1014},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1016,"paths":1017,"header":1020,"text":1021,"button":1022,"image":1027},"github-azure-migration",[1018,1019],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Ist dein Team bereit für den Umzug von GitHub nach Azure?","GitHub stellt bereits auf Azure um. Finde heraus, was das für dich bedeutet.",{"text":1023,"config":1024},"Erfahre, wie GitLab im Vergleich zu GitHub abschneidet",{"href":1025,"dataGaName":1026,"dataGaLocation":467},"/de-de/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1028},{"src":1002},{"header":1030,"blurb":1031,"button":1032,"secondaryButton":1037},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":1033,"config":1034},"Kostenlosen Test starten",{"href":1035,"dataGaName":264,"dataGaLocation":1036},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":590,"config":1038},{"href":592,"dataGaName":269,"dataGaLocation":1036},1786803758099]