[{"data":1,"prerenderedAt":816},["ShallowReactive",2],{"/de-de/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":3,"navigation-de-de":42,"banner-de-de":455,"footer-de-de":465,"blog-post-authors-de-de-Tim Rizzi":700,"blog-related-posts-de-de-prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd":714,"blog-promotions-de-de":754,"next-steps-de-de":806},{"id":4,"title":5,"authorSlugs":6,"authors":8,"body":10,"category":11,"categorySlug":11,"config":12,"content":16,"date":20,"description":17,"extension":26,"externalUrl":27,"featured":14,"heroImage":19,"isFeatured":14,"meta":28,"navigation":14,"path":29,"publishedDate":20,"rawbody":30,"seo":31,"slug":13,"stem":36,"tagSlugs":37,"tags":40,"template":15,"updatedDate":25,"__hash__":41},"blogPosts/de-de/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd.yml","Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf GitLab CI/CD haben",[7],"tim-rizzi",[9],"Tim Rizzi","Am 1. April 2025 hat Docker neue [Ratenbegrenzungen für Pulls](https://docs.docker.com/docker-hub/usage/) für Docker Hub eingeführt, die sich erheblich auf CI/CD-Pipelines in der gesamten Branche auswirken können, einschließlich derer, die auf GitLab ausgeführt werden. Die gravierendste Änderung ist die Begrenzung auf 10 Pulls pro Stunde für nicht angemeldete Benutzer(innen).\n\n> **12x kürzere Bereitstellungszeit: Dank GitLabs vollständiger Integration lebt Hilti Effizienz.** GitLab bringt vollständige Transparenz, eine umfassende Codeverwaltung und umfangreiche Sicherheitsscans mit, um Hilti neue Softwarefähigkeiten zu ermöglichen. Erfahre, wie Hilti seine Softwareentwicklung revolutioniert hat. **[Erfolgsstory lesen](https://about.gitlab.com/de-de/customers/hilti/)**\n\n## Was ändert sich?\n\nAb dem 1. April 2025 hat Docker die folgenden Ratenbegrenzungen für Pulls durchgesetzt:\n\n| Benutzertyp | Ratenbegrenzung für Pulls pro Stunde | Anzahl der öffentlichen Repositories | Anzahl der privaten Repositories |\n|-----------|--------------------------|-------------------------------|--------------------------------|\n| Business, Team, Pro (authentifiziert) | Unbegrenzt (angemessene Nutzung) | Unbegrenzt | Unbegrenzt |\n| Persönlich (authentifiziert) | 100 | Unbegrenzt | Maximal 1 |\n| Nicht angemeldete Benutzer(innen) | 10 pro IPv4-Adresse oder IPv6/64-Subnetz | Nicht zutreffend | Nicht zutreffend |\n\n\u003Cp>\u003C/p>\nDies ist besonders wichtig, weil:\n\n* Der Abhängigkeits-Proxy von GitLab pullt derzeit als nicht angemeldeter Benutzer von Docker Hub.\n* Die meisten CI/CD-Pipelines, die den Abhängigkeits-Proxy nicht verwenden, pullen als nicht angemeldete Benutzer direkt von Docker Hub.\n* Auf gehosteten Runnern für GitLab.com kann es vorkommen, dass sich mehrere Benutzer(innen) die gleiche IP-Adresse oder das gleiche Subnetz teilen. Somit unterliegen sie gemeinsam dieser Begrenzung.\n\n## Wie sich dies auf GitLab-Benutzer(innen) auswirkt\n\n**Auswirkungen auf direkte Pulls von Docker Hub**\n\nWenn deine CI/CD-Pipelines Images direkt und ohne Authentifizierung von Docker Hub pullen, ist die Anzahl auf 10 Pulls pro Stunde und IP-Adresse begrenzt. Bei Pipelines, die häufig oder projektübergreifend mit derselben Runner-Infrastruktur ausgeführt werden, wird dieser Grenzwert schnell erreicht und es kommt zu Pipeline-Fehlern.\n\n**Auswirkungen auf den Abhängigkeits-Proxy von GitLab**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images in GitLab zwischenspeichern, um Pipelines zu beschleunigen und externe Abhängigkeiten zu reduzieren. Die aktuelle Implementierung pullt allerdings als nicht angemeldeter Benutzer von Docker Hub. Das bedeutet, dass auch hier der Grenzwert von 10 Pulls pro Stunde gilt.\n\n**Auswirkungen auf gehostete Runner**\n\nGehostete Runner auf GitLab.com verwenden den [Pull-Through-Cache von Google Cloud](https://cloud.google.com/artifact-registry/docs/pull-cached-dockerhub-images?hl=de). Dieser spiegelt häufig gepullte Images, sodass Ratenbegrenzungen vermieden werden. Images von Jobs, die in deiner `.gitlab-ci.yml`-Datei als `image:` oder `services:` definiert sind, sind von Ratenbegrenzungen nicht betroffen.\n\nEtwas schwieriger wird es, wenn Images innerhalb der Runner-Umgebung gepullt werden. Der häufigste Anwendungsfall für das Pullen von Images während der Laufzeit eines Runners ist die Erstellung eines Images mit Docker-in-Docker oder Kaniko. In diesem Szenario wird das in deiner `Dockerfile` definierte Docker-Hub-Image direkt aus dem Docker Hub gepullt und ist wahrscheinlich von den Ratenbegrenzungen betroffen.\n\n## Wie GitLab reagiert\n\nWir arbeiten aktiv an Lösungen, um diese Herausforderungen zu bewältigen:\n\n* **Authentifizierung des Abhängigkeits-Proxy:** Wir haben die Unterstützung für die Docker-Hub-Authentifizierung im [GitLab-Abhängigkeits-Proxy](https://gitlab.com/gitlab-org/gitlab/-/issues/331741) hinzugefügt. Dadurch kann der Abhängigkeits-Proxy Images als angemeldeter Benutzer von Docker Hub pullen, wodurch die Grenzwerte erheblich erhöht werden.\n* **Aktualisierung der Dokumentation:** Wir haben unsere [Dokumentation (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials) aktualisiert. Sie stellt jetzt eine klare Anleitung zur Konfiguration der Pipeline-Authentifizierung für Docker Hub zur Verfügung.\n* **Vorbereitung der internen Infrastruktur:** Wir bereiten unsere interne Infrastruktur vor, um die Auswirkungen auf gehostete Runner für GitLab.com zu minimieren.\n\n## So kannst du dich vorbereiten\n\n**Option 1: Konfiguriere die Docker-Hub-Authentifizierung in deinen Pipelines**\n\nFür Pipelines, die direkt von Docker Hub pullen, kannst du die Authentifizierung so konfigurieren, dass deine Ratenbegrenzung auf 100 Pulls pro Stunde erhöht wird (mit einem kostenpflichtigen Docker-Hub-Abo ist sie sogar unbegrenzt).\n\nFüge die Docker-Hub-Anmeldedaten zu den CI/CD-Variablen deines Projekts oder deiner Gruppe hinzu (nicht in deiner `.gitlab-ci.yml`-Datei). Ausführliche Anweisungen zur korrekten Einrichtung der CI/CD-Variable `DOCKER_AUTH_CONFIG` findest du in unserer [Dokumentation zur Verwendung von Docker-Images (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/ci/docker/using_docker_images/#use-statically-defined-credentials).\n\n**Option 2: Verwende die GitLab-Container-Registry**\n\nDu kannst deine häufig verwendeten Docker-Images in deine [GitLab-Container-Registry (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/container_registry/) übertragen. So musst du während der CI/CD-Ausführung nicht mehr von Docker Hub pullen:\n\n1. Pulle das Image von Docker Hub.\n2. Kennzeichne es für deine GitLab-Container-Registry.\n3. Pushe es in deine GitLab-Container-Registry.\n4. Aktualisiere deine Pipelines, dass sie das Image von der GitLab-Container-Registry abrufen.\n\n```shell\ndocker pull busybox:latest\ndocker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\ndocker push $CI_REGISTRY_IMAGE/busybox:latest\n```\n\nIn deiner `.gitlab-ci.yml`-Datei fügst du dann folgende Zeile hinzu:\n\n`image: $CI_REGISTRY_IMAGE/busybox:latest`\n\n**Option 3: Verwende den GitLab-Abhängigkeits-Proxy**\n\nMit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images zwischenspeichern und übertragen. Dies reduziert externe Abhängigkeiten und somit Probleme mit der Ratenbegrenzung.\n\nAktuelle Authentifizierungsoptionen:\n* GitLab 17.10: Konfiguriere die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy mit der [GraphQL API (nur in englischer Sprache verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configure-credentials-using-the-graphql-api)\n* GitLab 17.11: Verwende die neue UI-basierte Konfiguration in den Einstellungen deiner Gruppe (bereits auf GitLab.com verfügbar)\n\nSobald die Authentifizierung ordnungsgemäß konfiguriert ist, kannst du Folgendes tun:\n\n1. Konfiguriere die Docker-Hub-Anmeldeinformationen in den Einstellungen des Abhängigkeits-Proxys deiner Gruppe:\n  - Für GitLab 17.11+ (oder die aktuelle Version von GitLab.com): Navigiere zu den Einstellungen deiner Gruppe > Pakete und Registries > Abhängigkeits-Proxy.\n  - Für GitLab 17.10: Verwende die GraphQL-API, um die Authentifizierung zu konfigurieren.\n2. Aktualisiere deine Pipelines, sodass sie die Dependency-Proxy-URLs in deiner CI/CD-Konfiguration verwenden:\n`image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest`\n\n**Option 4: Überlege dir, ein kostenpflichtiges Docker-Hub-Abonnement abzuschließen**\n\nUnternehmen, die Docker Hub intensiv nutzen, ist das Upgrade auf ein kostenpflichtiges Docker-Abonnement (Team oder Business) möglicherweise die einfachste Lösung, da es unbegrenzt viele Pulls ermöglicht.\n\n## Best Practices zur Reduzierung der Auswirkungen der Docker-Hub-Ratenbegrenzung\n\nUnabhängig davon, welche Option du wählst, helfen dir diese Best Practices dabei, die Auswirkungen der Docker-Hub-Ratenbegrenzung zu minimieren:\n\n* Verwende eindeutige Image-Tags anstelle von `latest`, um unnötige Pulls zu vermeiden.\n* Konsolidiere deine Docker-Dateien, sodass sie projektübergreifend dieselben Basis-Images verwenden.\n* Plane weniger kritische Pipelines so, dass sie außerhalb der Stoßzeiten ausgeführt werden.\n* Verwende Caching effektiv, um zu vermeiden, dass dieselben Images wiederholt gepullt werden.\n\n**Hinweis:** Gemäß der [Dokumentation](https://docs.docker.com/docker-hub/usage/pulls/#pull-definition) von Docker Hub wird der Counter für die Anzahl der Pulls erhöht, wenn das Image-Manifest gepullt wird, und nicht basierend auf der Image-Größe oder der Anzahl der Ebenen.\n\n## Zeitplan und nächste Schritte\n\n**Jetzt**\n  * Implementiere die Authentifizierung für direkte Pulls von Docker Hub.\n  * Als Benutzer(in) von GitLab.com kannst du die Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy bereits konfigurieren, indem du entweder:\n    * die GraphQL-API oder\n    * die Benutzeroberfläche in den Gruppeneinstellungen verwendest\n  * Benutzer(innen) von GitLab Self-Managed 17.10 können die Abhängigkeits-Proxy-Authentifizierung über die GraphQL-API konfigurieren.\n\n**1. April 2025**\n  * Die Ratenbegrenzungen für Docker Hub treten in Kraft.\n\n**17. April 2025**\n  * GitLab 17.11 wird mit UI-basierter Unterstützung für die Authentifizierung des Abhängigkeits-Proxy für Self-Managed-Instanzen veröffentlicht.\nDu solltest rechtzeitig vor Ablauf der Frist am 1. April Maßnahmen ergreifen, um unerwartete Pipeline-Fehler zu vermeiden. Für die meisten Benutzer(innen) ist die Konfiguration des Abhängigkeits-Proxys mit der Docker-Hub-Authentifizierung die effizienteste Langzeitlösung.\n\n> Hast du Fragen oder benötigst du Hilfe bei der Implementierung? Sieh dir [dieses Ticket an](https://gitlab.com/gitlab-org/gitlab/-/issues/526605), wo unser Team aktiv Unterstützung bietet.","bulletin-board",{"slug":13,"featured":14,"template":15},"prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",true,"BlogPost",{"title":5,"description":17,"authors":18,"heroImage":19,"date":20,"body":10,"category":11,"tags":21,"updatedDate":25},"Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um Störungen zu vermeiden.",[9],"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","2025-03-24",[22,23,24],"CI/CD","news","DevSecOps platform","2025-04-21","yml",null,{},"/de-de/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd","seo:\n  title: 'Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf\n    GitLab CI/CD haben'\n  description: 'Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls\n    von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um\n    Störungen zu vermeiden.'\n  ogTitle: 'Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf\n    GitLab CI/CD haben'\n  ogDescription: 'Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls\n    von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um\n    Störungen zu vermeiden.'\n  noIndex: false\n  ogImage: >-\n    https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png\n  ogUrl: >-\n    https://about.gitlab.com/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd\n  ogSiteName: https://about.gitlab.com\n  ogType: article\n  canonicalUrls: >-\n    https://about.gitlab.com/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd\ncontent:\n  title: 'Welche Auswirkungen die Ratenbegrenzungen für Docker Hub auf\n    GitLab CI/CD haben'\n  description: 'Erfahre, wie sich die bevorstehenden Ratenbegrenzungen für Pulls\n    von Docker Hub auf GitLab-Pipelines auswirken und was du tun kannst, um\n    Störungen zu vermeiden.'\n  authors:\n    - Tim Rizzi\n  heroImage: >-\n    https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png\n  date: '2025-03-24'\n  body: \"Am 1. April 2025 hat Docker neue [Ratenbegrenzungen für\n    Pulls](https://docs.docker.com/docker-hub/usage/) für Docker Hub eingeführt,\n    die sich erheblich auf CI/CD-Pipelines in der gesamten Branche auswirken\n    können, einschließlich derer, die auf GitLab ausgeführt werden. Die\n    gravierendste Änderung ist die Begrenzung auf 10 Pulls pro Stunde für nicht\n    angemeldete Benutzer(innen).\n\n\n    > **12x kürzere Bereitstellungszeit: Dank GitLabs vollständiger Integration\n    lebt Hilti Effizienz.** GitLab bringt vollständige Transparenz, eine\n    umfassende Codeverwaltung und umfangreiche Sicherheitsscans mit, um Hilti\n    neue Softwarefähigkeiten zu ermöglichen. Erfahre, wie Hilti seine\n    Softwareentwicklung revolutioniert hat. **[Erfolgsstory\n    lesen](https://about.gitlab.com/de-de/customers/hilti/)**\n\n\n    ## Was ändert sich?\n\n\n    Ab dem 1. April 2025 hat Docker die folgenden Ratenbegrenzungen für Pulls\n    durchgesetzt:\n\n\n    | Benutzertyp | Ratenbegrenzung für Pulls pro Stunde | Anzahl der\n    öffentlichen Repositories | Anzahl der privaten Repositories |\n\n    |-----------|--------------------------|-------------------------------|---\\\n    -----------------------------|\n\n    | Business, Team, Pro (authentifiziert) | Unbegrenzt (angemessene Nutzung) |\n    Unbegrenzt | Unbegrenzt |\n\n    | Persönlich (authentifiziert) | 100 | Unbegrenzt | Maximal 1 |\n\n    | Nicht angemeldete Benutzer(innen) | 10 pro IPv4-Adresse oder\n    IPv6/64-Subnetz | Nicht zutreffend | Nicht zutreffend |\n\n\n    \u003Cp>\u003C/p>\n\n    Dies ist besonders wichtig, weil:\n\n\n    * Der Abhängigkeits-Proxy von GitLab pullt derzeit als nicht angemeldeter\n    Benutzer von Docker Hub.\n\n    * Die meisten CI/CD-Pipelines, die den Abhängigkeits-Proxy nicht verwenden,\n    pullen als nicht angemeldete Benutzer direkt von Docker Hub.\n\n    * Auf gehosteten Runnern für GitLab.com kann es vorkommen, dass sich mehrere\n    Benutzer(innen) die gleiche IP-Adresse oder das gleiche Subnetz teilen.\n    Somit unterliegen sie gemeinsam dieser Begrenzung.\n\n\n    ## Wie sich dies auf GitLab-Benutzer(innen) auswirkt\n\n\n    **Auswirkungen auf direkte Pulls von Docker Hub**\n\n\n    Wenn deine CI/CD-Pipelines Images direkt und ohne Authentifizierung von\n    Docker Hub pullen, ist die Anzahl auf 10 Pulls pro Stunde und IP-Adresse\n    begrenzt. Bei Pipelines, die häufig oder projektübergreifend mit derselben\n    Runner-Infrastruktur ausgeführt werden, wird dieser Grenzwert schnell\n    erreicht und es kommt zu Pipeline-Fehlern.\n\n\n    **Auswirkungen auf den Abhängigkeits-Proxy von GitLab**\n\n\n    Mit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images in GitLab\n    zwischenspeichern, um Pipelines zu beschleunigen und externe Abhängigkeiten\n    zu reduzieren. Die aktuelle Implementierung pullt allerdings als nicht\n    angemeldeter Benutzer von Docker Hub. Das bedeutet, dass auch hier der\n    Grenzwert von 10 Pulls pro Stunde gilt.\n\n\n    **Auswirkungen auf gehostete Runner**\n\n\n    Gehostete Runner auf GitLab.com verwenden den [Pull-Through-Cache von\n    Google Cloud](https://cloud.google.com/artifact-registry/docs/pull-cached-d\\\n    ockerhub-images?hl=de). Dieser spiegelt häufig gepullte Images, sodass\n    Ratenbegrenzungen vermieden werden. Images von Jobs, die in deiner\n    `.gitlab-ci.yml`-Datei als `image:` oder `services:` definiert sind, sind\n    von Ratenbegrenzungen nicht betroffen.\n\n\n    Etwas schwieriger wird es, wenn Images innerhalb der Runner-Umgebung gepullt\n    werden. Der häufigste Anwendungsfall für das Pullen von Images während der\n    Laufzeit eines Runners ist die Erstellung eines Images mit Docker-in-Docker\n    oder Kaniko. In diesem Szenario wird das in deiner `Dockerfile` definierte\n    Docker-Hub-Image direkt aus dem Docker Hub gepullt und ist wahrscheinlich\n    von den Ratenbegrenzungen betroffen.\n\n\n    ## Wie GitLab reagiert\n\n\n    Wir arbeiten aktiv an Lösungen, um diese Herausforderungen zu bewältigen:\n\n\n    * **Authentifizierung des Abhängigkeits-Proxy:** Wir haben die Unterstützung\n    für die Docker-Hub-Authentifizierung im\n    [GitLab-Abhängigkeits-Proxy](https://gitlab.com/gitlab-org/gitlab/-/issues/\\\n    331741) hinzugefügt. Dadurch kann der Abhängigkeits-Proxy Images als\n    angemeldeter Benutzer von Docker Hub pullen, wodurch die Grenzwerte\n    erheblich erhöht werden.\n\n    * **Aktualisierung der Dokumentation:** Wir haben unsere [Dokumentation (nur\n    in englischer Sprache\n    verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configu\\\n    re-credentials) aktualisiert. Sie stellt jetzt eine klare Anleitung zur\n    Konfiguration der Pipeline-Authentifizierung für Docker Hub zur Verfügung.\n\n    * **Vorbereitung der internen Infrastruktur:** Wir bereiten unsere interne\n    Infrastruktur vor, um die Auswirkungen auf gehostete Runner für GitLab.com\n    zu minimieren.\n\n\n    ## So kannst du dich vorbereiten\n\n\n    **Option 1: Konfiguriere die Docker-Hub-Authentifizierung in deinen\n    Pipelines**\n\n\n    Für Pipelines, die direkt von Docker Hub pullen, kannst du die\n    Authentifizierung so konfigurieren, dass deine Ratenbegrenzung auf 100 Pulls\n    pro Stunde erhöht wird (mit einem kostenpflichtigen Docker-Hub-Abo ist sie\n    sogar unbegrenzt).\n\n\n    Füge die Docker-Hub-Anmeldedaten zu den CI/CD-Variablen deines Projekts oder\n    deiner Gruppe hinzu (nicht in deiner `.gitlab-ci.yml`-Datei). Ausführliche\n    Anweisungen zur korrekten Einrichtung der CI/CD-Variable\n    `DOCKER_AUTH_CONFIG` findest du in unserer [Dokumentation zur Verwendung von\n    Docker-Images (nur in englischer Sprache\n    verfügbar)](https://docs.gitlab.com/ci/docker/using_docker_images/#use-stat\\\n    ically-defined-credentials).\n\n\n    **Option 2: Verwende die GitLab-Container-Registry**\n\n\n    Du kannst deine häufig verwendeten Docker-Images in deine\n    [GitLab-Container-Registry (nur in englischer Sprache\n    verfügbar)](https://docs.gitlab.com/user/packages/container_registry/)\n    übertragen. So musst du während der CI/CD-Ausführung nicht mehr von\n    Docker Hub pullen:\n\n\n    1. Pulle das Image von Docker Hub.\n\n    2. Kennzeichne es für deine GitLab-Container-Registry.\n\n    3. Pushe es in deine GitLab-Container-Registry.\n\n    4. Aktualisiere deine Pipelines, dass sie das Image von der\n    GitLab-Container-Registry abrufen.\n\n\n    ```shell\n\n    docker pull busybox:latest\n\n    docker tag busybox:latest $CI_REGISTRY_IMAGE/busybox:latest\n\n    docker push $CI_REGISTRY_IMAGE/busybox:latest\n\n    ```\n\n\n    In deiner `.gitlab-ci.yml`-Datei fügst du dann folgende Zeile hinzu:\n\n\n    `image: $CI_REGISTRY_IMAGE/busybox:latest`\n\n\n    **Option 3: Verwende den GitLab-Abhängigkeits-Proxy**\n\n\n    Mit dem Abhängigkeits-Proxy von GitLab kannst du Docker-Images\n    zwischenspeichern und übertragen. Dies reduziert externe Abhängigkeiten und\n    somit Probleme mit der Ratenbegrenzung.\n\n\n    Aktuelle Authentifizierungsoptionen:\n\n    * GitLab 17.10: Konfiguriere die Docker-Hub-Authentifizierung für den\n    Abhängigkeits-Proxy mit der [GraphQL API (nur in englischer Sprache\n    verfügbar)](https://docs.gitlab.com/user/packages/dependency_proxy/#configu\\\n    re-credentials-using-the-graphql-api)\n\n    * GitLab 17.11: Verwende die neue UI-basierte Konfiguration in den\n    Einstellungen deiner Gruppe (bereits auf GitLab.com verfügbar)\n\n\n    Sobald die Authentifizierung ordnungsgemäß konfiguriert ist, kannst du\n    Folgendes tun:\n\n\n    1. Konfiguriere die Docker-Hub-Anmeldeinformationen in den Einstellungen des\n    Abhängigkeits-Proxys deiner Gruppe:\n\n    \\  - Für GitLab 17.11+ (oder die aktuelle Version von GitLab.com): Navigiere\n    zu den Einstellungen deiner Gruppe > Pakete und Registries >\n    Abhängigkeits-Proxy.\n\n    \\  - Für GitLab 17.10: Verwende die GraphQL-API, um die Authentifizierung zu\n    konfigurieren.\n\n    2. Aktualisiere deine Pipelines, sodass sie die Dependency-Proxy-URLs in\n    deiner CI/CD-Konfiguration verwenden:\n\n    `image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/busybox:latest`\n\n\n    **Option 4: Überlege dir, ein kostenpflichtiges Docker-Hub-Abonnement\n    abzuschließen**\n\n\n    Unternehmen, die Docker Hub intensiv nutzen, ist das Upgrade auf ein\n    kostenpflichtiges Docker-Abonnement (Team oder Business) möglicherweise die\n    einfachste Lösung, da es unbegrenzt viele Pulls ermöglicht.\n\n\n    ## Best Practices zur Reduzierung der Auswirkungen der\n    Docker-Hub-Ratenbegrenzung\n\n\n    Unabhängig davon, welche Option du wählst, helfen dir diese Best Practices\n    dabei, die Auswirkungen der Docker-Hub-Ratenbegrenzung zu minimieren:\n\n\n    * Verwende eindeutige Image-Tags anstelle von `latest`, um unnötige Pulls zu\n    vermeiden.\n\n    * Konsolidiere deine Docker-Dateien, sodass sie projektübergreifend\n    dieselben Basis-Images verwenden.\n\n    * Plane weniger kritische Pipelines so, dass sie außerhalb der Stoßzeiten\n    ausgeführt werden.\n\n    * Verwende Caching effektiv, um zu vermeiden, dass dieselben Images\n    wiederholt gepullt werden.\n\n\n    **Hinweis:** Gemäß der\n    [Dokumentation](https://docs.docker.com/docker-hub/usage/pulls/#pull-defini\\\n    tion) von Docker Hub wird der Counter für die Anzahl der Pulls erhöht, wenn\n    das Image-Manifest gepullt wird, und nicht basierend auf der Image-Größe\n    oder der Anzahl der Ebenen.\n\n\n    ## Zeitplan und nächste Schritte\n\n\n    **Jetzt**\n\n    \\  * Implementiere die Authentifizierung für direkte Pulls von Docker Hub.\n\n    \\  * Als Benutzer(in) von GitLab.com kannst du die\n    Docker-Hub-Authentifizierung für den Abhängigkeits-Proxy bereits\n    konfigurieren, indem du entweder:\n\n    \\    * die GraphQL-API oder\n\n    \\    * die Benutzeroberfläche in den Gruppeneinstellungen verwendest\n\n    \\  * Benutzer(innen) von GitLab Self-Managed 17.10 können die\n    Abhängigkeits-Proxy-Authentifizierung über die GraphQL-API konfigurieren.\n\n\n    **1. April 2025**\n\n    \\  * Die Ratenbegrenzungen für Docker Hub treten in Kraft.\n\n\n    **17. April 2025**\n\n    \\  * GitLab 17.11 wird mit UI-basierter Unterstützung für die\n    Authentifizierung des Abhängigkeits-Proxy für Self-Managed-Instanzen\n    veröffentlicht.\\\n\n\n    Du solltest rechtzeitig vor Ablauf der Frist am 1. April Maßnahmen\n    ergreifen, um unerwartete Pipeline-Fehler zu vermeiden. Für die meisten\n    Benutzer(innen) ist die Konfiguration des Abhängigkeits-Proxys mit der\n    Docker-Hub-Authentifizierung die effizienteste Langzeitlösung.\n\n\n    > Hast du Fragen oder benötigst du Hilfe bei der Implementierung? Sieh dir\n    [dieses Ticket an](https://gitlab.com/gitlab-org/gitlab/-/issues/526605), wo\n    unser Team aktiv Unterstützung bietet.\"\n  category: bulletin-board\n  tags:\n    - CI/CD\n    - news\n    - DevSecOps platform\n  updatedDate: '2025-04-21'\nconfig:\n  slug: prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd\n  featured: true\n  template: BlogPost\n",{"title":5,"description":17,"ogTitle":5,"ogDescription":17,"noIndex":32,"ogImage":19,"ogUrl":33,"ogSiteName":34,"ogType":35,"canonicalUrls":33},false,"https://about.gitlab.com/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd","https://about.gitlab.com","article","de-de/blog/prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",[38,23,39],"cicd","devsecops-platform",[22,23,24],"XsIE30LuHrYhHiC5tMsWsPK0QOk2lBB1fdUtdnUoMso",{"data":43},{"logo":44,"freeTrial":49,"sales":54,"login":59,"items":64,"search":373,"minimal":407,"duo":425,"switchNav":434,"pricingDeployment":445},{"config":45},{"href":46,"dataGaName":47,"dataGaLocation":48},"/de-de/","gitlab logo","header",{"text":50,"config":51},"Kostenlose Testversion anfordern",{"href":52,"dataGaName":53,"dataGaLocation":48},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":55,"config":56},"Vertrieb kontaktieren",{"href":57,"dataGaName":58,"dataGaLocation":48},"/de-de/sales/","sales",{"text":60,"config":61},"Anmelden",{"href":62,"dataGaName":63,"dataGaLocation":48},"https://gitlab.com/users/sign_in/","sign in",[65,92,188,193,294,354],{"text":66,"config":67,"cards":69},"Plattform",{"dataNavLevelOne":68},"platform",[70,76,84],{"title":66,"description":71,"link":72},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":73,"config":74},"Die Plattform erkunden",{"href":75,"dataGaName":68,"dataGaLocation":48},"/de-de/platform/",{"title":77,"description":78,"link":79},"GitLab Duo Agent Platform","Agentische KI für den gesamten Software-Lebenszyklus",{"text":80,"config":81},"Lerne GitLab Duo kennen",{"href":82,"dataGaName":83,"dataGaLocation":48},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":85,"description":86,"link":87},"Warum GitLab?","Erfahre, warum sich Unternehmen für GitLab entscheiden",{"text":88,"config":89},"Mehr erfahren",{"href":90,"dataGaName":91,"dataGaLocation":48},"/de-de/why-gitlab/","why gitlab",{"text":93,"left":14,"config":94,"link":96,"lists":100,"footer":170},"Produkt",{"dataNavLevelOne":95},"solutions",{"text":97,"config":98},"Alle Lösungen anzeigen",{"href":99,"dataGaName":95,"dataGaLocation":48},"/de-de/solutions/",[101,125,148],{"title":102,"description":103,"link":104,"items":109},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":105},{"icon":106,"href":107,"dataGaName":108,"dataGaLocation":48},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[110,113,116,121],{"text":22,"config":111},{"href":112,"dataGaLocation":48,"dataGaName":22},"/de-de/solutions/continuous-integration/",{"text":77,"config":114},{"href":82,"dataGaLocation":48,"dataGaName":115},"gitlab duo agent platform - product menu",{"text":117,"config":118},"Quellcodeverwaltung",{"href":119,"dataGaLocation":48,"dataGaName":120},"/de-de/solutions/source-code-management/","Source Code Management",{"text":122,"config":123},"Automatische Softwarebereitstellung",{"href":107,"dataGaLocation":48,"dataGaName":124},"Automated software delivery",{"title":126,"description":127,"link":128,"items":133},"Sicherheit","Entwickle Code schneller ohne Abstriche bei der Sicherheit",{"config":129},{"href":130,"dataGaName":131,"dataGaLocation":48,"icon":132},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[134,138,143],{"text":135,"config":136},"Anwendungssicherheitstests",{"href":130,"dataGaName":137,"dataGaLocation":48},"Application security testing",{"text":139,"config":140},"Schutz der Software-Lieferkette",{"href":141,"dataGaLocation":48,"dataGaName":142},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":144,"config":145},"Software-Compliance",{"href":146,"dataGaName":147,"dataGaLocation":48},"/de-de/solutions/software-compliance/","software compliance",{"title":149,"link":150,"items":155},"Auswertung",{"config":151},{"icon":152,"href":153,"dataGaName":154,"dataGaLocation":48},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[156,160,165],{"text":157,"config":158},"Sichtbarkeit und Auswertung",{"href":153,"dataGaLocation":48,"dataGaName":159},"Visibility and Measurement",{"text":161,"config":162},"Wertstrommanagement",{"href":163,"dataGaLocation":48,"dataGaName":164},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":166,"config":167},"Analysen und Einblicke",{"href":168,"dataGaLocation":48,"dataGaName":169},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":171,"items":172},"GitLab für",[173,178,183],{"text":174,"config":175},"Enterprise",{"href":176,"dataGaLocation":48,"dataGaName":177},"/de-de/enterprise/","enterprise",{"text":179,"config":180},"Kleinunternehmen",{"href":181,"dataGaLocation":48,"dataGaName":182},"/de-de/small-business/","small business",{"text":184,"config":185},"Öffentlicher Sektor",{"href":186,"dataGaLocation":48,"dataGaName":187},"/de-de/solutions/public-sector/","public sector",{"text":189,"config":190},"Preise",{"href":191,"dataGaName":192,"dataGaLocation":48,"dataNavLevelOne":192},"/de-de/pricing/","pricing",{"text":194,"config":195,"link":197,"lists":201,"feature":281},"Ressourcen",{"dataNavLevelOne":196},"resources",{"text":198,"config":199},"Alle Ressourcen anzeigen",{"href":200,"dataGaName":196,"dataGaLocation":48},"/de-de/resources/",[202,235,253],{"title":203,"items":204},"Erste Schritte",[205,210,215,220,225,230],{"text":206,"config":207},"Installieren",{"href":208,"dataGaName":209,"dataGaLocation":48},"/de-de/install/","install",{"text":211,"config":212},"Kurzanleitungen",{"href":213,"dataGaName":214,"dataGaLocation":48},"/de-de/get-started/","quick setup checklists",{"text":216,"config":217},"Lernen",{"href":218,"dataGaLocation":48,"dataGaName":219},"https://university.gitlab.com/","learn",{"text":221,"config":222},"Produktdokumentation",{"href":223,"dataGaName":224,"dataGaLocation":48},"https://docs.gitlab.com/","product documentation",{"text":226,"config":227},"Best-Practice-Videos",{"href":228,"dataGaName":229,"dataGaLocation":48},"/de-de/getting-started-videos/","best practice videos",{"text":231,"config":232},"Integrationen",{"href":233,"dataGaName":234,"dataGaLocation":48},"/de-de/integrations/","integrations",{"title":236,"items":237},"Entdecken",[238,243,248],{"text":239,"config":240},"Kundenerfolge",{"href":241,"dataGaName":242,"dataGaLocation":48},"/de-de/customers/","customer success stories",{"text":244,"config":245},"Blog",{"href":246,"dataGaName":247,"dataGaLocation":48},"/de-de/blog/","blog",{"text":249,"config":250},"Remote",{"href":251,"dataGaName":252,"dataGaLocation":48},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":254,"items":255},"Vernetzen",[256,261,266,271,276],{"text":257,"config":258},"GitLab Services",{"href":259,"dataGaName":260,"dataGaLocation":48},"/de-de/services/","services",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":48},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":48},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Veranstaltungen",{"href":274,"dataGaName":275,"dataGaLocation":48},"/events/","events",{"text":277,"config":278},"Partner",{"href":279,"dataGaName":280,"dataGaLocation":48},"/de-de/partners/","partners",{"background":282,"textColor":283,"text":284,"image":285,"link":289},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":286,"config":287},"The Source Promo-Karte",{"src":288},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":290,"config":291},"Aktuelles",{"href":292,"dataGaName":293,"dataGaLocation":48},"/de-de/the-source/","the source",{"text":295,"config":296,"lists":298},"Unternehmen",{"dataNavLevelOne":297},"company",[299],{"items":300},[301,306,312,314,319,324,329,334,339,344,349],{"text":302,"config":303},"Über",{"href":304,"dataGaName":305,"dataGaLocation":48},"/de-de/company/","about",{"text":307,"config":308,"footerGa":311},"Karriere",{"href":309,"dataGaName":310,"dataGaLocation":48},"/jobs/","jobs",{"dataGaName":310},{"text":272,"config":313},{"href":274,"dataGaName":275,"dataGaLocation":48},{"text":315,"config":316},"Geschäftsführung",{"href":317,"dataGaName":318,"dataGaLocation":48},"/company/team/e-group/","leadership",{"text":320,"config":321},"Team",{"href":322,"dataGaName":323,"dataGaLocation":48},"/company/team/","team",{"text":325,"config":326},"Handbuch",{"href":327,"dataGaName":328,"dataGaLocation":48},"https://handbook.gitlab.com/","handbook",{"text":330,"config":331},"Investor Relations",{"href":332,"dataGaName":333,"dataGaLocation":48},"https://ir.gitlab.com/","investor relations",{"text":335,"config":336},"Trust Center",{"href":337,"dataGaName":338,"dataGaLocation":48},"/de-de/security/","trust center",{"text":340,"config":341},"AI Transparency Center",{"href":342,"dataGaName":343,"dataGaLocation":48},"/de-de/ai-transparency-center/","ai transparency center",{"text":345,"config":346},"Newsletter",{"href":347,"dataGaName":348,"dataGaLocation":48},"/company/contact/#contact-forms","newsletter",{"text":350,"config":351},"Presse",{"href":352,"dataGaName":353,"dataGaLocation":48},"/press/","press",{"text":355,"config":356,"lists":357},"Kontakt",{"dataNavLevelOne":297},[358],{"items":359},[360,363,368],{"text":55,"config":361},{"href":57,"dataGaName":362,"dataGaLocation":48},"talk to sales",{"text":364,"config":365},"Support-Portal",{"href":366,"dataGaName":367,"dataGaLocation":48},"https://support.gitlab.com","support portal",{"text":369,"config":370},"Kundenportal",{"href":371,"dataGaName":372,"dataGaLocation":48},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":374,"login":375,"suggestions":382},"Schließen",{"text":376,"link":377},"Um Repositorys und Projekte zu durchsuchen, melde dich an bei",{"text":378,"config":379},"gitlab.com",{"href":62,"dataGaName":380,"dataGaLocation":381},"search login","search",{"text":383,"default":384},"Vorschläge",[385,387,392,394,399,404],{"text":77,"config":386},{"href":82,"dataGaName":77,"dataGaLocation":381},{"text":388,"config":389},"Codevorschläge (KI)",{"href":390,"dataGaName":391,"dataGaLocation":381},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":22,"config":393},{"href":112,"dataGaName":22,"dataGaLocation":381},{"text":395,"config":396},"GitLab auf AWS",{"href":397,"dataGaName":398,"dataGaLocation":381},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":400,"config":401},"GitLab auf Google Cloud",{"href":402,"dataGaName":403,"dataGaLocation":381},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":85,"config":405},{"href":90,"dataGaName":406,"dataGaLocation":381},"Why GitLab?",{"freeTrial":408,"mobileIcon":413,"desktopIcon":418,"secondaryButton":421},{"text":409,"config":410},"Kostenlos testen",{"href":411,"dataGaName":53,"dataGaLocation":412},"https://gitlab.com/-/trials/new/","nav",{"altText":414,"config":415},"GitLab-Symbol",{"src":416,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":414,"config":419},{"src":420,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":203,"config":422},{"href":423,"dataGaName":424,"dataGaLocation":412},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":426,"mobileIcon":430,"desktopIcon":432},{"text":427,"config":428},"Mehr über GitLab Duo erfahren",{"href":82,"dataGaName":429,"dataGaLocation":412},"gitlab duo",{"altText":414,"config":431},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":433},{"src":420,"dataGaName":417,"dataGaLocation":412},{"button":435,"mobileIcon":440,"desktopIcon":442},{"text":436,"config":437},"/Option",{"href":438,"dataGaName":439,"dataGaLocation":412},"#contact","switch",{"altText":414,"config":441},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":443},{"src":444,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":446,"mobileIcon":451,"desktopIcon":453},{"text":447,"config":448},"Zurück zur Preisübersicht",{"href":191,"dataGaName":449,"dataGaLocation":412,"icon":450},"back to pricing","GoBack",{"altText":414,"config":452},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":454},{"src":420,"dataGaName":417,"dataGaLocation":412},{"title":456,"button":457,"config":462},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":458,"config":459},"GitLab Transcend jetzt ansehen",{"href":460,"dataGaName":461,"dataGaLocation":48},"/de-de/events/transcend/virtual/","transcend event",{"layout":463,"icon":464,"disabled":14},"release","AiStar",{"data":466},{"text":467,"source":468,"edit":474,"contribute":479,"config":484,"items":489,"minimal":691},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":469,"config":470},"Quelltext der Seite anzeigen",{"href":471,"dataGaName":472,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":475,"config":476},"Diese Seite bearbeiten",{"href":477,"dataGaName":478,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":480,"config":481},"Beteilige dich",{"href":482,"dataGaName":483,"dataGaLocation":473},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":485,"facebook":486,"youtube":487,"linkedin":488},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[490,535,587,629,656],{"title":189,"links":491,"subMenu":506},[492,496,501],{"text":493,"config":494},"Tarife anzeigen",{"href":191,"dataGaName":495,"dataGaLocation":473},"view plans",{"text":497,"config":498},"Vorteile von Premium",{"href":499,"dataGaName":500,"dataGaLocation":473},"/de-de/pricing/premium/","why premium",{"text":502,"config":503},"Vorteile von Ultimate",{"href":504,"dataGaName":505,"dataGaLocation":473},"/de-de/pricing/ultimate/","why ultimate",[507],{"title":355,"links":508},[509,511,513,515,520,525,530],{"text":55,"config":510},{"href":57,"dataGaName":58,"dataGaLocation":473},{"text":364,"config":512},{"href":366,"dataGaName":367,"dataGaLocation":473},{"text":369,"config":514},{"href":371,"dataGaName":372,"dataGaLocation":473},{"text":516,"config":517},"Status",{"href":518,"dataGaName":519,"dataGaLocation":473},"https://status.gitlab.com/","status",{"text":521,"config":522},"Nutzungsbedingungen",{"href":523,"dataGaName":524,"dataGaLocation":473},"/terms/","terms of use",{"text":526,"config":527},"Datenschutzerklärung",{"href":528,"dataGaName":529,"dataGaLocation":473},"/de-de/privacy/","privacy statement",{"text":531,"config":532},"Cookie-Einstellungen",{"dataGaName":533,"dataGaLocation":473,"id":534,"isOneTrustButton":14},"cookie preferences","ot-sdk-btn",{"title":93,"links":536,"subMenu":545},[537,541],{"text":538,"config":539},"DevSecOps-Plattform",{"href":75,"dataGaName":540,"dataGaLocation":473},"devsecops platform",{"text":542,"config":543},"KI-unterstützte Entwicklung",{"href":82,"dataGaName":544,"dataGaLocation":473},"ai-assisted development",[546],{"title":547,"links":548},"Themen",[549,552,557,562,567,572,577,582],{"text":22,"config":550},{"href":551,"dataGaName":38,"dataGaLocation":473},"/de-de/topics/ci-cd/",{"text":553,"config":554},"GitOps",{"href":555,"dataGaName":556,"dataGaLocation":473},"/de-de/topics/gitops/","gitops",{"text":558,"config":559},"DevOps",{"href":560,"dataGaName":561,"dataGaLocation":473},"/de-de/topics/devops/","devops",{"text":563,"config":564},"Versionskontrolle",{"href":565,"dataGaName":566,"dataGaLocation":473},"/de-de/topics/version-control/","version control",{"text":568,"config":569},"DevSecOps",{"href":570,"dataGaName":571,"dataGaLocation":473},"/de-de/topics/devsecops/","devsecops",{"text":573,"config":574},"Cloud-nativ",{"href":575,"dataGaName":576,"dataGaLocation":473},"/de-de/topics/cloud-native/","cloud native",{"text":578,"config":579},"KI für das Programmieren",{"href":580,"dataGaName":581,"dataGaLocation":473},"/de-de/topics/devops/ai-for-coding/","ai for coding",{"text":583,"config":584},"Agentische KI",{"href":585,"dataGaName":586,"dataGaLocation":473},"/de-de/topics/agentic-ai/","agentic ai",{"title":588,"links":589},"Lösungen",[590,593,595,600,604,607,610,613,615,617,619,624],{"text":135,"config":591},{"href":130,"dataGaName":592,"dataGaLocation":473},"Application Security Testing",{"text":122,"config":594},{"href":107,"dataGaName":108,"dataGaLocation":473},{"text":596,"config":597},"Agile Entwicklung",{"href":598,"dataGaName":599,"dataGaLocation":473},"/de-de/solutions/agile-delivery/","agile delivery",{"text":601,"config":602},"SCM",{"href":119,"dataGaName":603,"dataGaLocation":473},"source code management",{"text":22,"config":605},{"href":112,"dataGaName":606,"dataGaLocation":473},"continuous integration & delivery",{"text":161,"config":608},{"href":163,"dataGaName":609,"dataGaLocation":473},"value stream management",{"text":553,"config":611},{"href":612,"dataGaName":556,"dataGaLocation":473},"/de-de/solutions/gitops/",{"text":174,"config":614},{"href":176,"dataGaName":177,"dataGaLocation":473},{"text":179,"config":616},{"href":181,"dataGaName":182,"dataGaLocation":473},{"text":184,"config":618},{"href":186,"dataGaName":187,"dataGaLocation":473},{"text":620,"config":621},"Bildungswesen",{"href":622,"dataGaName":623,"dataGaLocation":473},"/de-de/solutions/education/","education",{"text":625,"config":626},"Finanzdienstleistungen",{"href":627,"dataGaName":628,"dataGaLocation":473},"/de-de/solutions/finance/","financial services",{"title":194,"links":630},[631,633,635,637,640,642,644,646,648,650,652,654],{"text":206,"config":632},{"href":208,"dataGaName":209,"dataGaLocation":473},{"text":211,"config":634},{"href":213,"dataGaName":214,"dataGaLocation":473},{"text":216,"config":636},{"href":218,"dataGaName":219,"dataGaLocation":473},{"text":221,"config":638},{"href":223,"dataGaName":639,"dataGaLocation":473},"docs",{"text":244,"config":641},{"href":246,"dataGaName":247,"dataGaLocation":473},{"text":239,"config":643},{"href":241,"dataGaName":242,"dataGaLocation":473},{"text":249,"config":645},{"href":251,"dataGaName":252,"dataGaLocation":473},{"text":257,"config":647},{"href":259,"dataGaName":260,"dataGaLocation":473},{"text":262,"config":649},{"href":264,"dataGaName":265,"dataGaLocation":473},{"text":267,"config":651},{"href":269,"dataGaName":270,"dataGaLocation":473},{"text":272,"config":653},{"href":274,"dataGaName":275,"dataGaLocation":473},{"text":277,"config":655},{"href":279,"dataGaName":280,"dataGaLocation":473},{"title":295,"links":657},[658,660,662,664,666,668,670,675,680,682,684,686],{"text":302,"config":659},{"href":304,"dataGaName":297,"dataGaLocation":473},{"text":307,"config":661},{"href":309,"dataGaName":310,"dataGaLocation":473},{"text":315,"config":663},{"href":317,"dataGaName":318,"dataGaLocation":473},{"text":320,"config":665},{"href":322,"dataGaName":323,"dataGaLocation":473},{"text":325,"config":667},{"href":327,"dataGaName":328,"dataGaLocation":473},{"text":330,"config":669},{"href":332,"dataGaName":333,"dataGaLocation":473},{"text":671,"config":672},"Nachhaltigkeit",{"href":673,"dataGaName":674,"dataGaLocation":473},"/sustainability/","Sustainability",{"text":676,"config":677},"Vielfalt, Inklusion und Zugehörigkeit",{"href":678,"dataGaName":679,"dataGaLocation":473},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":335,"config":681},{"href":337,"dataGaName":338,"dataGaLocation":473},{"text":345,"config":683},{"href":347,"dataGaName":348,"dataGaLocation":473},{"text":350,"config":685},{"href":352,"dataGaName":353,"dataGaLocation":473},{"text":687,"config":688},"Transparenzerklärung zu moderner Sklaverei",{"href":689,"dataGaName":690,"dataGaLocation":473},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":692},[693,695,698],{"text":521,"config":694},{"href":523,"dataGaName":524,"dataGaLocation":473},{"text":696,"config":697},"Cookies",{"dataGaName":533,"dataGaLocation":473,"id":534,"isOneTrustButton":14},{"text":526,"config":699},{"href":528,"dataGaName":529,"dataGaLocation":473},[701],{"id":702,"title":9,"body":27,"config":703,"content":705,"description":27,"extension":26,"meta":709,"navigation":14,"path":710,"seo":711,"stem":712,"__hash__":713},"blogAuthors/en-us/blog/authors/tim-rizzi.yml",{"template":704},"BlogAuthor",{"name":9,"config":706},{"headshot":707,"ctfId":708},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661866/Blog/Author%20Headshots/trizzi-headshot.jpg","trizzi",{},"/en-us/blog/authors/tim-rizzi",{},"en-us/blog/authors/tim-rizzi","ADPqrpcnKveFJS0m_zFV0VLtb_h_txu59QVgz_YwKMc",[715,728,741],{"content":716,"config":726},{"title":717,"description":718,"heroImage":719,"authors":720,"date":722,"body":723,"category":11,"tags":724},"curl aus Omnibus-GitLab FIPS-Paketen in 19.0 entfernt","Ab Omnibus-GitLab 19.0 bündelt GitLab curl in FIPS-Paketen nicht mehr. Stattdessen wird curl der Linux-Distribution verwendet. Was das bedeutet.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png",[721],"Adam Chu","2026-04-24","Ab Omnibus-GitLab 19.0 (und dem nachfolgenden Patch-Release für bestehende\nunterstützte Versionen) enthalten FIPS-Pakete keine von GitLab gebaute Version\nvon curl mehr. Stattdessen wird das curl-Paket der Linux-Distribution des\nKunden verwendet – analog zur bestehenden Praxis, bei der FIPS-Pakete bereits\ndas OpenSSL der Distribution nutzen.\n\n## Warum wird diese Änderung vorgenommen?\n\nDiese Änderung ist notwendig, weil curl 8.18.0 die Kompilierung gegen\nOpenSSL 1.x als veraltet markiert hat. Das verhindert die Fortführung des\nbisherigen Ansatzes auf Amazon Linux 2 und AlmaLinux 8 (betrifft\nRHEL-8-Kunden). GitLab stellt die meisten Abhängigkeiten für Omnibus-GitLab\nselbst bereit, verknüpft in FIPS-Paketen jedoch mit den kryptografischen\nBibliotheken der Distribution statt eigene zu bündeln – dieses Modell wird\nnun auf curl ausgeweitet.\n\nAus Gründen der Wartbarkeit und Sicherheit wird diese Änderung auf alle\nFIPS-Pakete angewendet, einschließlich Distributionen mit OpenSSL 3.0 oder\nhöher. Alle FIPS-Kunden sind betroffen.\n\n## Was ist zu tun?\n\n### GitLab Self-Managed\n\nGitLab 19.0 wird ab dem 21. Mai 2026 verfügbar sein.\n\n> Weitere Informationen zum [Release-Zeitplan](https://about.gitlab.com/releases/).\n\nAb dem 19.0 Omnibus-GitLab FIPS-Paket wird das gebündelte curl entfernt und\ndurch das curl der Linux-Distribution des Kunden ersetzt. Die GitLab-Instanz\ndes Kunden funktioniert weiterhin wie erwartet. Diese Änderung hat keine\nweiteren Auswirkungen und erfordert keine sofortigen Maßnahmen.\n\n## Wichtiger Hinweis\n\nGitLab ist künftig nicht mehr für die Bereitstellung von Sicherheitsupdates\nfür curl in FIPS-Paketen verantwortlich. Es obliegt dem Kunden, das curl des\neigenen Betriebssystems aktuell zu halten, um Fixes und Sicherheits-Patches\nzu erhalten. Scanner-Findings für curl spiegeln künftig das Host-OS-Paket\nwider und nicht mehr eine von GitLab gebündelte Version. Dies entspricht der\nbestehenden Handhabung von OpenSSL in FIPS-Umgebungen.\n\n## Probleme nach der Umstellung?\n\nBei Bedarf bitte ein Issue im\n[Omnibus-GitLab Issue Tracker](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/new?issue&issuable_template=Bug)\nöffnen.\n",[725],"product",{"featured":32,"template":15,"slug":727},"curl-removed-from-omnibus-gitlab-fips-packages-in-19-0",{"content":729,"config":739},{"title":730,"description":731,"authors":732,"heroImage":734,"date":735,"body":736,"category":11,"tags":737},"Claude Opus 4.7 ist jetzt in GitLab Duo Agent Platform verfügbar","Claude Opus 4.7 steht in GitLab Duo Agent Platform bereit – mit präziserer Ausführung und stabilerem Reasoning für komplexe Agenten-Workflows.",[733],"Rebecca Carter","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776174711/ksndibz6sgj1umx5cjsj.png","2026-04-17","\nDie [GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/) unterstützt jetzt [Claude Opus 4.7](https://www.anthropic.com/news/claude-opus-4-7), das neueste Modell von Anthropic – verfügbar über die Modellauswahl im [Agentic Chat](https://docs.gitlab.com/user/duo_agent_platform/context/#gitlab-duo-agentic-chat) und in agentengesteuerten Workflows in der GitLab-Instanz.\n\n\nFür Teams, die Agenten über den gesamten Software-Delivery-Lebenszyklus einsetzen, verbessert Opus 4.7 die Leistung bei komplexen, mehrstufigen Aufgaben – solchen, die anhaltendes Reasoning, präzise Ausführung von Anweisungen und die Fähigkeit erfordern, Ergebnisse vor der Ausgabe selbst zu validieren.\n\n\n## Stärkeres Reasoning in allen Agenten-Workflows\n\n\nDer wesentliche Fortschritt liegt in der Verarbeitung komplexer, lang laufender Aufgaben. Interne Evaluierungen bei GitLab zeigen verbesserte Leistungswerte gegenüber Sonnet 4.6 und Opus 4.6. Das wirkt sich direkt auf Agenten aus, die über CI/CD-Pipelines, Code-Reviews, Vulnerability-Resolution und andere Multi-Tool-Workflows arbeiten – überall dort, wo sich Fehler kumulativ auswirken.\n\n\nTeams mit etablierten Agenten-Workflows sollten beachten, dass Opus 4.7 Anweisungen präziser interpretiert als frühere Modelle. Das führt zu einer zuverlässigeren Ausführung komplexer, bedingter Aufgaben. Agenten, die mehrstufige Remediierungs-Sequenzen abarbeiten, schließen jeden Schritt wie spezifiziert ab – mit nachvollziehbareren, revisionssicheren Ergebnissen.\n\n\n## Agenten halten den Workflow von Code bis zur Produktion am Laufen\n\n\nAgenten, die in jede Phase des Software-Entwicklungszyklus eingebettet sind, sollen dafür sorgen, dass Arbeit nicht mehr auf manuelle Weitergabe wartet. Opus 4.7 macht diesen Ansatz in der Praxis zuverlässiger.\n\n\nBei der Code-Generierung und Test-Erstellung profitieren Agenten von der Fähigkeit von Opus 4.7, Ergebnisse vor der Ausgabe selbst zu validieren. Weniger Korrekturrunden, schnellere Iteration, weniger Unterbrechungen für Entwicklungsteams. In Security- und Vulnerability-Workflows sorgt die präzisere Ausführung von Anweisungen dafür, dass Agenten mehrstufige Remediierungs-Sequenzen wie definiert abschließen – ohne Korrekturbedarf zwischendurch.\n\n\nIn CI/CD-Umgebungen, wo Pipeline-Fehler zu teamweiten Blockern werden können, kommt die Kontextstabilität von Opus 4.7 besonders zum Tragen. Agenten, die Fehler untersuchen, Logs analysieren und Fixes vorschlagen, arbeiten diese Sequenz kohärent ab – ohne Kontextverlust in der Mitte eines Durchlaufs. Probleme werden gelöst statt eskaliert.\n\nGitLab Duo Agent Platform verbindet diese Phasen konzeptionell. Opus 4.7 stärkt die Intelligenzschicht, die über alle Phasen hinwegläuft – sodass Agenten, die Planung, Entwicklung, Security und Deployment koordinieren, an jedem Übergabepunkt auf ein leistungsfähigeres Modell zurückgreifen können.\n\n## Preise und Verfügbarkeit\n\nClaude Opus 4.7 ist jetzt in GitLab Duo Agent Platform über die [Modellauswahl](https://docs.gitlab.com/administration/gitlab_duo/model_selection/) verfügbar. Eine vollständige Liste der verfügbaren Modelle sowie deren jeweiligen Credit-Verbrauch findet sich in der [Dokumentation](https://docs.gitlab.com/subscriptions/gitlab_credits/#models).\n\nEin kostenloser Test von GitLab Duo Agent Platform ist ab sofort möglich. Wer GitLab bereits im Free-Tarif nutzt, kann sich für Duo Agent Platform [in wenigen Schritten anmelden](https://docs.gitlab.com/subscriptions/gitlab_credits/#for-the-free-tier-on-gitlabcom).\n\nBestehende GitLab-Premium- oder Ultimate-Abonnenten können Duo Agent Platform direkt [aktivieren](https://docs.gitlab.com/user/duo_agent_platform/turn_on_off/) und die in ihrem Abonnement [enthaltenen GitLab Credits](https://docs.gitlab.com/subscriptions/gitlab_credits/#included-credits) nutzen.\n\n\n*Dieser Blogbeitrag enthält \"zukunftsgerichtete Aussagen\" im Sinne von Section 27A des Securities Act von 1933 in der geänderten Fassung und Section 21E des Securities Exchange Act von 1934. Obwohl wir glauben, dass die in diesen Aussagen widergespiegelten Erwartungen angemessen sind, unterliegen sie bekannten und unbekannten Risiken, Unsicherheiten, Annahmen und anderen Faktoren, die dazu führen können, dass die tatsächlichen Ergebnisse oder Resultate wesentlich abweichen. Weitere Informationen zu diesen Risiken und anderen Faktoren finden sich unter der Überschrift „Risikofaktoren\" in unseren Einreichungen bei der SEC. Wir verpflichten uns nicht, diese Aussagen nach dem Datum dieses Blogbeitrags zu aktualisieren oder zu überarbeiten, es sei denn, dies ist gesetzlich vorgeschrieben.*\n",[738,725],"AI/ML",{"featured":32,"template":15,"slug":740},"claude-opus-4-7-is-now-available-in-gitlab-duo-agent-platform",{"content":742,"config":752},{"title":743,"description":744,"authors":745,"heroImage":747,"date":748,"body":749,"category":11,"tags":750},"Passkeys jetzt für passwortlosen Login und 2FA bei GitLab verfügbar","Passkey für das eigene Konto registrieren und Zwei-Faktor-Authentifizierung als Phishing-resistente Methode nutzen.",[746],"GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772029801/qk75nu1eezxa6aiefpup.png","2026-02-25","Passkeys sind ab sofort bei GitLab verfügbar und bieten eine sichere Möglichkeit, auf das eigene Konto zuzugreifen. Passkeys können für den passwortlosen Login oder als Phishing-resistente Zwei-Faktor-Authentifizierung (2FA) verwendet werden. Die Authentifizierung erfolgt über den Fingerabdruck, die Gesichtserkennung oder die PIN des Geräts. Bei Konten mit aktivierter 2FA werden Passkeys automatisch als Standard-2FA-Methode eingerichtet.\n\n\u003Cfigure class=\"video_container\">\n\n\u003Ciframe src=\"https://www.youtube.com/embed/LN5MGRdTHR8?si=OOebJZzN3LkSmzNv\" title=\"Passwordless authentication using passkeys\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\n\u003C/figure>\n\nUm einen Passkey zu registrieren, in den Profileinstellungen **Konto > Authentifizierung verwalten** aufrufen.\n\nPasskeys basieren auf WebAuthn-Technologie und Public-Key-Kryptographie, bestehend aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel verbleibt sicher auf dem Gerät und verlässt es nie, während der öffentliche Schlüssel bei GitLab gespeichert wird. Selbst bei einer Kompromittierung von GitLab können Angreifer die gespeicherten Zugangsdaten nicht nutzen, um auf das Konto zuzugreifen. Passkeys funktionieren in Desktop-Browsern (Chrome, Firefox, Safari, Edge), auf Mobilgeräten (iOS 16+, Android 9+) und mit FIDO2-Hardware-Sicherheitsschlüsseln. Mehrere Passkeys lassen sich geräteübergreifend registrieren.\n\n![Passkeys-Anmeldung mit Zwei-Faktor-Authentifizierung](https://res.cloudinary.com/about-gitlab-com/image/upload/v1767807931/n652nkgvna1rsymlfzpi.png)\n\nGitLab hat das [CISA Secure by Design Pledge](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) unterzeichnet und sich damit verpflichtet, die eigene Sicherheitslage zu verbessern und Kunden bei der Entwicklung sicherer Software zu unterstützen. Ein zentrales Ziel des Pledges ist die verstärkte Nutzung von [Multi-Faktor-Authentifizierung (MFA)](https://about.gitlab.com/de-de/blog/last-year-we-signed-the-secure-by-design-pledge-heres-our-progress/) in den eigenen Produkten. Passkeys sind ein wesentlicher Bestandteil dieses Ziels und bieten eine Phishing-resistente MFA-Methode, die die Anmeldung bei GitLab sicherer macht.\n\nBei Fragen, Erfahrungsberichten oder Verbesserungsvorschlägen steht das [Feedback-Issue](https://gitlab.com/gitlab-org/gitlab/-/work_items/366758) zur Verfügung.\n",[751,725],"security",{"featured":32,"template":15,"slug":753},"passkeys-now-available-for-passwordless-sign-in-and-2fa-on-gitlab",{"promotions":755},[756,770,781,792],{"id":757,"categories":758,"header":760,"text":761,"button":762,"image":767},"ai-modernization",[759],"ai-ml","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":763,"config":764},"Get your AI maturity score",{"href":765,"dataGaName":766,"dataGaLocation":247},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":768},{"src":769},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":771,"categories":772,"header":773,"text":761,"button":774,"image":778},"devops-modernization",[725,571],"Are you just managing tools or shipping innovation?",{"text":775,"config":776},"Get your DevOps maturity score",{"href":777,"dataGaName":766,"dataGaLocation":247},"/assessments/devops-modernization-assessment/",{"config":779},{"src":780},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":782,"categories":783,"header":784,"text":761,"button":785,"image":789},"security-modernization",[751],"Are you trading speed for security?",{"text":786,"config":787},"Get your security maturity score",{"href":788,"dataGaName":766,"dataGaLocation":247},"/assessments/security-modernization-assessment/",{"config":790},{"src":791},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":793,"paths":794,"header":797,"text":798,"button":799,"image":804},"github-azure-migration",[795,796],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":800,"config":801},"See how GitLab compares to GitHub",{"href":802,"dataGaName":803,"dataGaLocation":247},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":805},{"src":780},{"header":807,"blurb":808,"button":809,"secondaryButton":814},"Beginne noch heute, schneller zu entwickeln","Entdecke, was dein Team mit der intelligenten Orchestrierungsplattform für DevSecOps erreichen kann.\n",{"text":810,"config":811},"Kostenlosen Test starten",{"href":812,"dataGaName":53,"dataGaLocation":813},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/de-de/","feature",{"text":55,"config":815},{"href":57,"dataGaName":58,"dataGaLocation":813},1777493581156]