[{"data":1,"prerenderedAt":698},["ShallowReactive",2],{"/de-de/blog/categories/devsecops":3,"navigation-de-de":21,"banner-de-de":424,"footer-de-de":434,"devsecops-category-page-total-items-de-de":639,"devsecops-category-page-featured-de-de":640,"devsecops-category-page-2-de-de":670},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":11,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"slug":6,"stem":19,"testContent":6,"type":6,"__hash__":20},"blogCategories/de-de/blog/categories/devsecops.yml","Devsecops",null,{"template":8,"slug":9,"hide":10},"BlogCategory","devsecops",false,{"name":12},"DevSecOps","yml",{},true,"/de-de/blog/categories/devsecops",{"title":12,"description":18},"Browse articles related to DevSecOps on the GitLab Blog","de-de/blog/categories/devsecops","-VYAbxDp8VgKNnix343UzZtmmsJMwVyVWyhmpemBm0U",{"data":22},{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":352,"minimal":387,"duo":405,"pricingDeployment":414},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/de-de/","gitlab logo","header",{"text":29,"config":30},"Kostenlose Testversion anfordern",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Vertrieb kontaktieren",{"href":36,"dataGaName":37,"dataGaLocation":27},"/de-de/sales/","sales",{"text":39,"config":40},"Anmelden",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,71,167,172,273,333],{"text":45,"config":46,"cards":48},"Plattform",{"dataNavLevelOne":47},"platform",[49,55,63],{"title":45,"description":50,"link":51},"Die intelligente Orchestrierungsplattform für DevSecOps",{"text":52,"config":53},"Erkunde unsere Plattform",{"href":54,"dataGaName":47,"dataGaLocation":27},"/de-de/platform/",{"title":56,"description":57,"link":58},"GitLab Duo Agent Platform","Agentische KI für den gesamten Softwareentwicklungszyklus",{"text":59,"config":60},"Lerne GitLab Duo kennen",{"href":61,"dataGaName":62,"dataGaLocation":27},"/de-de/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":64,"description":65,"link":66},"Gründe, die für GitLab sprechen","Erfahre, warum Unternehmen auf GitLab setzen",{"text":67,"config":68},"Mehr erfahren",{"href":69,"dataGaName":70,"dataGaLocation":27},"/de-de/why-gitlab/","why gitlab",{"text":72,"left":15,"config":73,"link":75,"lists":79,"footer":149},"Produkt",{"dataNavLevelOne":74},"solutions",{"text":76,"config":77},"Alle Lösungen anzeigen",{"href":78,"dataGaName":74,"dataGaLocation":27},"/de-de/solutions/",[80,105,127],{"title":81,"description":82,"link":83,"items":88},"Automatisierung","CI/CD und Automatisierung zur Beschleunigung der Bereitstellung",{"config":84},{"icon":85,"href":86,"dataGaName":87,"dataGaLocation":27},"AutomatedCodeAlt","/de-de/solutions/delivery-automation/","automated software delivery",[89,93,96,101],{"text":90,"config":91},"CI/CD",{"href":92,"dataGaLocation":27,"dataGaName":90},"/de-de/solutions/continuous-integration/",{"text":56,"config":94},{"href":61,"dataGaLocation":27,"dataGaName":95},"gitlab duo agent platform - product menu",{"text":97,"config":98},"Quellcodeverwaltung",{"href":99,"dataGaLocation":27,"dataGaName":100},"/de-de/solutions/source-code-management/","Source Code Management",{"text":102,"config":103},"Automatisierte Softwarebereitstellung",{"href":86,"dataGaLocation":27,"dataGaName":104},"Automated software delivery",{"title":106,"description":107,"link":108,"items":113},"Sicherheit","Entwickle schneller, ohne die Sicherheit zu gefährden",{"config":109},{"href":110,"dataGaName":111,"dataGaLocation":27,"icon":112},"/de-de/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[114,118,123],{"text":115,"config":116},"Application Security Testing",{"href":110,"dataGaName":117,"dataGaLocation":27},"Application security testing",{"text":119,"config":120},"Schutz der Software-Lieferkette",{"href":121,"dataGaLocation":27,"dataGaName":122},"/de-de/solutions/supply-chain/","Software supply chain security",{"text":124,"config":125},"Software Compliance",{"href":126,"dataGaName":124,"dataGaLocation":27},"/de-de/solutions/software-compliance/",{"title":128,"link":129,"items":134},"Bewertung",{"config":130},{"icon":131,"href":132,"dataGaName":133,"dataGaLocation":27},"DigitalTransformation","/de-de/solutions/visibility-measurement/","visibility and measurement",[135,139,144],{"text":136,"config":137},"Sichtbarkeit und Bewertung",{"href":132,"dataGaLocation":27,"dataGaName":138},"Visibility and Measurement",{"text":140,"config":141},"Wertstrommanagement",{"href":142,"dataGaLocation":27,"dataGaName":143},"/de-de/solutions/value-stream-management/","Value Stream Management",{"text":145,"config":146},"Analysen und Einblicke",{"href":147,"dataGaLocation":27,"dataGaName":148},"/de-de/solutions/analytics-and-insights/","Analytics and insights",{"title":150,"items":151},"GitLab für",[152,157,162],{"text":153,"config":154},"Enterprise",{"href":155,"dataGaLocation":27,"dataGaName":156},"/de-de/enterprise/","enterprise",{"text":158,"config":159},"Kleinunternehmen",{"href":160,"dataGaLocation":27,"dataGaName":161},"/de-de/small-business/","small business",{"text":163,"config":164},"den öffentlichen Sektor",{"href":165,"dataGaLocation":27,"dataGaName":166},"/de-de/solutions/public-sector/","public sector",{"text":168,"config":169},"Preise",{"href":170,"dataGaName":171,"dataGaLocation":27,"dataNavLevelOne":171},"/de-de/pricing/","pricing",{"text":173,"config":174,"link":176,"lists":180,"feature":260},"Ressourcen",{"dataNavLevelOne":175},"resources",{"text":177,"config":178},"Alle Ressourcen anzeigen",{"href":179,"dataGaName":175,"dataGaLocation":27},"/de-de/resources/",[181,214,232],{"title":182,"items":183},"Erste Schritte",[184,189,194,199,204,209],{"text":185,"config":186},"Installieren",{"href":187,"dataGaName":188,"dataGaLocation":27},"/de-de/install/","install",{"text":190,"config":191},"Kurzanleitungen",{"href":192,"dataGaName":193,"dataGaLocation":27},"/de-de/get-started/","quick setup checklists",{"text":195,"config":196},"Lernen",{"href":197,"dataGaLocation":27,"dataGaName":198},"https://university.gitlab.com/","learn",{"text":200,"config":201},"Produktdokumentation",{"href":202,"dataGaName":203,"dataGaLocation":27},"https://docs.gitlab.com/","product documentation",{"text":205,"config":206},"Best-Practice-Videos",{"href":207,"dataGaName":208,"dataGaLocation":27},"/de-de/getting-started-videos/","best practice videos",{"text":210,"config":211},"Integrationen",{"href":212,"dataGaName":213,"dataGaLocation":27},"/de-de/integrations/","integrations",{"title":215,"items":216},"Entdecken",[217,222,227],{"text":218,"config":219},"Kundenerfolge",{"href":220,"dataGaName":221,"dataGaLocation":27},"/de-de/customers/","customer success stories",{"text":223,"config":224},"Blog",{"href":225,"dataGaName":226,"dataGaLocation":27},"/de-de/blog/","blog",{"text":228,"config":229},"Remote",{"href":230,"dataGaName":231,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":233,"items":234},"Vernetzen",[235,240,245,250,255],{"text":236,"config":237},"GitLab-Services",{"href":238,"dataGaName":239,"dataGaLocation":27},"/de-de/services/","services",{"text":241,"config":242},"Community",{"href":243,"dataGaName":244,"dataGaLocation":27},"/community/","community",{"text":246,"config":247},"Forum",{"href":248,"dataGaName":249,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":251,"config":252},"Veranstaltungen",{"href":253,"dataGaName":254,"dataGaLocation":27},"/events/","events",{"text":256,"config":257},"Partner",{"href":258,"dataGaName":259,"dataGaLocation":27},"/de-de/partners/","partners",{"backgroundColor":261,"textColor":262,"text":263,"image":264,"link":268},"#2f2a6b","#fff","Perspektiven für die Softwareentwicklung der Zukunft",{"altText":265,"config":266},"the source promo card",{"src":267},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":269,"config":270},"Lies die News",{"href":271,"dataGaName":272,"dataGaLocation":27},"/de-de/the-source/","the source",{"text":274,"config":275,"lists":277},"Unternehmen",{"dataNavLevelOne":276},"company",[278],{"items":279},[280,285,291,293,298,303,308,313,318,323,328],{"text":281,"config":282},"Über",{"href":283,"dataGaName":284,"dataGaLocation":27},"/de-de/company/","about",{"text":286,"config":287,"footerGa":290},"Karriere",{"href":288,"dataGaName":289,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":289},{"text":251,"config":292},{"href":253,"dataGaName":254,"dataGaLocation":27},{"text":294,"config":295},"Geschäftsführung",{"href":296,"dataGaName":297,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":299,"config":300},"Team",{"href":301,"dataGaName":302,"dataGaLocation":27},"/company/team/","team",{"text":304,"config":305},"Handbuch",{"href":306,"dataGaName":307,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":309,"config":310},"Investor Relations",{"href":311,"dataGaName":312,"dataGaLocation":27},"https://ir.gitlab.com/","investor relations",{"text":314,"config":315},"Trust Center",{"href":316,"dataGaName":317,"dataGaLocation":27},"/de-de/security/","trust center",{"text":319,"config":320},"AI Transparency Center",{"href":321,"dataGaName":322,"dataGaLocation":27},"/de-de/ai-transparency-center/","ai transparency center",{"text":324,"config":325},"Newsletter",{"href":326,"dataGaName":327,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":329,"config":330},"Presse",{"href":331,"dataGaName":332,"dataGaLocation":27},"/press/","press",{"text":334,"config":335,"lists":336},"Kontakt",{"dataNavLevelOne":276},[337],{"items":338},[339,342,347],{"text":34,"config":340},{"href":36,"dataGaName":341,"dataGaLocation":27},"talk to sales",{"text":343,"config":344},"Support-Portal",{"href":345,"dataGaName":346,"dataGaLocation":27},"https://support.gitlab.com","support portal",{"text":348,"config":349},"Kundenportal",{"href":350,"dataGaName":351,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":353,"login":354,"suggestions":361},"Schließen",{"text":355,"link":356},"Um Repositories und Projekte zu durchsuchen, melde dich an bei",{"text":357,"config":358},"gitlab.com",{"href":41,"dataGaName":359,"dataGaLocation":360},"search login","search",{"text":362,"default":363},"Vorschläge",[364,366,371,373,378,383],{"text":56,"config":365},{"href":61,"dataGaName":56,"dataGaLocation":360},{"text":367,"config":368},"Code Suggestions (KI)",{"href":369,"dataGaName":370,"dataGaLocation":360},"/de-de/solutions/code-suggestions/","Code Suggestions (AI)",{"text":90,"config":372},{"href":92,"dataGaName":90,"dataGaLocation":360},{"text":374,"config":375},"GitLab auf AWS",{"href":376,"dataGaName":377,"dataGaLocation":360},"/de-de/partners/technology-partners/aws/","GitLab on AWS",{"text":379,"config":380},"GitLab auf Google Cloud",{"href":381,"dataGaName":382,"dataGaLocation":360},"/de-de/partners/technology-partners/google-cloud-platform/","GitLab on Google Cloud",{"text":384,"config":385},"Warum GitLab?",{"href":69,"dataGaName":386,"dataGaLocation":360},"Why GitLab?",{"freeTrial":388,"mobileIcon":393,"desktopIcon":398,"secondaryButton":401},{"text":389,"config":390},"Kostenlos testen",{"href":391,"dataGaName":32,"dataGaLocation":392},"https://gitlab.com/-/trials/new/","nav",{"altText":394,"config":395},"GitLab-Symbol",{"src":396,"dataGaName":397,"dataGaLocation":392},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":394,"config":399},{"src":400,"dataGaName":397,"dataGaLocation":392},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":182,"config":402},{"href":403,"dataGaName":404,"dataGaLocation":392},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/de-de/get-started/","get started",{"freeTrial":406,"mobileIcon":410,"desktopIcon":412},{"text":407,"config":408},"Erfahre mehr über GitLab Duo",{"href":61,"dataGaName":409,"dataGaLocation":392},"gitlab duo",{"altText":394,"config":411},{"src":396,"dataGaName":397,"dataGaLocation":392},{"altText":394,"config":413},{"src":400,"dataGaName":397,"dataGaLocation":392},{"freeTrial":415,"mobileIcon":420,"desktopIcon":422},{"text":416,"config":417},"Zurück zur Preisübersicht",{"href":170,"dataGaName":418,"dataGaLocation":392,"icon":419},"back to pricing","GoBack",{"altText":394,"config":421},{"src":396,"dataGaName":397,"dataGaLocation":392},{"altText":394,"config":423},{"src":400,"dataGaName":397,"dataGaLocation":392},{"title":425,"button":426,"config":431},"Sieh dir an, wie agentische KI die Softwarebereitstellung transformiert",{"text":427,"config":428},"GitLab Transcend jetzt ansehen",{"href":429,"dataGaName":430,"dataGaLocation":27},"/de-de/events/transcend/virtual/","transcend event",{"layout":432,"icon":433,"disabled":15},"release","AiStar",{"data":435},{"text":436,"source":437,"edit":443,"contribute":448,"config":453,"items":458,"minimal":631},"Git ist eine Marke von Software Freedom Conservancy und unsere Verwendung von „GitLab“ erfolgt unter Lizenz.",{"text":438,"config":439},"Quelltext der Seite anzeigen",{"href":440,"dataGaName":441,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":444,"config":445},"Diese Seite bearbeiten",{"href":446,"dataGaName":447,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":449,"config":450},"Beteilige dich",{"href":451,"dataGaName":452,"dataGaLocation":442},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":454,"facebook":455,"youtube":456,"linkedin":457},"https://x.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[459,482,537,564,598],{"title":45,"links":460,"subMenu":465},[461],{"text":462,"config":463},"DevSecOps-Plattform",{"href":54,"dataGaName":464,"dataGaLocation":442},"devsecops platform",[466],{"title":168,"links":467},[468,472,477],{"text":469,"config":470},"Tarife anzeigen",{"href":170,"dataGaName":471,"dataGaLocation":442},"view plans",{"text":473,"config":474},"Vorteile von Premium",{"href":475,"dataGaName":476,"dataGaLocation":442},"/de-de/pricing/premium/","why premium",{"text":478,"config":479},"Vorteile von Ultimate",{"href":480,"dataGaName":481,"dataGaLocation":442},"/de-de/pricing/ultimate/","why ultimate",{"title":483,"links":484},"Lösungen",[485,490,493,495,500,505,509,512,515,520,522,524,527,532],{"text":486,"config":487},"Digitale Transformation",{"href":488,"dataGaName":489,"dataGaLocation":442},"/de-de/topics/digital-transformation/","digital transformation",{"text":491,"config":492},"Sicherheit und Compliance",{"href":110,"dataGaName":117,"dataGaLocation":442},{"text":102,"config":494},{"href":86,"dataGaName":87,"dataGaLocation":442},{"text":496,"config":497},"Agile Entwicklung",{"href":498,"dataGaName":499,"dataGaLocation":442},"/de-de/solutions/agile-delivery/","agile delivery",{"text":501,"config":502},"Cloud-Transformation",{"href":503,"dataGaName":504,"dataGaLocation":442},"/de-de/topics/cloud-native/","cloud transformation",{"text":506,"config":507},"SCM",{"href":99,"dataGaName":508,"dataGaLocation":442},"source code management",{"text":90,"config":510},{"href":92,"dataGaName":511,"dataGaLocation":442},"continuous integration & delivery",{"text":140,"config":513},{"href":142,"dataGaName":514,"dataGaLocation":442},"value stream management",{"text":516,"config":517},"GitOps",{"href":518,"dataGaName":519,"dataGaLocation":442},"/de-de/solutions/gitops/","gitops",{"text":153,"config":521},{"href":155,"dataGaName":156,"dataGaLocation":442},{"text":158,"config":523},{"href":160,"dataGaName":161,"dataGaLocation":442},{"text":525,"config":526},"Öffentlicher Sektor",{"href":165,"dataGaName":166,"dataGaLocation":442},{"text":528,"config":529},"Bildungswesen",{"href":530,"dataGaName":531,"dataGaLocation":442},"/de-de/solutions/education/","education",{"text":533,"config":534},"Finanzdienstleistungen",{"href":535,"dataGaName":536,"dataGaLocation":442},"/de-de/solutions/finance/","financial services",{"title":173,"links":538},[539,541,543,545,548,550,552,554,556,558,560,562],{"text":185,"config":540},{"href":187,"dataGaName":188,"dataGaLocation":442},{"text":190,"config":542},{"href":192,"dataGaName":193,"dataGaLocation":442},{"text":195,"config":544},{"href":197,"dataGaName":198,"dataGaLocation":442},{"text":200,"config":546},{"href":202,"dataGaName":547,"dataGaLocation":442},"docs",{"text":223,"config":549},{"href":225,"dataGaName":226,"dataGaLocation":442},{"text":218,"config":551},{"href":220,"dataGaName":221,"dataGaLocation":442},{"text":228,"config":553},{"href":230,"dataGaName":231,"dataGaLocation":442},{"text":236,"config":555},{"href":238,"dataGaName":239,"dataGaLocation":442},{"text":241,"config":557},{"href":243,"dataGaName":244,"dataGaLocation":442},{"text":246,"config":559},{"href":248,"dataGaName":249,"dataGaLocation":442},{"text":251,"config":561},{"href":253,"dataGaName":254,"dataGaLocation":442},{"text":256,"config":563},{"href":258,"dataGaName":259,"dataGaLocation":442},{"title":274,"links":565},[566,568,570,572,574,576,578,582,587,589,591,593],{"text":281,"config":567},{"href":283,"dataGaName":276,"dataGaLocation":442},{"text":286,"config":569},{"href":288,"dataGaName":289,"dataGaLocation":442},{"text":294,"config":571},{"href":296,"dataGaName":297,"dataGaLocation":442},{"text":299,"config":573},{"href":301,"dataGaName":302,"dataGaLocation":442},{"text":304,"config":575},{"href":306,"dataGaName":307,"dataGaLocation":442},{"text":309,"config":577},{"href":311,"dataGaName":312,"dataGaLocation":442},{"text":579,"config":580},"Sustainability",{"href":581,"dataGaName":579,"dataGaLocation":442},"/sustainability/",{"text":583,"config":584},"Vielfalt, Inklusion und Zugehörigkeit",{"href":585,"dataGaName":586,"dataGaLocation":442},"/de-de/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":314,"config":588},{"href":316,"dataGaName":317,"dataGaLocation":442},{"text":324,"config":590},{"href":326,"dataGaName":327,"dataGaLocation":442},{"text":329,"config":592},{"href":331,"dataGaName":332,"dataGaLocation":442},{"text":594,"config":595},"Transparenzerklärung zu moderner Sklaverei",{"href":596,"dataGaName":597,"dataGaLocation":442},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":599,"links":600},"Nimm Kontakt auf",[601,604,609,611,616,621,626],{"text":602,"config":603},"Sprich mit einem Experten/einer Expertin",{"href":36,"dataGaName":37,"dataGaLocation":442},{"text":605,"config":606},"Support",{"href":607,"dataGaName":608,"dataGaLocation":442},"https://support.gitlab.com/hc/en-us/articles/11626483177756-GitLab-Support","get help",{"text":348,"config":610},{"href":350,"dataGaName":351,"dataGaLocation":442},{"text":612,"config":613},"Status",{"href":614,"dataGaName":615,"dataGaLocation":442},"https://status.gitlab.com/","status",{"text":617,"config":618},"Nutzungsbedingungen",{"href":619,"dataGaName":620,"dataGaLocation":442},"/terms/","terms of use",{"text":622,"config":623},"Datenschutzerklärung",{"href":624,"dataGaName":625,"dataGaLocation":442},"/de-de/privacy/","privacy statement",{"text":627,"config":628},"Cookie-Einstellungen",{"dataGaName":629,"dataGaLocation":442,"id":630,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"items":632},[633,635,637],{"text":617,"config":634},{"href":619,"dataGaName":620,"dataGaLocation":442},{"text":622,"config":636},{"href":624,"dataGaName":625,"dataGaLocation":442},{"text":627,"config":638},{"dataGaName":629,"dataGaLocation":442,"id":630,"isOneTrustButton":15},13,{"id":641,"title":642,"authorSlugs":643,"body":6,"categorySlug":9,"config":645,"content":648,"description":6,"extension":13,"isFeatured":10,"meta":660,"navigation":15,"path":661,"publishedDate":654,"seo":662,"stem":665,"tagSlugs":666,"__hash__":669},"blogPosts/de-de/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment.yml","Jenkins Gitlab Ultimate Guide To Modernizing Cicd Environment",[644],"itzik-gan-baruch",{"slug":646,"featured":10,"template":647},"jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment","BlogPost",{"title":649,"description":650,"authors":651,"heroImage":653,"date":654,"body":655,"category":9,"tags":656},"Von Jenkins zu GitLab: Der vollständige Migrationsleitfaden","Schwachstellen in Jenkins-Umgebungen systematisch adressieren – mit GitLab CI als integrierter DevSecOps-Plattform.",[652],"Itzik Gan Baruch","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663000/Blog/Hero%20Images/tanukilifecycle.png","2026-03-15","Jenkins hat sich über mehr als ein Jahrzehnt als Standard-CI-Werkzeug in deutschen Unternehmen etabliert. Viele Organisationen betreiben heute dezentral gewachsene Installationen: mehrere Jenkins-Instanzen mit teambezogenen Konfigurationen, umfangreichen Plugin-Ökosystemen und eigenen Update- und Sicherheitspflegezyklen. Diese Infrastruktur ist produktiv – und entsprechend schwer zu verändern.\n\nGleichzeitig verschieben sich die Anforderungen: Cloud-Kompatibilität, Container-Orchestrierung, integrierte Sicherheitsscans und KI-gestützte Entwicklungswerkzeuge werden zur Grundvoraussetzung moderner CI/CD-Umgebungen. Jenkins liefert diese Fähigkeiten nicht nativ – sie entstehen durch das Zusammensetzen, Warten und Absichern von Plugins. Dabei ist der Aufwand nicht gering: Sicherheitsrelevante Plugin-Aktualisierungen fallen regelmäßig an und binden Entwicklungskapazität, die anderweitig produktiver eingesetzt werden könnte.\n\nDieser Leitfaden beschreibt drei bewährte Migrationsstrategien und einen empfohlenen Schritt-für-Schritt-Prozess – ergänzt durch ein deutsches Praxisbeispiel – für Organisationen, die eine Migration von Jenkins zu GitLab CI evaluieren oder planen.\n\n\n## Warum zu GitLab CI migrieren?\n\nGitLab CI ist integraler Bestandteil der GitLab DevSecOps-Plattform. Die zentralen Unterschiede gegenüber Jenkins:\n\n- **Integrierte Plattform:** Quellcodeverwaltung, Projektmanagement, Sicherheitsscans und Analytics sind ohne zusätzliche Plugins verfügbar – als ein zusammenhängendes System.\n- **Container und Orchestrierung:** Native Unterstützung für Docker und Kubernetes, ohne Plugin-Abhängigkeiten.\n- **Sicherheit im Entwicklungsprozess:** Statische Codeanalyse und Schwachstellen-Scanning sind direkt in die Pipeline integriert – nicht nachgelagert konfiguriert.\n- **GitOps-Prinzipien:** Versionskontrollierte, deklarative Konfigurationen für Infrastruktur und Deployments erhöhen die Reproduzierbarkeit und Nachvollziehbarkeit.\n\nEine Einführung in GitLab CI ist im englischen Originalbeitrag als Video-Tutorial verfügbar.\n\n\n## Die drei Migrationsstrategien\n\nJe nach Ausgangssituation, verfügbaren Ressourcen und Risikobereitschaft bieten sich drei Strategien an.\n\n### Strategie 1: GitLab CI für neue Projekte\n\nBestehende Jenkins-Installationen bleiben unverändert in Betrieb. Neue Projekte starten von Beginn an auf GitLab CI. Teams bauen schrittweise Erfahrung auf, ohne laufende Workflows zu beeinträchtigen.\n\n**Vorteile:** Minimales Migrationsrisiko. Kein Druck zur sofortigen Umstellung. Expertise entsteht organisch.\n\n**Herausforderungen:** Zwei CI/CD-Plattformen parallel zu betreiben erhöht die Koordinationskomplexität – insbesondere bei Integration und plattformübergreifender Zusammenarbeit. Prozess- und Sicherheitskonsistenz erfordert zusätzliche Abstimmung.\n\n### Strategie 2: Strategische Projekte migrieren\n\nProjekte, die am meisten von GitLab CIs Fähigkeiten profitieren, werden zuerst identifiziert und migriert. Statt einer vollständigen Umstellung konzentrieren sich die Ressourcen gezielt auf diese Projekte.\n\n**Vorteile:** Konkrete Verbesserungen in strategisch relevanten Bereichen bei überschaubarem Aufwand. Erfahrungen mit GitLab CI können gesammelt werden, bevor weitere Migrationen folgen.\n\n**Herausforderungen:** Auch die Migration einzelner Projekte erfordert sorgfältige Planung. Die Zusammenarbeit zwischen Projekten auf unterschiedlichen Plattformen bedarf zusätzlicher Koordination.\n\n### Strategie 3: Vollständige Migration\n\nAlle CI/CD-Prozesse, Projekte und Workflows werden auf GitLab CI migriert. Dieser Ansatz strebt Einheitlichkeit und vereinfachte Administration über alle Projekte hinweg an. Empfohlen wird dabei ein iteratives Vorgehen: zunächst neue Projekte, dann strategische Projekte, schließlich die verbleibenden – mit wachsender Erfahrung und Sicherheit in jedem Schritt.\n\n**Vorteile:** Einheitliche CI/CD-Prozesse vereinfachen langfristig Wartung und Administration. Alle Fähigkeiten der GitLab-Plattform – von Infrastructure as Code bis zu integrierten Sicherheitsfunktionen – stehen vollständig zur Verfügung. Skalierbarkeit für wachsende Projektportfolios.\n\n**Herausforderungen:** Eine vollständige Migration erfordert detaillierte Planung und kann laufende Projekte vorübergehend beeinflussen. Budget für Schulungen und Migrationsaufwand ist realistisch einzuplanen.\n\nDie Wahl der Strategie sollte auf den spezifischen Anforderungen, der Ausgangssituation und den verfügbaren Ressourcen der Organisation basieren.\n\n\n## Praxisbeispiel: Deutsche Bahn\n\nDie Deutsche Bahn betreibt eines der größten Hochgeschwindigkeitsbahnnetzwerke Europas und entwickelt mit GitLab die DB-Navigator-App – die wichtigste digitale Schnittstelle für täglich Millionen von Reisenden in Deutschland.\n\nVor der Konsolidierung auf GitLab betrieb die Deutsche Bahn mehrere verteilte Jenkins-Instanzen mit jeweils eigenen Konfigurationen und Plugin-Setups. Das Unternehmen ist dabei, Jenkins vollständig durch GitLab zu ersetzen. „All diese Jenkins-Plugins mussten oft aufgrund von Sicherheitsproblemen aktualisiert werden, und wir mussten jeden Monat Plugin-Upgrades durchführen. Es war sehr zeitaufwendig\", sagt Heiko Maaß, System Engineer bei der Deutschen Bahn. „Diese Aufgaben sind jetzt weg, sodass wir diese Zeit nutzen können, um neue Features zu erstellen, anstatt Jenkins zu warten.\" Der Wartungsaufwand war beträchtlich: Sicherheitsrelevante Plugin-Aktualisierungen fielen monatlich an und banden Kapazität, die in die Entwicklung neuer Funktionen hätte fließen können. Mit der Migration zu GitLab CI entfiel dieser Aufwand. Gleichzeitig vereinfachte GitLabs integrierte Plattform die bis dahin weitgehend manuelle Compliance-Koordination durch automatisierte Prüfprozesse erheblich.\n\nErgebnis: **80 % weniger Zeitaufwand für Pipeline-Wartung**, 10–20 % Infrastrukturkosteneinsparungen, 1 Million Pipeline-Builds pro Monat auf einer konsolidierten Plattform.\n\nDen vollständigen Kundenbericht gibt es hier: [Deutsche Bahn AG – GitLab Kundenstory](https://about.gitlab.com/de-de/customers/deutsche-bahn-ag/)\n\n[GitLab CI kostenlos testen](https://gitlab.com/-/trials/new)\n\n\n---\n\n\n## Technische Umsetzung: Migrationsschritte und Konfiguration\n\n*Dieser Abschnitt richtet sich an Implementierungsteams. Vollständige Video-Tutorials und alle Konfigurationsdetails sind im [englischen Originalbeitrag](https://about.gitlab.com/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment/) verfügbar.*\n\n\n### Empfohlener 6-Schritte-Migrationsprozess\n\nFür eine strukturierte Migration empfiehlt sich folgendes Vorgehen:\n\n1. **Pipeline-Bestandsaufnahme:** Alle bestehenden Jenkins-Pipelines inventarisieren. Umfang und Komplexität der Migration werden damit transparent.\n2. **Parallele Migration:** Einzelne Pipelines schrittweise auf GitLab CI übertragen, während Jenkins für laufende Arbeiten weiter genutzt wird.\n3. **Code-Verifikation:** Beide Pipelines parallel betreiben und die Ergebnisse direkt vergleichen. In dieser Phase ist der GitLab-Workflow optional, Jenkins bleibt verbindlich.\n4. **Kontinuierliche Validierung:** Nach einer vollständigen Iteration die Ergebnisse beider Pipelines auswerten – Statuscodes, Logs, Performance.\n5. **Umstellung auf GitLab CI:** Sobald Vertrauen in GitLab CI aufgebaut ist, wird der GitLab-Workflow zum verbindlichen Standard. Jenkins läuft im Hintergrund weiter.\n6. **Jenkins-Abschaltung:** Nach einer zweiten Iteration, bei nachgewiesener Stabilität von GitLab CI, wird Jenkins schrittweise aus dem Pipeline-Prozess entfernt.\n\nDieser Ansatz stellt sicher, dass Probleme identifiziert und behoben werden, bevor die vollständige Umstellung erfolgt.\n\n\n### Vorbereitung: Schulung und Kommunikation\n\nEine erfolgreiche Migration erfordert Vorbereitung auf organisatorischer Ebene:\n\n- **Stakeholder-Kommunikation:** Migrationspläne und Zeitplan frühzeitig an alle Beteiligten kommunizieren – DevOps-Teams, Entwicklungsteams und QA. Transparenz über Ziele und Erwartungen ist entscheidend.\n- **Schulungen:** Wissensaufbau zu GitLab CI, YAML-Syntax und grundlegender Pipeline-Erstellung. Teams benötigen die Grundlagen, bevor sie eigenständig arbeiten können.\n- **Praxisorientiertes Lernen:** Entwicklungsteams paarweise arbeiten lassen. Gegenseitiges Lernen während der Migration beschleunigt den Kompetenzaufbau.\n\n\n### Konfigurationsvergleich: Jenkinsfile vs. .gitlab-ci.yml\n\nBeide Dateien definieren Stages, Jobs und Schritte des CI/CD-Prozesses. Build-, Test- und Deployment-Schritte sowie Umgebungsvariablen lassen sich in beiden konfigurieren.\n\nDie wesentlichen Unterschiede: Jenkinsfile verwendet Groovy für Scripting, .gitlab-ci.yml verwendet YAML – eine menschenlesbarere und strukturiertere Syntax. GitLab CI stellt zudem eine breite Palette von integrierten Templates und vordefinierten Jobs bereit, was den Konfigurationsaufwand gegenüber eigenem Groovy-Scripting deutlich reduziert.\n\nDie Migration bestehender Jenkinsfile-Konfigurationen erfordert eine sorgfältige Analyse der vorhandenen Pipelines und eine Übertragung der Logik in die YAML-Syntax von GitLab CI. Unterschiede in Syntax und Plattformfähigkeiten sind dabei zu berücksichtigen.\n\n\n### Dokumentation und Professional Services\n\nGitLab bietet Dokumentation zur Jenkins-Migration: [Migrationsleitfaden in der GitLab-Dokumentation](https://docs.gitlab.com/ee/ci/migration/jenkins.html).\n\nDarüber hinaus unterstützt das Professional-Services-Team von GitLab Organisationen bei der Migration – von der Konvertierung von Jenkinsfile zu .gitlab-ci.yml bis zur Optimierung bestehender CI/CD-Workflows.\n\nDen vollständigen Leitfaden mit Video-Tutorials, weiteren Konfigurationsbeispielen und dem Lockheed-Martin-Fallbeispiel gibt es im englischen Originalbeitrag:\n\n[Jenkins to GitLab: The ultimate guide to modernizing your CI/CD environment](https://about.gitlab.com/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment/)\n",[657,254,658,213,12,659],"tutorial","AI/ML","DevOps",{},"/de-de/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment",{"title":663,"description":664},"Jenkins zu GitLab migrieren: Der vollständige Leitfaden","Wie Sie von Jenkins zu GitLab CI migrieren – drei Strategien und ein bewährter 6-Schritte-Prozess.","de-de/blog/jenkins-gitlab-ultimate-guide-to-modernizing-cicd-environment",[657,254,667,213,9,668],"aiml","devops","aFHEi180JcolmBkEcyNlAsFsWwfuG1aIeAbS01DKOhc",[671,680,689],{"content":672,"config":678},{"title":673,"heroImage":674,"category":9,"description":675,"authors":676},"Die Top 10 GitLab-Workflow-Hacks, die du kennen musst","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099361/Blog/Hero%20Images/Blog/Hero%20Images/lightvisibility_lightvisibility.png_1750099361252.png","Eine Produktmanagerin von GitLab nennt ihre Lieblingstricks, um schnell und effizient durch die GitLab DevSecOps-Plattform zu navigieren und die Zusammenarbeit im Team zu fördern.",[677],"Amanda Rueda",{"externalUrl":-1,"slug":679},"top-10-gitlab-workflow-hacks-you-need-to-know",{"content":681,"config":687},{"title":682,"heroImage":683,"category":9,"description":684,"authors":685},"Migration von Jenkins zu GitLab leicht gemacht","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663019/Blog/Hero%20Images/AdobeStock_519147119.jpg","In diesem Schritt-für-Schritt-Leitfaden erfährst du, warum und wie du ganz einfach von Jenkins zu GitLab migrieren kannst.",[686],"Fernando Diaz",{"externalUrl":-1,"slug":688},"jenkins-to-gitlab-migration-made-easy",{"content":690,"config":696},{"title":691,"heroImage":692,"category":9,"description":693,"authors":694},"Microservices-Architektur: Definition und Vorteile","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662898/Blog/Hero%20Images/microservices-explosion.jpg","Entdecke die Welt der Microservices-Architektur: Funktionsweise, Vorteile & Unterschiede zu traditionellen Architekturen für flexible & effiziente Anwendungen.",[695],"GitLab",{"externalUrl":-1,"slug":697},"what-are-the-benefits-of-a-microservices-architecture",1776443129281]