[{"data":1,"prerenderedAt":948},["ShallowReactive",2],{"/blog/gitlab-gke-autopilot":3,"navigation-en-us":165,"banner-en-us":592,"footer-en-us":602,"blog-post-authors-en-us-Abubakar Siddiq Ango":847,"blog-related-posts-en-us-gitlab-gke-autopilot":862,"blog-promotions-en-us":884,"next-steps-en-us":938},{"id":4,"title":5,"authors":6,"body":8,"category":142,"date":143,"description":144,"extension":145,"externalUrl":146,"faq":146,"featured":147,"heroImage":148,"meta":149,"navigation":150,"path":151,"seo":152,"slug":156,"stem":157,"tags":158,"template":163,"updatedDate":146,"__hash__":164},"blogPosts/en-us/blog/gitlab-gke-autopilot.md","How to use GitLab with GKE Autopilot",[7],"Abubakar Siddiq Ango",{"type":9,"value":10,"toc":130},"minimark",[11,15,24,27,32,37,40,43,46,59,63,72,76,96,99,105,109,112,115,123,127],[12,13,14],"p",{},"In the cloud native landscape, there are dozens of providers that offer managed Kubernetes services. Despite the abstraction, and ease of use promised, a major problem remains: getting the node size right. You want it to match your workloads so that you don’t under-provision – making the workloads unstable – or over-provision and rake in unnecessary costs.",[12,16,17,23],{},[18,19,22],"a",{"href":20,"rel":21},"https://cloud.google.com/blog/products/containers-kubernetes/introducing-gke-autopilot",[],"GKE Autopilot from Google Cloud"," solves this problem by enabling your team to focus on building your solutions with a fully managed and opinionated variant of Google Kubernetes Engine (GKE), where nodes are automatically provisioned based on your workload requirements and with no need to be managed independently.",[12,25,26],{},"GKE Autopilot uses the resource specification in the PodSpec of your deployment to provision nodes or use defaults, automatically resize the nodes, or provision new nodes as the pods’ needs change. GitLab and Google Cloud officially support several use cases, including running GitLab and GitLab Runners as workloads on GKE Autopilot clusters, as well as using GitLab CI/CD to deploy applications onto GKE Autopilot.",[28,29,31],"h2",{"id":30},"gitlab-and-gke-autopilot","GitLab and GKE Autopilot",[33,34,36],"h3",{"id":35},"gitlab-server","GitLab Server",[12,38,39],{},"GitLab can be installed on GKE Autopilot easily out of the box using the official Helm Charts and can be configured to match your company’s use case, such as external object storage and database. GKE Autopilot works to ensure the right sizes and number of nodes are provisioned based on the requirements specified in the GitLab charts and your customizations. You can access other resources in Google Cloud, such as storage and databases using Google Cloud Workload Identity.",[12,41,42],{},"All GKE Autopilot clusters come with Google Cloud Workload Identity pre-configured. Workload Identity allows you to bind Kubernetes Service Accounts to Google Service Accounts, with whatever permission that Google Service Account has. This can include resources in other Google Cloud platform projects.",[12,44,45],{},"In the first part of the GitLab with GKE Autopilot demo, I demonstrate how to install GitLab on a GKE Autopilot cluster:",[47,48,51,52],"figure",{"className":49},[50],"video_container","\n  ",[53,54,58],"iframe",{"src":55,"frameBorder":56,"allowFullScreen":57},"https://www.youtube-nocookie.com/embed/cNffh-qyXhQ","0","true"," ",[33,60,62],{"id":61},"gitlab-runner","GitLab Runner",[12,64,65,66,71],{},"The GitLab Runner can be deployed on GKE Autopilot in unprivileged mode, allowing it to only run GitLab CI jobs that do not require privileged pods or Docker in Docker due to the lack of support for privileged pods on GKE Autopilot. To build container images, ",[18,67,70],{"href":68,"rel":69},"https://docs.gitlab.com/ci/docker/using_kaniko/",[],"Kaniko"," or its likes can be used as an alternative to Docker. This applies to the bundled runner in the official GitLab Helm chart or when deployed independently using the official GitLab Runner chart. This also affects jobs using GitLab Auto DevOps, but works best when an independent Runner (set up on a GKE Standard cluster or virtual machine) is registered with the GitLab server running on GKE Autopilot.",[33,73,75],{"id":74},"integrating-gke-autopilot-clusters","Integrating GKE Autopilot clusters",[12,77,78,79,83,84,89,90,95],{},"GKE Autopilot clusters integrate with GitLab just like a GKE Standard cluster. There are two options, the preferred of which is to use the ",[18,80,82],{"href":81},"/blog/gitlab-kubernetes-agent-on-gitlab-com/","GitLab Agent for Kubernetes",", especially if you are concerned about security or your cluster is behind a firewall. You can learn more about this in our ",[18,85,88],{"href":86,"rel":87},"https://docs.gitlab.com/user/clusters/agent/",[],"detailed documentation",".\nAlternatively, you can create a cluster-admin and provide the cluster certificate and token to ",[18,91,94],{"href":92,"rel":93},"https://docs.gitlab.com/user/project/clusters/add_remove_clusters/",[],"integrate with the cluster",".  As of the time of writing, GKE Autopilot clusters cannot be created from GitLab like standard GKE clusters. The DinD limitation also affects the runner listed in the GitLab-managed apps that you can install as part of the integration.",[12,97,98],{},"In the second part of the demo video, I demonstrate how to integrate GitLab with a GKE Autopilot cluster and deploy an application using Auto DevOps.",[47,100,51,102],{"className":101},[50],[53,103,58],{"src":104,"frameBorder":56,"allowFullScreen":57},"https://www.youtube-nocookie.com/embed/rCwHL3hQEWU",[28,106,108],{"id":107},"considerations","Considerations",[12,110,111],{},"GKE Autopilot is opinionated and less configurable than GKE Standard. As a managed service, it allows you to focus on delivering the best solutions to your users and not worry about operations; these are limitations common for such managed Kubernetes services.",[12,113,114],{},"Administrative access to the nodes provisioned by GKE Autopilot is not supported, thus making any operation requiring access to the nodes limited. Host options, node selectors, node affinity/anti-affinity, taints, and tolerations are other functionalities that apply at the node level in GKE Standard but are not supported in Autopilot.",[12,116,117,118,122],{},"When integrating an Autopilot cluster with GitLab, you cannot install the bundled cert-manager. I encountered an error while testing, stating that ",[119,120,121],"code",{},"mutatingwebhookconfigurations/"," is managed and access is denied in GKE Autopilot. Alternatively, you can follow the directions provided in the official cert-manager documentation.",[28,124,126],{"id":125},"wrapping-up","Wrapping up",[12,128,129],{},"GKE Autopilot is designed to implement Google Cloud-developed best practices and has been fine-tuned to provide an ideal user experience. You can move from idea to production and scale worry-free when you integrate GitLab with GKE Autopilot, allowing you to deploy and monitor your application’s health, all within GitLab. If you also choose to deploy GitLab itself on GKE Autopilot, our official Helm chart will work out of the box.",{"title":131,"searchDepth":132,"depth":132,"links":133},"",2,[134,140,141],{"id":30,"depth":132,"text":31,"children":135},[136,138,139],{"id":35,"depth":137,"text":36},3,{"id":61,"depth":137,"text":62},{"id":74,"depth":137,"text":75},{"id":107,"depth":132,"text":108},{"id":125,"depth":132,"text":126},"news","2021-02-24","GitLab works out of the box with the new GKE Autopilot from Google Cloud, a managed variant of the popular Google Kubernetes Engine.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681920/Blog/Hero%20Images/kubernetes.png",{},true,"/en-us/blog/gitlab-gke-autopilot",{"title":5,"description":144,"ogTitle":5,"ogDescription":144,"noIndex":147,"ogImage":148,"ogUrl":153,"ogSiteName":154,"ogType":155,"canonicalUrls":153},"https://about.gitlab.com/blog/gitlab-gke-autopilot","https://about.gitlab.com","article","gitlab-gke-autopilot","en-us/blog/gitlab-gke-autopilot",[159,160,161,162],"kubernetes","GKE","google","integrations","BlogPost","UkPPLpqNveJx1NoqEV5XIFUfsELgBQhrXNssb4Mb1Tg",{"logo":166,"freeTrial":171,"sales":176,"login":181,"items":186,"search":512,"minimal":543,"duo":562,"switchNav":571,"pricingDeployment":582},{"config":167},{"href":168,"dataGaName":169,"dataGaLocation":170},"/","gitlab logo","header",{"text":172,"config":173},"Get free trial",{"href":174,"dataGaName":175,"dataGaLocation":170},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":177,"config":178},"Request a demo",{"href":179,"dataGaName":180,"dataGaLocation":170},"/sales/?contact-topic=request-demo","sales",{"text":182,"config":183},"Sign in",{"href":184,"dataGaName":185,"dataGaLocation":170},"https://gitlab.com/users/sign_in/","sign in",[187,216,316,321,434,490],{"text":188,"config":189,"menu":191},"Platform",{"dataNavLevelOne":190},"platform",{"type":192,"columns":193},"cards",[194,200,208],{"title":188,"description":195,"link":196},"The intelligent orchestration platform for DevSecOps",{"text":197,"config":198},"Explore our Platform",{"href":199,"dataGaName":190,"dataGaLocation":170},"/platform/",{"title":201,"description":202,"link":203},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":204,"config":205},"Meet GitLab Duo",{"href":206,"dataGaName":207,"dataGaLocation":170},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":209,"description":210,"link":211},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":212,"config":213},"Learn more",{"href":214,"dataGaName":215,"dataGaLocation":170},"/why-gitlab/","why gitlab",{"text":217,"left":150,"config":218,"menu":220},"Product",{"dataNavLevelOne":219},"solutions",{"type":221,"link":222,"columns":226,"feature":295},"lists",{"text":223,"config":224},"View all Solutions",{"href":225,"dataGaName":219,"dataGaLocation":170},"/solutions/",[227,251,274],{"title":228,"description":229,"link":230,"items":235},"Automation","CI/CD and automation to accelerate deployment",{"config":231},{"icon":232,"href":233,"dataGaName":234,"dataGaLocation":170},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[236,240,243,247],{"text":237,"config":238},"CI/CD",{"href":239,"dataGaLocation":170,"dataGaName":237},"/solutions/continuous-integration/",{"text":201,"config":241},{"href":206,"dataGaLocation":170,"dataGaName":242},"gitlab duo agent platform - product menu",{"text":244,"config":245},"Source Code Management",{"href":246,"dataGaLocation":170,"dataGaName":244},"/solutions/source-code-management/",{"text":248,"config":249},"Automated Software Delivery",{"href":233,"dataGaLocation":170,"dataGaName":250},"Automated software delivery",{"title":252,"description":253,"link":254,"items":259},"Security","Deliver code faster without compromising security",{"config":255},{"href":256,"dataGaName":257,"dataGaLocation":170,"icon":258},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[260,264,269],{"text":261,"config":262},"Application Security Testing",{"href":256,"dataGaName":263,"dataGaLocation":170},"Application security testing",{"text":265,"config":266},"Software Supply Chain Security",{"href":267,"dataGaLocation":170,"dataGaName":268},"/solutions/supply-chain/","Software supply chain security",{"text":270,"config":271},"Software Compliance",{"href":272,"dataGaName":273,"dataGaLocation":170},"/solutions/software-compliance/","software compliance",{"title":275,"link":276,"items":281},"Measurement",{"config":277},{"icon":278,"href":279,"dataGaName":280,"dataGaLocation":170},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[282,286,290],{"text":283,"config":284},"Visibility & Measurement",{"href":279,"dataGaLocation":170,"dataGaName":285},"Visibility and Measurement",{"text":287,"config":288},"Value Stream Management",{"href":289,"dataGaLocation":170,"dataGaName":287},"/solutions/value-stream-management/",{"text":291,"config":292},"Analytics & Insights",{"href":293,"dataGaLocation":170,"dataGaName":294},"/solutions/analytics-and-insights/","Analytics and insights",{"title":296,"type":221,"items":297},"GitLab for",[298,304,310],{"text":299,"config":300},"Enterprise",{"icon":301,"href":302,"dataGaLocation":170,"dataGaName":303},"Building","/enterprise/","enterprise",{"text":305,"config":306},"Small Business",{"icon":307,"href":308,"dataGaLocation":170,"dataGaName":309},"Work","/small-business/","small business",{"text":311,"config":312},"Public Sector",{"icon":313,"href":314,"dataGaLocation":170,"dataGaName":315},"Organization","/solutions/public-sector/","public sector",{"text":317,"config":318},"Pricing",{"href":319,"dataGaName":320,"dataGaLocation":170,"dataNavLevelOne":320},"/pricing/","pricing",{"text":322,"config":323,"menu":325},"Resources",{"dataNavLevelOne":324},"resources",{"type":221,"link":326,"columns":330,"feature":423},{"text":327,"config":328},"View all resources",{"href":329,"dataGaName":324,"dataGaLocation":170},"/resources/",[331,363,390],{"title":332,"items":333},"Getting started",[334,339,344,349,354,359],{"text":335,"config":336},"Install",{"href":337,"dataGaName":338,"dataGaLocation":170},"/install/","install",{"text":340,"config":341},"Quick start guides",{"href":342,"dataGaName":343,"dataGaLocation":170},"/get-started/","quick setup checklists",{"text":345,"config":346},"Learn",{"href":347,"dataGaLocation":170,"dataGaName":348},"https://university.gitlab.com/","learn",{"text":350,"config":351},"Product documentation",{"href":352,"dataGaName":353,"dataGaLocation":170},"https://docs.gitlab.com/","product documentation",{"text":355,"config":356},"Best practice videos",{"href":357,"dataGaName":358,"dataGaLocation":170},"/getting-started-videos/","best practice videos",{"text":360,"config":361},"Integrations",{"href":362,"dataGaName":162,"dataGaLocation":170},"/integrations/",{"title":364,"items":365},"Discover",[366,371,376,381,385],{"text":367,"config":368},"Customer success stories",{"href":369,"dataGaName":370,"dataGaLocation":170},"/customers/","customer success stories",{"text":372,"config":373},"Blog",{"href":374,"dataGaName":375,"dataGaLocation":170},"/blog/","blog",{"text":377,"config":378},"Demo Hub",{"href":379,"dataGaName":380,"dataGaLocation":170},"/demo-hub/","demo hub",{"text":382,"config":383},"The Source",{"href":384,"dataGaName":375,"dataGaLocation":170},"/the-source/",{"text":386,"config":387},"Remote",{"href":388,"dataGaName":389,"dataGaLocation":170},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":391,"items":392},"Connect",[393,398,403,408,413,418],{"text":394,"config":395},"GitLab Services",{"href":396,"dataGaName":397,"dataGaLocation":170},"/services/","services",{"text":399,"config":400},"Contribute",{"href":401,"dataGaName":402,"dataGaLocation":170},"https://contributors.gitlab.com","contribute",{"text":404,"config":405},"Community",{"href":406,"dataGaName":407,"dataGaLocation":170},"/community/","community",{"text":409,"config":410},"Forum",{"href":411,"dataGaName":412,"dataGaLocation":170},"https://forum.gitlab.com/","forum",{"text":414,"config":415},"Events",{"href":416,"dataGaName":417,"dataGaLocation":170},"/events/","events",{"text":419,"config":420},"Partners",{"href":421,"dataGaName":422,"dataGaLocation":170},"/partners/","partners",{"config":424,"title":427,"text":428,"link":429},{"background":425,"textColor":426},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":430,"config":431},"Read the latest",{"href":432,"dataGaName":433,"dataGaLocation":170},"/whats-new/","whats new",{"text":435,"config":436,"menu":438},"Company",{"dataNavLevelOne":437},"company",{"type":221,"columns":439},[440],{"items":441},[442,447,453,455,460,465,470,475,480,485],{"text":443,"config":444},"About",{"href":445,"dataGaName":446,"dataGaLocation":170},"/company/","about",{"text":448,"config":449,"footerGa":452},"Jobs",{"href":450,"dataGaName":451,"dataGaLocation":170},"/jobs/","jobs",{"dataGaName":451},{"text":414,"config":454},{"href":416,"dataGaName":417,"dataGaLocation":170},{"text":456,"config":457},"Leadership",{"href":458,"dataGaName":459,"dataGaLocation":170},"/company/team/e-group/","leadership",{"text":461,"config":462},"Handbook",{"href":463,"dataGaName":464,"dataGaLocation":170},"https://handbook.gitlab.com/","handbook",{"text":466,"config":467},"Investor relations",{"href":468,"dataGaName":469,"dataGaLocation":170},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":471,"config":472},"Trust Center",{"href":473,"dataGaName":474,"dataGaLocation":170},"/security/","trust center",{"text":476,"config":477},"AI Transparency Center",{"href":478,"dataGaName":479,"dataGaLocation":170},"/ai-transparency-center/","ai transparency center",{"text":481,"config":482},"Newsletter",{"href":483,"dataGaName":484,"dataGaLocation":170},"/company/contact/#contact-forms","newsletter",{"text":486,"config":487},"Press",{"href":488,"dataGaName":489,"dataGaLocation":170},"/press/","press",{"text":491,"config":492,"menu":493},"Contact us",{"dataNavLevelOne":437},{"type":221,"columns":494},[495],{"items":496},[497,502,507],{"text":498,"config":499},"Talk to sales",{"href":500,"dataGaName":501,"dataGaLocation":170},"/sales/","talk to sales",{"text":503,"config":504},"Support portal",{"href":505,"dataGaName":506,"dataGaLocation":170},"https://support.gitlab.com/hc/en-us","support portal",{"text":508,"config":509},"Customer portal",{"href":510,"dataGaName":511,"dataGaLocation":170},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":513,"login":514,"suggestions":521},"Close",{"text":515,"link":516},"To search repositories and projects, login to",{"text":517,"config":518},"gitlab.com",{"href":184,"dataGaName":519,"dataGaLocation":520},"search login","search",{"text":522,"default":523},"Suggestions",[524,526,530,532,536,540],{"text":201,"config":525},{"href":206,"dataGaName":201,"dataGaLocation":520},{"text":527,"config":528},"Code Suggestions (AI)",{"href":529,"dataGaName":527,"dataGaLocation":520},"/solutions/code-suggestions/",{"text":237,"config":531},{"href":239,"dataGaName":237,"dataGaLocation":520},{"text":533,"config":534},"GitLab on AWS",{"href":535,"dataGaName":533,"dataGaLocation":520},"/partners/technology-partners/aws/",{"text":537,"config":538},"GitLab on Google Cloud",{"href":539,"dataGaName":537,"dataGaLocation":520},"/partners/technology-partners/google-cloud-platform/",{"text":541,"config":542},"Why GitLab?",{"href":214,"dataGaName":541,"dataGaLocation":520},{"freeTrial":544,"mobileIcon":549,"desktopIcon":554,"secondaryButton":557},{"text":545,"config":546},"Start free trial",{"href":547,"dataGaName":175,"dataGaLocation":548},"https://gitlab.com/-/trials/new/","nav",{"altText":550,"config":551},"Gitlab Icon",{"src":552,"dataGaName":553,"dataGaLocation":548},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":550,"config":555},{"src":556,"dataGaName":553,"dataGaLocation":548},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":558,"config":559},"Get Started",{"href":560,"dataGaName":561,"dataGaLocation":548},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":563,"mobileIcon":567,"desktopIcon":569},{"text":564,"config":565},"Learn more about GitLab Duo",{"href":206,"dataGaName":566,"dataGaLocation":548},"gitlab duo",{"altText":550,"config":568},{"src":552,"dataGaName":553,"dataGaLocation":548},{"altText":550,"config":570},{"src":556,"dataGaName":553,"dataGaLocation":548},{"button":572,"mobileIcon":577,"desktopIcon":579},{"text":573,"config":574},"/switch",{"href":575,"dataGaName":576,"dataGaLocation":548},"#contact","switch",{"altText":550,"config":578},{"src":552,"dataGaName":553,"dataGaLocation":548},{"altText":550,"config":580},{"src":581,"dataGaName":553,"dataGaLocation":548},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":583,"mobileIcon":588,"desktopIcon":590},{"text":584,"config":585},"Back to pricing",{"href":319,"dataGaName":586,"dataGaLocation":548,"icon":587},"back to pricing","GoBack",{"altText":550,"config":589},{"src":552,"dataGaName":553,"dataGaLocation":548},{"altText":550,"config":591},{"src":556,"dataGaName":553,"dataGaLocation":548},{"title":593,"titleMobile":594,"button":595,"config":600},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":212,"config":596},{"href":597,"dataGaName":598,"dataGaLocation":599},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":601,"disabled":147},"release",{"data":603},{"text":604,"source":605,"edit":611,"contribute":616,"config":621,"items":626,"minimal":836},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":606,"config":607},"View page source",{"href":608,"dataGaName":609,"dataGaLocation":610},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":612,"config":613},"Edit this page",{"href":614,"dataGaName":615,"dataGaLocation":610},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":617,"config":618},"Please contribute",{"href":619,"dataGaName":620,"dataGaLocation":610},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":622,"facebook":623,"youtube":624,"linkedin":625},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[627,674,728,772,804],{"title":317,"links":628,"subMenu":643},[629,633,638],{"text":630,"config":631},"View plans",{"href":319,"dataGaName":632,"dataGaLocation":610},"view plans",{"text":634,"config":635},"Why Premium?",{"href":636,"dataGaName":637,"dataGaLocation":610},"/pricing/premium/","why premium",{"text":639,"config":640},"Why Ultimate?",{"href":641,"dataGaName":642,"dataGaLocation":610},"/pricing/ultimate/","why ultimate",[644],{"title":645,"links":646},"Contact Us",[647,650,652,654,659,664,669],{"text":648,"config":649},"Contact sales",{"href":500,"dataGaName":180,"dataGaLocation":610},{"text":503,"config":651},{"href":505,"dataGaName":506,"dataGaLocation":610},{"text":508,"config":653},{"href":510,"dataGaName":511,"dataGaLocation":610},{"text":655,"config":656},"Status",{"href":657,"dataGaName":658,"dataGaLocation":610},"https://status.gitlab.com/","status",{"text":660,"config":661},"Terms of use",{"href":662,"dataGaName":663,"dataGaLocation":610},"/terms/","terms of use",{"text":665,"config":666},"Privacy statement",{"href":667,"dataGaName":668,"dataGaLocation":610},"/privacy/","privacy statement",{"text":670,"config":671},"Cookie preferences",{"dataGaName":672,"dataGaLocation":610,"id":673,"isOneTrustButton":150},"cookie preferences","ot-sdk-btn",{"title":217,"links":675,"subMenu":684},[676,680],{"text":677,"config":678},"DevSecOps platform",{"href":199,"dataGaName":679,"dataGaLocation":610},"devsecops platform",{"text":681,"config":682},"AI-Assisted Development",{"href":206,"dataGaName":683,"dataGaLocation":610},"ai-assisted development",[685],{"title":686,"links":687},"Topics",[688,693,698,703,708,713,718,723],{"text":689,"config":690},"CICD",{"href":691,"dataGaName":692,"dataGaLocation":610},"/topics/ci-cd/","cicd",{"text":694,"config":695},"GitOps",{"href":696,"dataGaName":697,"dataGaLocation":610},"/topics/gitops/","gitops",{"text":699,"config":700},"DevOps",{"href":701,"dataGaName":702,"dataGaLocation":610},"/topics/devops/","devops",{"text":704,"config":705},"Version Control",{"href":706,"dataGaName":707,"dataGaLocation":610},"/topics/version-control/","version control",{"text":709,"config":710},"DevSecOps",{"href":711,"dataGaName":712,"dataGaLocation":610},"/topics/devsecops/","devsecops",{"text":714,"config":715},"Cloud Native",{"href":716,"dataGaName":717,"dataGaLocation":610},"/topics/cloud-native/","cloud native",{"text":719,"config":720},"AI for Coding",{"href":721,"dataGaName":722,"dataGaLocation":610},"/topics/devops/ai-for-coding/","ai for coding",{"text":724,"config":725},"Agentic AI",{"href":726,"dataGaName":727,"dataGaLocation":610},"/topics/agentic-ai/","agentic ai",{"title":729,"links":730},"Solutions",[731,733,735,740,744,747,751,754,756,759,762,767],{"text":261,"config":732},{"href":256,"dataGaName":261,"dataGaLocation":610},{"text":250,"config":734},{"href":233,"dataGaName":234,"dataGaLocation":610},{"text":736,"config":737},"Agile development",{"href":738,"dataGaName":739,"dataGaLocation":610},"/solutions/agile-delivery/","agile delivery",{"text":741,"config":742},"SCM",{"href":246,"dataGaName":743,"dataGaLocation":610},"source code management",{"text":689,"config":745},{"href":239,"dataGaName":746,"dataGaLocation":610},"continuous integration & delivery",{"text":748,"config":749},"Value stream management",{"href":289,"dataGaName":750,"dataGaLocation":610},"value stream management",{"text":694,"config":752},{"href":753,"dataGaName":697,"dataGaLocation":610},"/solutions/gitops/",{"text":299,"config":755},{"href":302,"dataGaName":303,"dataGaLocation":610},{"text":757,"config":758},"Small business",{"href":308,"dataGaName":309,"dataGaLocation":610},{"text":760,"config":761},"Public sector",{"href":314,"dataGaName":315,"dataGaLocation":610},{"text":763,"config":764},"Education",{"href":765,"dataGaName":766,"dataGaLocation":610},"/solutions/education/","education",{"text":768,"config":769},"Financial services",{"href":770,"dataGaName":771,"dataGaLocation":610},"/solutions/finance/","financial services",{"title":322,"links":773},[774,776,778,780,783,785,788,790,792,794,796,798,800,802],{"text":335,"config":775},{"href":337,"dataGaName":338,"dataGaLocation":610},{"text":340,"config":777},{"href":342,"dataGaName":343,"dataGaLocation":610},{"text":345,"config":779},{"href":347,"dataGaName":348,"dataGaLocation":610},{"text":350,"config":781},{"href":352,"dataGaName":782,"dataGaLocation":610},"docs",{"text":372,"config":784},{"href":374,"dataGaName":375,"dataGaLocation":610},{"text":786,"config":787},"What's new",{"href":432,"dataGaName":433,"dataGaLocation":610},{"text":367,"config":789},{"href":369,"dataGaName":370,"dataGaLocation":610},{"text":386,"config":791},{"href":388,"dataGaName":389,"dataGaLocation":610},{"text":394,"config":793},{"href":396,"dataGaName":397,"dataGaLocation":610},{"text":399,"config":795},{"href":401,"dataGaName":402,"dataGaLocation":610},{"text":404,"config":797},{"href":406,"dataGaName":407,"dataGaLocation":610},{"text":409,"config":799},{"href":411,"dataGaName":412,"dataGaLocation":610},{"text":414,"config":801},{"href":416,"dataGaName":417,"dataGaLocation":610},{"text":419,"config":803},{"href":421,"dataGaName":422,"dataGaLocation":610},{"title":435,"links":805},[806,808,810,812,814,816,820,825,827,829,831],{"text":443,"config":807},{"href":445,"dataGaName":437,"dataGaLocation":610},{"text":448,"config":809},{"href":450,"dataGaName":451,"dataGaLocation":610},{"text":456,"config":811},{"href":458,"dataGaName":459,"dataGaLocation":610},{"text":461,"config":813},{"href":463,"dataGaName":464,"dataGaLocation":610},{"text":466,"config":815},{"href":468,"dataGaName":469,"dataGaLocation":610},{"text":817,"config":818},"Sustainability",{"href":819,"dataGaName":817,"dataGaLocation":610},"/sustainability/",{"text":821,"config":822},"Diversity, inclusion and belonging (DIB)",{"href":823,"dataGaName":824,"dataGaLocation":610},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":471,"config":826},{"href":473,"dataGaName":474,"dataGaLocation":610},{"text":481,"config":828},{"href":483,"dataGaName":484,"dataGaLocation":610},{"text":486,"config":830},{"href":488,"dataGaName":489,"dataGaLocation":610},{"text":832,"config":833},"Modern Slavery Transparency Statement",{"href":834,"dataGaName":835,"dataGaLocation":610},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":837},[838,841,844],{"text":839,"config":840},"Terms",{"href":662,"dataGaName":663,"dataGaLocation":610},{"text":842,"config":843},"Cookies",{"dataGaName":672,"dataGaLocation":610,"id":673,"isOneTrustButton":150},{"text":845,"config":846},"Privacy",{"href":667,"dataGaName":668,"dataGaLocation":610},[848],{"id":849,"title":7,"body":146,"config":850,"content":852,"description":146,"extension":856,"meta":857,"navigation":150,"path":858,"seo":859,"stem":860,"__hash__":861},"blogAuthors/en-us/blog/authors/abubakar-siddiq-ango.yml",{"template":851},"BlogAuthor",{"name":7,"config":853},{"headshot":854,"ctfId":855},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660104/Blog/Author%20Headshots/abuango-headshot.jpg","abuango","yml",{},"/en-us/blog/authors/abubakar-siddiq-ango",{},"en-us/blog/authors/abubakar-siddiq-ango","u5Jv4JxCpfmcGQuXEU4Lr5xVBJP9LAB2NkXRMLeYwPE",[863,871,878],{"title":864,"description":865,"heroImage":866,"category":142,"date":867,"authors":868,"slug":870,"externalUrl":146},"GitLab named a Leader in the 2026 Gartner® Magic Quadrant™ for DevSecOps Platforms","Agents made coding fast. GitLab is the Intelligent Orchestration Platform for DevSecOps that brings speed with control for the rest of the software lifecycle.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-06-17",[869],"Manav Khurana","gitlab-leader-2026-gartner-mq-devsecops-platforms",{"title":872,"description":873,"heroImage":874,"category":142,"date":867,"authors":875,"slug":877,"externalUrl":146},"GitLab and Capgemini accelerate DevSecOps transformation","The global alliance helps organizations modernize software delivery, secure their supply chain, and bring AI into development workflows.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781279411/n3pkmddd2eswa8qbu06z.png",[876],"Alex Picker","gitlab-and-capgemini-global-alliance-partnership",{"title":879,"description":880,"heroImage":881,"category":142,"date":867,"authors":882,"slug":883,"externalUrl":146},"Introducing the 2026 EMEA GitLab Partner Award winners","Learn about the EMEA partners who made an outstanding impact over the past year.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781608381/biycl2ib2kpsbspjlac7.png",[876],"2026-emea-gitlab-partner-awards",{"promotions":885},[886,900,912,924],{"id":887,"categories":888,"header":890,"text":891,"button":892,"image":897},"ai-modernization",[889],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":893,"config":894},"Get your AI maturity score",{"href":895,"dataGaName":896,"dataGaLocation":375},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":898},{"src":899},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":901,"categories":902,"header":904,"text":891,"button":905,"image":909},"devops-modernization",[903,712],"product","Are you just managing tools or shipping innovation?",{"text":906,"config":907},"Get your DevOps maturity score",{"href":908,"dataGaName":896,"dataGaLocation":375},"/assessments/devops-modernization-assessment/",{"config":910},{"src":911},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":913,"categories":914,"header":916,"text":891,"button":917,"image":921},"security-modernization",[915],"security","Are you trading speed for security?",{"text":918,"config":919},"Get your security maturity score",{"href":920,"dataGaName":896,"dataGaLocation":375},"/assessments/security-modernization-assessment/",{"config":922},{"src":923},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":925,"paths":926,"header":929,"text":930,"button":931,"image":936},"github-azure-migration",[927,928],"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":932,"config":933},"See how GitLab compares to GitHub",{"href":934,"dataGaName":935,"dataGaLocation":375},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":937},{"src":911},{"header":939,"blurb":940,"button":941,"secondaryButton":946},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":942,"config":943},"Get your free trial",{"href":944,"dataGaName":175,"dataGaLocation":945},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":648,"config":947},{"href":500,"dataGaName":180,"dataGaLocation":945},1786803760587]