[{"data":1,"prerenderedAt":1128},["ShallowReactive",2],{"/blog/auto-devops":3,"navigation-en-us":346,"banner-en-us":773,"footer-en-us":783,"blog-post-authors-en-us-Chris Ward":1028,"blog-related-posts-en-us-auto-devops":1042,"blog-promotions-en-us":1064,"next-steps-en-us":1118},{"id":4,"title":5,"authors":6,"body":8,"category":324,"date":325,"description":326,"extension":327,"externalUrl":328,"faq":328,"featured":329,"heroImage":330,"meta":331,"navigation":332,"path":333,"seo":334,"slug":338,"stem":339,"tags":340,"template":344,"updatedDate":328,"__hash__":345},"blogPosts/en-us/blog/auto-devops.md","What's coming for Auto DevOps",[7],"Chris Ward",{"type":9,"value":10,"toc":304},"minimark",[11,26,35,47,171,182,191,196,199,208,217,226,229,238,247,256,259,268,276,283,287,295,298],[12,13,14,20,21,25],"p",{},[15,16,19],"a",{"href":17,"rel":18},"https://docs.gitlab.com/topics/autodevops/",[],"Auto DevOps"," is designed to make CI/CD adoption easier, with baked-in best practices and automation to take care of moving your code seamlessly through the software development lifecycle. If you or your team are new to DevOps, this is a great place to start. We're excited to share some new and ",[15,22,24],{"href":23},"#coming-soon","upcoming improvements to Auto DevOps",", but first:",[12,27,28,29,34],{},"There is a prerequisite for Auto DevOps, and that's a Kubernetes cluster. This may or may not be an easy step for you to complete, but your team likely has a cluster set up already. If not, ",[15,30,33],{"href":31,"rel":32},"https://docs.gitlab.com/topics/autodevops/cloud_deployments/auto_devops_with_gke/",[],"read our getting started guide",".",[12,36,37,38,42,43,46],{},"Auto DevOps should be enabled by default, but if it isn't, go to ",[39,40,41],"em",{},"Settings > CI/CD > Auto DevOps"," and check ",[39,44,45],{},"Default to Auto DevOps pipeline",". There are a lot of automated stages available, depending on what version and tier of GitLab you use, and which components you add to your Kubernetes cluster.",[48,49,50,68,74,85,96,107,118,130,136,148,154,165],"ol",{},[51,52,53,57,58,61,62,67],"li",{},[54,55,56],"strong",{},"Auto Build",": Builds your code using a ",[39,59,60],{},"Dockerfile"," if your project has one, or a ",[15,63,66],{"href":64,"rel":65},"https://elements.heroku.com/buildpacks",[],"Heroku buildpack"," selected based on the programming language you use, but you can manually set it.",[51,69,70,73],{},[54,71,72],{},"Auto Test",": Runs any tests included in your codebase, again using a Heroku buildpack.",[51,75,76,79,80,34],{},[54,77,78],{},"Auto Code Quality",": Runs static analysis and other checks over your code using the ",[15,81,84],{"href":82,"rel":83},"https://gitlab.com/gitlab-org/ci-cd/codequality",[],"code quality image",[51,86,87,90,91,34],{},[54,88,89],{},"Auto SAST (Static Application Security Testing)",": Runs static analysis checks focussed on security issues using the ",[15,92,95],{"href":93,"rel":94},"https://gitlab.com/gitlab-org/security-products/sast",[],"SAST image",[51,97,98,101,102,34],{},[54,99,100],{},"Auto Dependency Scanning",": Checks for potential security issues on project dependencies using the ",[15,103,106],{"href":104,"rel":105},"https://gitlab.com/gitlab-org/security-products/dependency-scanning",[],"dependency scanning image",[51,108,109,112,113,34],{},[54,110,111],{},"Auto License Compliance",": Searches project dependencies for what licenses they use, using the ",[15,114,117],{"href":115,"rel":116},"https://gitlab.com/gitlab-org/security-products/license-management",[],"license compliance image",[51,119,120,123,124,129],{},[54,121,122],{},"Auto Container Scanning",": Uses ",[15,125,128],{"href":126,"rel":127},"https://github.com/quay/clair",[],"Clair"," to run static analysis and security issue checks on any Docker images used.",[51,131,132,135],{},[54,133,134],{},"Auto Review Apps",": Creates a version of an application in a temporary environment for team members to try and review.",[51,137,138,141,142,147],{},[54,139,140],{},"Auto DAST (Dynamic Application Security Testing)",": Runs further security checks using the ",[15,143,146],{"href":144,"rel":145},"https://github.com/zaproxy/zaproxy",[],"OWASP ZAProxy"," tool.",[51,149,150,153],{},[54,151,152],{},"Auto Deploy",": Deploys an application to a production environment as defined in the Kubernetes environment settings.",[51,155,156,159,160,34],{},[54,157,158],{},"Auto Browser Performance Testing",": Tests the performance of application web pages using the ",[15,161,164],{"href":162,"rel":163},"https://hub.docker.com/r/sitespeedio/sitespeed.io/",[],"Sitespeed.io image",[51,166,167,170],{},[54,168,169],{},"Auto Monitoring",": Uses Prometheus to monitor system metrics for a deployed application.",[172,173,175,176,181],"h3",{"id":174},"recent-improvement-readiness-for-kubernetes-116-32720","Recent improvement: Readiness for Kubernetes 1.16 (",[15,177,180],{"href":178,"rel":179},"https://gitlab.com/gitlab-org/gitlab/issues/32720",[],"#32720",")",[12,183,184,185,190],{},"We recently reworked Auto DevOps features to ",[15,186,189],{"href":187,"rel":188},"https://docs.gitlab.com/releases/#auto-devops'-default-postgresql-due-to-change",[],"match changes in the Kubernetes 1.16 API",". Nothing you use will change, but behind the scenes, access different API endpoints, and in different ways.",[192,193,195],"h2",{"id":194},"coming-soon","Coming soon",[12,197,198],{},"Several improvements are coming to Auto DevOps in our next few releases to ensure that we help your projects conform to the latest DevOps best practices, and integrate with as many of our platform features and external tools as possible.",[172,200,202,203,181],{"id":201},"cloud-native-buildpacks-for-auto-devops-25954","Cloud-native buildpacks for Auto DevOps (",[15,204,207],{"href":205,"rel":206},"https://gitlab.com/gitlab-org/gitlab/issues/25954",[],"#25954",[12,209,210,211,216],{},"Since Heroku created the buildback concept in 2011 when using virtual machines was typical, others have adopted the concept, and created their own that suited containers better. This change in need resulted in the Cloud Native Computing Foundation (CNCF) accepting the ",[15,212,215],{"href":213,"rel":214},"https://buildpacks.io/",[],"Cloud Native Buildpacks project"," in 2018 to maintain a standard for buildpacks that suits their modern use cases. Also, in 12.10 we've added support to Cloud Native Buildpacks, and will be switching our \"traditional\" Heroku buildpacks to these newer ones in the coming months.",[172,218,220,221,181],{"id":219},"running-auto-devops-on-air-gapped-networks-25642","Running Auto DevOps on air-gapped networks (",[15,222,225],{"href":223,"rel":224},"https://gitlab.com/gitlab-org/gitlab/issues/25642",[],"#25642",[12,227,228],{},"While many of our users have their clusters connected to the internet, we know not all do, and want to offer these customers as many features as possible. As part of GitLab 13.0, we are researching how to give you the ability to configure the locations of dependencies for Auto DevOps stages.",[172,230,232,233,181],{"id":231},"upgrade-to-helm-3-29038","Upgrade to Helm 3 (",[15,234,237],{"href":235,"rel":236},"https://gitlab.com/gitlab-org/gitlab/issues/29038",[],"#29038",[12,239,240,241,246],{},"We use ",[15,242,245],{"href":243,"rel":244},"https://helm.sh/",[],"Helm"," to deploy packages needed for various stages of the Auto DevOps process. In 13.1 we will upgrade Helm to version 3, which brought a series of significant changes, including removing Tiller as the \"server\" side of Helm.",[172,248,250,251,181],{"id":249},"nginx-alerts-to-auto-monitoring-in-auto-devops-118788","NGINX alerts to auto-monitoring in Auto DevOps (",[15,252,255],{"href":253,"rel":254},"https://gitlab.com/gitlab-org/gitlab/issues/118788",[],"#118788",[12,257,258],{},"Nginx is a popular HTTP and reverse proxy server. In 13.0 we will add support for the metrics it exposes to Prometheus for providing alerts to our auto-monitoring feature.",[172,260,262,263,181],{"id":261},"add-merge-train-support-to-auto-devops-121933","Add Merge Train support to Auto DevOps (",[15,264,267],{"href":265,"rel":266},"https://gitlab.com/gitlab-org/gitlab/issues/121933",[],"#121933",[12,269,270,275],{},[15,271,274],{"href":272,"rel":273},"https://docs.gitlab.com/ci/pipelines/merge_trains/",[],"Merge Trains"," are a GitLab feature that let you queue lists of merge requests waiting for merging into a target branch. Auto DevOps doesn't currently support merge trains, but in version 13.1, we will start adding support and helping users get the configuration they need to add their Merge Trains to Auto DevOps workflows.",[12,277,278,279,34],{},"You can ",[15,280,282],{"href":281},"/blog/all-aboard-merge-trains/","read more about merge trains here",[192,284,286],{"id":285},"looking-further-ahead","Looking further ahead",[12,288,289,290,34],{},"These planned features aside, one other area we are looking to improve is adopting more of a Directed Acyclic Graph (DAG) approach to Auto DevOps pipelines. You will no longer have to wait for one stage to complete before another begins, and you can focus on the results of the stages important to you. Feel free to view and comment on ",[15,291,294],{"href":292,"rel":293},"https://gitlab.com/gitlab-org/gitlab/issues/33200",[],"the open issue",[12,296,297],{},"We are broadly working to make Auto DevOps work seamlessly with as many other GitLab features as possible, and hope you enjoy the time and insights it gives you.",[12,299,278,300,34],{},[15,301,303],{"href":302},"/blog/auto-devops-explained/","read more about Auto DevOps here",{"title":305,"searchDepth":306,"depth":306,"links":307},"",2,[308,311,323],{"id":174,"depth":309,"text":310},3,"Recent improvement: Readiness for Kubernetes 1.16 (#32720)",{"id":194,"depth":306,"text":195,"children":312},[313,315,317,319,321],{"id":201,"depth":309,"text":314},"Cloud-native buildpacks for Auto DevOps (#25954)",{"id":219,"depth":309,"text":316},"Running Auto DevOps on air-gapped networks (#25642)",{"id":231,"depth":309,"text":318},"Upgrade to Helm 3 (#29038)",{"id":249,"depth":309,"text":320},"NGINX alerts to auto-monitoring in Auto DevOps (#118788)",{"id":261,"depth":309,"text":322},"Add Merge Train support to Auto DevOps (#121933)",{"id":285,"depth":306,"text":286},"news","2020-04-30","We're working on a number of improvements to GitLab Auto DevOps – here's where it's at and where it's headed.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667050/Blog/Hero%20Images/auto-devops-pipeline-stages.png",{},true,"/en-us/blog/auto-devops",{"title":5,"description":326,"ogTitle":5,"ogDescription":326,"noIndex":329,"ogImage":330,"ogUrl":335,"ogSiteName":336,"ogType":337,"canonicalUrls":335},"https://about.gitlab.com/blog/auto-devops","https://about.gitlab.com","article","auto-devops","en-us/blog/auto-devops",[341,342,343],"CI/CD","features","inside GitLab","BlogPost","eWDWl7vWH-f_wvLnHzoHOwHXCmB8EU0Pjf74-m0e7iQ",{"logo":347,"freeTrial":352,"sales":357,"login":362,"items":367,"search":693,"minimal":724,"duo":743,"switchNav":752,"pricingDeployment":763},{"config":348},{"href":349,"dataGaName":350,"dataGaLocation":351},"/","gitlab logo","header",{"text":353,"config":354},"Get free trial",{"href":355,"dataGaName":356,"dataGaLocation":351},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":358,"config":359},"Request a demo",{"href":360,"dataGaName":361,"dataGaLocation":351},"/sales/?contact-topic=request-demo","sales",{"text":363,"config":364},"Sign in",{"href":365,"dataGaName":366,"dataGaLocation":351},"https://gitlab.com/users/sign_in/","sign in",[368,397,496,501,615,671],{"text":369,"config":370,"menu":372},"Platform",{"dataNavLevelOne":371},"platform",{"type":373,"columns":374},"cards",[375,381,389],{"title":369,"description":376,"link":377},"The intelligent orchestration platform for DevSecOps",{"text":378,"config":379},"Explore our Platform",{"href":380,"dataGaName":371,"dataGaLocation":351},"/platform/",{"title":382,"description":383,"link":384},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":385,"config":386},"Meet GitLab Duo",{"href":387,"dataGaName":388,"dataGaLocation":351},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":390,"description":391,"link":392},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":393,"config":394},"Learn more",{"href":395,"dataGaName":396,"dataGaLocation":351},"/why-gitlab/","why gitlab",{"text":398,"left":332,"config":399,"menu":401},"Product",{"dataNavLevelOne":400},"solutions",{"type":402,"link":403,"columns":407,"feature":475},"lists",{"text":404,"config":405},"View all Solutions",{"href":406,"dataGaName":400,"dataGaLocation":351},"/solutions/",[408,431,454],{"title":409,"description":410,"link":411,"items":416},"Automation","CI/CD and automation to accelerate deployment",{"config":412},{"icon":413,"href":414,"dataGaName":415,"dataGaLocation":351},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[417,420,423,427],{"text":341,"config":418},{"href":419,"dataGaLocation":351,"dataGaName":341},"/solutions/continuous-integration/",{"text":382,"config":421},{"href":387,"dataGaLocation":351,"dataGaName":422},"gitlab duo agent platform - product menu",{"text":424,"config":425},"Source Code Management",{"href":426,"dataGaLocation":351,"dataGaName":424},"/solutions/source-code-management/",{"text":428,"config":429},"Automated Software Delivery",{"href":414,"dataGaLocation":351,"dataGaName":430},"Automated software delivery",{"title":432,"description":433,"link":434,"items":439},"Security","Deliver code faster without compromising security",{"config":435},{"href":436,"dataGaName":437,"dataGaLocation":351,"icon":438},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[440,444,449],{"text":441,"config":442},"Application Security Testing",{"href":436,"dataGaName":443,"dataGaLocation":351},"Application security testing",{"text":445,"config":446},"Software Supply Chain Security",{"href":447,"dataGaLocation":351,"dataGaName":448},"/solutions/supply-chain/","Software supply chain security",{"text":450,"config":451},"Software Compliance",{"href":452,"dataGaName":453,"dataGaLocation":351},"/solutions/software-compliance/","software compliance",{"title":455,"link":456,"items":461},"Measurement",{"config":457},{"icon":458,"href":459,"dataGaName":460,"dataGaLocation":351},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[462,466,470],{"text":463,"config":464},"Visibility & Measurement",{"href":459,"dataGaLocation":351,"dataGaName":465},"Visibility and Measurement",{"text":467,"config":468},"Value Stream Management",{"href":469,"dataGaLocation":351,"dataGaName":467},"/solutions/value-stream-management/",{"text":471,"config":472},"Analytics & Insights",{"href":473,"dataGaLocation":351,"dataGaName":474},"/solutions/analytics-and-insights/","Analytics and insights",{"title":476,"type":402,"items":477},"GitLab for",[478,484,490],{"text":479,"config":480},"Enterprise",{"icon":481,"href":482,"dataGaLocation":351,"dataGaName":483},"Building","/enterprise/","enterprise",{"text":485,"config":486},"Small Business",{"icon":487,"href":488,"dataGaLocation":351,"dataGaName":489},"Work","/small-business/","small business",{"text":491,"config":492},"Public Sector",{"icon":493,"href":494,"dataGaLocation":351,"dataGaName":495},"Organization","/solutions/public-sector/","public sector",{"text":497,"config":498},"Pricing",{"href":499,"dataGaName":500,"dataGaLocation":351,"dataNavLevelOne":500},"/pricing/","pricing",{"text":502,"config":503,"menu":505},"Resources",{"dataNavLevelOne":504},"resources",{"type":402,"link":506,"columns":510,"feature":604},{"text":507,"config":508},"View all resources",{"href":509,"dataGaName":504,"dataGaLocation":351},"/resources/",[511,544,571],{"title":512,"items":513},"Getting started",[514,519,524,529,534,539],{"text":515,"config":516},"Install",{"href":517,"dataGaName":518,"dataGaLocation":351},"/install/","install",{"text":520,"config":521},"Quick start guides",{"href":522,"dataGaName":523,"dataGaLocation":351},"/get-started/","quick setup checklists",{"text":525,"config":526},"Learn",{"href":527,"dataGaLocation":351,"dataGaName":528},"https://university.gitlab.com/","learn",{"text":530,"config":531},"Product documentation",{"href":532,"dataGaName":533,"dataGaLocation":351},"https://docs.gitlab.com/","product documentation",{"text":535,"config":536},"Best practice videos",{"href":537,"dataGaName":538,"dataGaLocation":351},"/getting-started-videos/","best practice videos",{"text":540,"config":541},"Integrations",{"href":542,"dataGaName":543,"dataGaLocation":351},"/integrations/","integrations",{"title":545,"items":546},"Discover",[547,552,557,562,566],{"text":548,"config":549},"Customer success stories",{"href":550,"dataGaName":551,"dataGaLocation":351},"/customers/","customer success stories",{"text":553,"config":554},"Blog",{"href":555,"dataGaName":556,"dataGaLocation":351},"/blog/","blog",{"text":558,"config":559},"Demo Hub",{"href":560,"dataGaName":561,"dataGaLocation":351},"/demo-hub/","demo hub",{"text":563,"config":564},"The Source",{"href":565,"dataGaName":556,"dataGaLocation":351},"/the-source/",{"text":567,"config":568},"Remote",{"href":569,"dataGaName":570,"dataGaLocation":351},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":572,"items":573},"Connect",[574,579,584,589,594,599],{"text":575,"config":576},"GitLab Services",{"href":577,"dataGaName":578,"dataGaLocation":351},"/services/","services",{"text":580,"config":581},"Contribute",{"href":582,"dataGaName":583,"dataGaLocation":351},"https://contributors.gitlab.com","contribute",{"text":585,"config":586},"Community",{"href":587,"dataGaName":588,"dataGaLocation":351},"/community/","community",{"text":590,"config":591},"Forum",{"href":592,"dataGaName":593,"dataGaLocation":351},"https://forum.gitlab.com/","forum",{"text":595,"config":596},"Events",{"href":597,"dataGaName":598,"dataGaLocation":351},"/events/","events",{"text":600,"config":601},"Partners",{"href":602,"dataGaName":603,"dataGaLocation":351},"/partners/","partners",{"config":605,"title":608,"text":609,"link":610},{"background":606,"textColor":607},"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":611,"config":612},"Read the latest",{"href":613,"dataGaName":614,"dataGaLocation":351},"/whats-new/","whats new",{"text":616,"config":617,"menu":619},"Company",{"dataNavLevelOne":618},"company",{"type":402,"columns":620},[621],{"items":622},[623,628,634,636,641,646,651,656,661,666],{"text":624,"config":625},"About",{"href":626,"dataGaName":627,"dataGaLocation":351},"/company/","about",{"text":629,"config":630,"footerGa":633},"Jobs",{"href":631,"dataGaName":632,"dataGaLocation":351},"/jobs/","jobs",{"dataGaName":632},{"text":595,"config":635},{"href":597,"dataGaName":598,"dataGaLocation":351},{"text":637,"config":638},"Leadership",{"href":639,"dataGaName":640,"dataGaLocation":351},"/company/team/e-group/","leadership",{"text":642,"config":643},"Handbook",{"href":644,"dataGaName":645,"dataGaLocation":351},"https://handbook.gitlab.com/","handbook",{"text":647,"config":648},"Investor relations",{"href":649,"dataGaName":650,"dataGaLocation":351},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":652,"config":653},"Trust Center",{"href":654,"dataGaName":655,"dataGaLocation":351},"/security/","trust center",{"text":657,"config":658},"AI Transparency Center",{"href":659,"dataGaName":660,"dataGaLocation":351},"/ai-transparency-center/","ai transparency center",{"text":662,"config":663},"Newsletter",{"href":664,"dataGaName":665,"dataGaLocation":351},"/company/contact/#contact-forms","newsletter",{"text":667,"config":668},"Press",{"href":669,"dataGaName":670,"dataGaLocation":351},"/press/","press",{"text":672,"config":673,"menu":674},"Contact us",{"dataNavLevelOne":618},{"type":402,"columns":675},[676],{"items":677},[678,683,688],{"text":679,"config":680},"Talk to sales",{"href":681,"dataGaName":682,"dataGaLocation":351},"/sales/","talk to sales",{"text":684,"config":685},"Support portal",{"href":686,"dataGaName":687,"dataGaLocation":351},"https://support.gitlab.com/hc/en-us","support portal",{"text":689,"config":690},"Customer portal",{"href":691,"dataGaName":692,"dataGaLocation":351},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":694,"login":695,"suggestions":702},"Close",{"text":696,"link":697},"To search repositories and projects, login to",{"text":698,"config":699},"gitlab.com",{"href":365,"dataGaName":700,"dataGaLocation":701},"search login","search",{"text":703,"default":704},"Suggestions",[705,707,711,713,717,721],{"text":382,"config":706},{"href":387,"dataGaName":382,"dataGaLocation":701},{"text":708,"config":709},"Code Suggestions (AI)",{"href":710,"dataGaName":708,"dataGaLocation":701},"/solutions/code-suggestions/",{"text":341,"config":712},{"href":419,"dataGaName":341,"dataGaLocation":701},{"text":714,"config":715},"GitLab on AWS",{"href":716,"dataGaName":714,"dataGaLocation":701},"/partners/technology-partners/aws/",{"text":718,"config":719},"GitLab on Google Cloud",{"href":720,"dataGaName":718,"dataGaLocation":701},"/partners/technology-partners/google-cloud-platform/",{"text":722,"config":723},"Why GitLab?",{"href":395,"dataGaName":722,"dataGaLocation":701},{"freeTrial":725,"mobileIcon":730,"desktopIcon":735,"secondaryButton":738},{"text":726,"config":727},"Start free trial",{"href":728,"dataGaName":356,"dataGaLocation":729},"https://gitlab.com/-/trials/new/","nav",{"altText":731,"config":732},"Gitlab Icon",{"src":733,"dataGaName":734,"dataGaLocation":729},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":731,"config":736},{"src":737,"dataGaName":734,"dataGaLocation":729},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":739,"config":740},"Get Started",{"href":741,"dataGaName":742,"dataGaLocation":729},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":744,"mobileIcon":748,"desktopIcon":750},{"text":745,"config":746},"Learn more about GitLab Duo",{"href":387,"dataGaName":747,"dataGaLocation":729},"gitlab duo",{"altText":731,"config":749},{"src":733,"dataGaName":734,"dataGaLocation":729},{"altText":731,"config":751},{"src":737,"dataGaName":734,"dataGaLocation":729},{"button":753,"mobileIcon":758,"desktopIcon":760},{"text":754,"config":755},"/switch",{"href":756,"dataGaName":757,"dataGaLocation":729},"#contact","switch",{"altText":731,"config":759},{"src":733,"dataGaName":734,"dataGaLocation":729},{"altText":731,"config":761},{"src":762,"dataGaName":734,"dataGaLocation":729},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":764,"mobileIcon":769,"desktopIcon":771},{"text":765,"config":766},"Back to pricing",{"href":499,"dataGaName":767,"dataGaLocation":729,"icon":768},"back to pricing","GoBack",{"altText":731,"config":770},{"src":733,"dataGaName":734,"dataGaLocation":729},{"altText":731,"config":772},{"src":737,"dataGaName":734,"dataGaLocation":729},{"title":774,"titleMobile":775,"button":776,"config":781},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":393,"config":777},{"href":778,"dataGaName":779,"dataGaLocation":780},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":782,"disabled":329},"release",{"data":784},{"text":785,"source":786,"edit":792,"contribute":797,"config":802,"items":807,"minimal":1017},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":787,"config":788},"View page source",{"href":789,"dataGaName":790,"dataGaLocation":791},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":793,"config":794},"Edit this page",{"href":795,"dataGaName":796,"dataGaLocation":791},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":798,"config":799},"Please contribute",{"href":800,"dataGaName":801,"dataGaLocation":791},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":803,"facebook":804,"youtube":805,"linkedin":806},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[808,855,909,953,985],{"title":497,"links":809,"subMenu":824},[810,814,819],{"text":811,"config":812},"View plans",{"href":499,"dataGaName":813,"dataGaLocation":791},"view plans",{"text":815,"config":816},"Why Premium?",{"href":817,"dataGaName":818,"dataGaLocation":791},"/pricing/premium/","why premium",{"text":820,"config":821},"Why Ultimate?",{"href":822,"dataGaName":823,"dataGaLocation":791},"/pricing/ultimate/","why ultimate",[825],{"title":826,"links":827},"Contact Us",[828,831,833,835,840,845,850],{"text":829,"config":830},"Contact sales",{"href":681,"dataGaName":361,"dataGaLocation":791},{"text":684,"config":832},{"href":686,"dataGaName":687,"dataGaLocation":791},{"text":689,"config":834},{"href":691,"dataGaName":692,"dataGaLocation":791},{"text":836,"config":837},"Status",{"href":838,"dataGaName":839,"dataGaLocation":791},"https://status.gitlab.com/","status",{"text":841,"config":842},"Terms of use",{"href":843,"dataGaName":844,"dataGaLocation":791},"/terms/","terms of use",{"text":846,"config":847},"Privacy statement",{"href":848,"dataGaName":849,"dataGaLocation":791},"/privacy/","privacy statement",{"text":851,"config":852},"Cookie preferences",{"dataGaName":853,"dataGaLocation":791,"id":854,"isOneTrustButton":332},"cookie preferences","ot-sdk-btn",{"title":398,"links":856,"subMenu":865},[857,861],{"text":858,"config":859},"DevSecOps platform",{"href":380,"dataGaName":860,"dataGaLocation":791},"devsecops platform",{"text":862,"config":863},"AI-Assisted Development",{"href":387,"dataGaName":864,"dataGaLocation":791},"ai-assisted development",[866],{"title":867,"links":868},"Topics",[869,874,879,884,889,894,899,904],{"text":870,"config":871},"CICD",{"href":872,"dataGaName":873,"dataGaLocation":791},"/topics/ci-cd/","cicd",{"text":875,"config":876},"GitOps",{"href":877,"dataGaName":878,"dataGaLocation":791},"/topics/gitops/","gitops",{"text":880,"config":881},"DevOps",{"href":882,"dataGaName":883,"dataGaLocation":791},"/topics/devops/","devops",{"text":885,"config":886},"Version Control",{"href":887,"dataGaName":888,"dataGaLocation":791},"/topics/version-control/","version control",{"text":890,"config":891},"DevSecOps",{"href":892,"dataGaName":893,"dataGaLocation":791},"/topics/devsecops/","devsecops",{"text":895,"config":896},"Cloud Native",{"href":897,"dataGaName":898,"dataGaLocation":791},"/topics/cloud-native/","cloud native",{"text":900,"config":901},"AI for Coding",{"href":902,"dataGaName":903,"dataGaLocation":791},"/topics/devops/ai-for-coding/","ai for coding",{"text":905,"config":906},"Agentic AI",{"href":907,"dataGaName":908,"dataGaLocation":791},"/topics/agentic-ai/","agentic ai",{"title":910,"links":911},"Solutions",[912,914,916,921,925,928,932,935,937,940,943,948],{"text":441,"config":913},{"href":436,"dataGaName":441,"dataGaLocation":791},{"text":430,"config":915},{"href":414,"dataGaName":415,"dataGaLocation":791},{"text":917,"config":918},"Agile development",{"href":919,"dataGaName":920,"dataGaLocation":791},"/solutions/agile-delivery/","agile delivery",{"text":922,"config":923},"SCM",{"href":426,"dataGaName":924,"dataGaLocation":791},"source code management",{"text":870,"config":926},{"href":419,"dataGaName":927,"dataGaLocation":791},"continuous integration & delivery",{"text":929,"config":930},"Value stream management",{"href":469,"dataGaName":931,"dataGaLocation":791},"value stream management",{"text":875,"config":933},{"href":934,"dataGaName":878,"dataGaLocation":791},"/solutions/gitops/",{"text":479,"config":936},{"href":482,"dataGaName":483,"dataGaLocation":791},{"text":938,"config":939},"Small business",{"href":488,"dataGaName":489,"dataGaLocation":791},{"text":941,"config":942},"Public sector",{"href":494,"dataGaName":495,"dataGaLocation":791},{"text":944,"config":945},"Education",{"href":946,"dataGaName":947,"dataGaLocation":791},"/solutions/education/","education",{"text":949,"config":950},"Financial services",{"href":951,"dataGaName":952,"dataGaLocation":791},"/solutions/finance/","financial services",{"title":502,"links":954},[955,957,959,961,964,966,969,971,973,975,977,979,981,983],{"text":515,"config":956},{"href":517,"dataGaName":518,"dataGaLocation":791},{"text":520,"config":958},{"href":522,"dataGaName":523,"dataGaLocation":791},{"text":525,"config":960},{"href":527,"dataGaName":528,"dataGaLocation":791},{"text":530,"config":962},{"href":532,"dataGaName":963,"dataGaLocation":791},"docs",{"text":553,"config":965},{"href":555,"dataGaName":556,"dataGaLocation":791},{"text":967,"config":968},"What's new",{"href":613,"dataGaName":614,"dataGaLocation":791},{"text":548,"config":970},{"href":550,"dataGaName":551,"dataGaLocation":791},{"text":567,"config":972},{"href":569,"dataGaName":570,"dataGaLocation":791},{"text":575,"config":974},{"href":577,"dataGaName":578,"dataGaLocation":791},{"text":580,"config":976},{"href":582,"dataGaName":583,"dataGaLocation":791},{"text":585,"config":978},{"href":587,"dataGaName":588,"dataGaLocation":791},{"text":590,"config":980},{"href":592,"dataGaName":593,"dataGaLocation":791},{"text":595,"config":982},{"href":597,"dataGaName":598,"dataGaLocation":791},{"text":600,"config":984},{"href":602,"dataGaName":603,"dataGaLocation":791},{"title":616,"links":986},[987,989,991,993,995,997,1001,1006,1008,1010,1012],{"text":624,"config":988},{"href":626,"dataGaName":618,"dataGaLocation":791},{"text":629,"config":990},{"href":631,"dataGaName":632,"dataGaLocation":791},{"text":637,"config":992},{"href":639,"dataGaName":640,"dataGaLocation":791},{"text":642,"config":994},{"href":644,"dataGaName":645,"dataGaLocation":791},{"text":647,"config":996},{"href":649,"dataGaName":650,"dataGaLocation":791},{"text":998,"config":999},"Sustainability",{"href":1000,"dataGaName":998,"dataGaLocation":791},"/sustainability/",{"text":1002,"config":1003},"Diversity, inclusion and belonging (DIB)",{"href":1004,"dataGaName":1005,"dataGaLocation":791},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":652,"config":1007},{"href":654,"dataGaName":655,"dataGaLocation":791},{"text":662,"config":1009},{"href":664,"dataGaName":665,"dataGaLocation":791},{"text":667,"config":1011},{"href":669,"dataGaName":670,"dataGaLocation":791},{"text":1013,"config":1014},"Modern Slavery Transparency Statement",{"href":1015,"dataGaName":1016,"dataGaLocation":791},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1018},[1019,1022,1025],{"text":1020,"config":1021},"Terms",{"href":843,"dataGaName":844,"dataGaLocation":791},{"text":1023,"config":1024},"Cookies",{"dataGaName":853,"dataGaLocation":791,"id":854,"isOneTrustButton":332},{"text":1026,"config":1027},"Privacy",{"href":848,"dataGaName":849,"dataGaLocation":791},[1029],{"id":1030,"title":7,"body":328,"config":1031,"content":1033,"description":328,"extension":1036,"meta":1037,"navigation":332,"path":1038,"seo":1039,"stem":1040,"__hash__":1041},"blogAuthors/en-us/blog/authors/chris-ward.yml",{"template":1032},"BlogAuthor",{"name":7,"config":1034},{"headshot":305,"ctfId":1035},"chrischinchilla","yml",{},"/en-us/blog/authors/chris-ward",{},"en-us/blog/authors/chris-ward","s6AoD3b4GWiDm4D5LYp211_jt-avxp6NS2U1SCgnHW0",[1043,1051,1058],{"title":1044,"description":1045,"heroImage":1046,"category":324,"date":1047,"authors":1048,"slug":1050,"externalUrl":328},"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",[1049],"Manav Khurana","gitlab-leader-2026-gartner-mq-devsecops-platforms",{"title":1052,"description":1053,"heroImage":1054,"category":324,"date":1047,"authors":1055,"slug":1057,"externalUrl":328},"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",[1056],"Alex Picker","gitlab-and-capgemini-global-alliance-partnership",{"title":1059,"description":1060,"heroImage":1061,"category":324,"date":1047,"authors":1062,"slug":1063,"externalUrl":328},"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",[1056],"2026-emea-gitlab-partner-awards",{"promotions":1065},[1066,1080,1092,1104],{"id":1067,"categories":1068,"header":1070,"text":1071,"button":1072,"image":1077},"ai-modernization",[1069],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1073,"config":1074},"Get your AI maturity score",{"href":1075,"dataGaName":1076,"dataGaLocation":556},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1078},{"src":1079},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1081,"categories":1082,"header":1084,"text":1071,"button":1085,"image":1089},"devops-modernization",[1083,893],"product","Are you just managing tools or shipping innovation?",{"text":1086,"config":1087},"Get your DevOps maturity score",{"href":1088,"dataGaName":1076,"dataGaLocation":556},"/assessments/devops-modernization-assessment/",{"config":1090},{"src":1091},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1093,"categories":1094,"header":1096,"text":1071,"button":1097,"image":1101},"security-modernization",[1095],"security","Are you trading speed for security?",{"text":1098,"config":1099},"Get your security maturity score",{"href":1100,"dataGaName":1076,"dataGaLocation":556},"/assessments/security-modernization-assessment/",{"config":1102},{"src":1103},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1105,"paths":1106,"header":1109,"text":1110,"button":1111,"image":1116},"github-azure-migration",[1107,1108],"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":1112,"config":1113},"See how GitLab compares to GitHub",{"href":1114,"dataGaName":1115,"dataGaLocation":556},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1117},{"src":1091},{"header":1119,"blurb":1120,"button":1121,"secondaryButton":1126},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1122,"config":1123},"Get your free trial",{"href":1124,"dataGaName":356,"dataGaLocation":1125},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":829,"config":1127},{"href":681,"dataGaName":361,"dataGaLocation":1125},1786803747541]