[{"data":1,"prerenderedAt":914},["ShallowReactive",2],{"/blog/why-gitops-should-be-workflow-of-choice":3,"navigation-en-us":134,"banner-en-us":559,"footer-en-us":569,"blog-post-authors-en-us-Brendan O'Leary":809,"blog-related-posts-en-us-why-gitops-should-be-workflow-of-choice":824,"blog-promotions-en-us":850,"next-steps-en-us":904},{"id":4,"title":5,"authors":6,"body":8,"category":112,"date":113,"description":114,"extension":115,"externalUrl":116,"faq":116,"featured":117,"heroImage":118,"meta":119,"navigation":120,"path":121,"seo":122,"slug":126,"stem":127,"tags":128,"template":132,"updatedDate":116,"__hash__":133},"blogPosts/en-us/blog/why-gitops-should-be-workflow-of-choice.md","Why GitOps should be the workflow of choice",[7],"Brendan O'Leary",{"type":9,"value":10,"toc":105},"minimark",[11,16,20,34,42,46,53,61,69,73,76,79,88,91],[12,13,15],"h2",{"id":14},"how-did-we-get-here","How did we get here?",[17,18,19],"p",{},"In 2006, with the launch of AWS Elastic Compute, Amazon set off a revolution in the way we, as developers, consume and use compute and other resources required to deploy and maintain the applications we write. Not long after, infrastructure-as-code started to explode onto the scene with projects like Puppet, Ansible, and Terraform.",[17,21,22,23,28,29,33],{},"As these technologies matured, it became apparent that scaling applications in a modern or cloud environment required reproducible, reusable components, and infrastructure-as-code became the gold standard for ensuring the proper allocation of resources to an application. At the same time, the infrastructure space and world of software continued to evolve. The concept of ",[24,25,27],"a",{"href":26},"/topics/ci-cd/","continuous delivery"," and release of software came into vogue and was popularized by large technology companies. The \"book\" on continuous delivery came in 2011, where it became apparent that to move fast enough to keep up with market demands, a radically ",[24,30,32],{"href":31},"/topics/devops/","faster DevOps"," cycle was required.",[17,35,36,37,41],{},"As continuous delivery for software becomes more commonplace, new solutions in the infrastructure space have been created to keep up. Kubernetes and the rise of ",[24,38,40],{"href":39},"/topics/serverless/","\"serverless\""," promised to once again free developers from the need to worry about infrastructure. In a post-DevOps world - how does one think about infrastructure-as-code and applications as one cohesive unit?  Enter GitOps.",[12,43,45],{"id":44},"what-is-gitops","What is GitOps?",[17,47,48,52],{},[24,49,51],{"href":50},"/topics/gitops/","GitOps"," is conceptually not that different from either infrastructure-as-code or continuous delivery. In fact, in many ways, it is the convergence of those two concepts. Developers and operations teams alike can share a common repository of code, and GitOps allows a developer-like experience for managing applications and their underlying infrastructure. In that way, you can use GitOps as an operating model for modern infrastructures like Kubernetes, serverless, and other cloud native technologies.",[17,54,55,56,60],{},"Version control and ",[24,57,59],{"href":58},"/solutions/continuous-integration/","continuous integration"," are essential tools for deploying software continuously and reliably. GitOps brings both of those software best practices to operations by making the repository the central-source-of-truth for all of the infrastructure required to run applications. With GitOps, any change to infrastructure is committed to the git repository along with any application changes.",[17,62,63,64,68],{},"This allows developers and operators to use familiar development patterns and branching strategies. From there, a merge request provides the ",[24,65,67],{"href":66},"/topics/gitops/gitops-gitlab-collaboration/","central place to collaborate"," and suggest changes. Once merged into the mainline, CI/CD should be configured to deploy both the application and infrastructure changes automatically. The way this enables synchronization between developers and operators is what can be very appealing about GitOps as the next iteration of DevOps.",[12,70,72],{"id":71},"why-gitops","Why GitOps?",[17,74,75],{},"Why are so many organizations large and small considering a move to a more GitOps-focused culture?",[17,77,78],{},"As software has eaten the world, business operational excellence has become directly aligned with the ability to deliver quality software faster. Business survival depends on adaptive and efficient software development practices. Those practices require new processes and changes in the way we think about change management.",[17,80,81,82,87],{},"In many software practices, the concept of code review and approval is where most of the checks and balances for deploying production code comes into play. At GitLab, we believe that the ",[24,83,86],{"href":84,"rel":85},"https://docs.gitlab.com/user/project/merge_requests/",[],"merge request"," is the best place to collaborate on code and approve changes.  Processes and tools that are external to the code change only serve to increase cycle time and inhibit an organization’s ability to deploy code quickly.",[17,89,90],{},"Once an organization has embraced continuous integration and code review as the place for change request approval, it is a natural progression to discuss the idea of continuous delivery to production after those CI gates and human approvals are passed. As GitOps takes that concept a step further and integrates the pipeline to production directly in the git and merge request workflow, it’s become a hot topic and one that will become the normal workflow for efficient software organizations. Taking unnecessary steps and tools out of the critical path to production enables an organization to deliver better products faster, without sacrificing the governance required to deploy code.",[17,92,93,94,99,100],{},"Cover image by ",[24,95,98],{"href":96,"rel":97},"https://unsplash.com/@shiroscope",[],"Shiro Hatori"," on ",[24,101,104],{"href":102,"rel":103},"https://www.unsplash.com",[],"Unsplash",{"title":106,"searchDepth":107,"depth":107,"links":108},"",2,[109,110,111],{"id":14,"depth":107,"text":15},{"id":44,"depth":107,"text":45},{"id":71,"depth":107,"text":72},"engineering","2020-04-17","What is GitOps and how do you apply it in real-world applications?","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681239/Blog/Hero%20Images/shiro-hatori-WR-ifjFy4CI-unsplash.jpg",{},true,"/en-us/blog/why-gitops-should-be-workflow-of-choice",{"title":5,"description":114,"ogTitle":5,"ogDescription":114,"noIndex":117,"ogImage":118,"ogUrl":123,"ogSiteName":124,"ogType":125,"canonicalUrls":123},"https://about.gitlab.com/blog/why-gitops-should-be-workflow-of-choice","https://about.gitlab.com","article","why-gitops-should-be-workflow-of-choice","en-us/blog/why-gitops-should-be-workflow-of-choice",[129,130,131],"CI/CD","cloud native","integrations","BlogPost","hT6g--fCHRVvaof11yoBeIQtf67DjtrV_TmDFOTvLF0",{"logo":135,"freeTrial":140,"sales":145,"login":150,"items":155,"search":479,"minimal":510,"duo":529,"switchNav":538,"pricingDeployment":549},{"config":136},{"href":137,"dataGaName":138,"dataGaLocation":139},"/","gitlab logo","header",{"text":141,"config":142},"Get free trial",{"href":143,"dataGaName":144,"dataGaLocation":139},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":146,"config":147},"Request a demo",{"href":148,"dataGaName":149,"dataGaLocation":139},"/sales/?contact-topic=request-demo","sales",{"text":151,"config":152},"Sign in",{"href":153,"dataGaName":154,"dataGaLocation":139},"https://gitlab.com/users/sign_in/","sign in",[156,185,283,288,401,457],{"text":157,"config":158,"menu":160},"Platform",{"dataNavLevelOne":159},"platform",{"type":161,"columns":162},"cards",[163,169,177],{"title":157,"description":164,"link":165},"The intelligent orchestration platform for DevSecOps",{"text":166,"config":167},"Explore our Platform",{"href":168,"dataGaName":159,"dataGaLocation":139},"/platform/",{"title":170,"description":171,"link":172},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":173,"config":174},"Meet GitLab Duo",{"href":175,"dataGaName":176,"dataGaLocation":139},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":178,"description":179,"link":180},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":181,"config":182},"Learn more",{"href":183,"dataGaName":184,"dataGaLocation":139},"/why-gitlab/","why gitlab",{"text":186,"left":120,"config":187,"menu":189},"Product",{"dataNavLevelOne":188},"solutions",{"type":190,"link":191,"columns":195,"feature":262},"lists",{"text":192,"config":193},"View all Solutions",{"href":194,"dataGaName":188,"dataGaLocation":139},"/solutions/",[196,218,241],{"title":197,"description":198,"link":199,"items":204},"Automation","CI/CD and automation to accelerate deployment",{"config":200},{"icon":201,"href":202,"dataGaName":203,"dataGaLocation":139},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[205,207,210,214],{"text":129,"config":206},{"href":58,"dataGaLocation":139,"dataGaName":129},{"text":170,"config":208},{"href":175,"dataGaLocation":139,"dataGaName":209},"gitlab duo agent platform - product menu",{"text":211,"config":212},"Source Code Management",{"href":213,"dataGaLocation":139,"dataGaName":211},"/solutions/source-code-management/",{"text":215,"config":216},"Automated Software Delivery",{"href":202,"dataGaLocation":139,"dataGaName":217},"Automated software delivery",{"title":219,"description":220,"link":221,"items":226},"Security","Deliver code faster without compromising security",{"config":222},{"href":223,"dataGaName":224,"dataGaLocation":139,"icon":225},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[227,231,236],{"text":228,"config":229},"Application Security Testing",{"href":223,"dataGaName":230,"dataGaLocation":139},"Application security testing",{"text":232,"config":233},"Software Supply Chain Security",{"href":234,"dataGaLocation":139,"dataGaName":235},"/solutions/supply-chain/","Software supply chain security",{"text":237,"config":238},"Software Compliance",{"href":239,"dataGaName":240,"dataGaLocation":139},"/solutions/software-compliance/","software compliance",{"title":242,"link":243,"items":248},"Measurement",{"config":244},{"icon":245,"href":246,"dataGaName":247,"dataGaLocation":139},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[249,253,257],{"text":250,"config":251},"Visibility & Measurement",{"href":246,"dataGaLocation":139,"dataGaName":252},"Visibility and Measurement",{"text":254,"config":255},"Value Stream Management",{"href":256,"dataGaLocation":139,"dataGaName":254},"/solutions/value-stream-management/",{"text":258,"config":259},"Analytics & Insights",{"href":260,"dataGaLocation":139,"dataGaName":261},"/solutions/analytics-and-insights/","Analytics and insights",{"title":263,"type":190,"items":264},"GitLab for",[265,271,277],{"text":266,"config":267},"Enterprise",{"icon":268,"href":269,"dataGaLocation":139,"dataGaName":270},"Building","/enterprise/","enterprise",{"text":272,"config":273},"Small Business",{"icon":274,"href":275,"dataGaLocation":139,"dataGaName":276},"Work","/small-business/","small business",{"text":278,"config":279},"Public Sector",{"icon":280,"href":281,"dataGaLocation":139,"dataGaName":282},"Organization","/solutions/public-sector/","public sector",{"text":284,"config":285},"Pricing",{"href":286,"dataGaName":287,"dataGaLocation":139,"dataNavLevelOne":287},"/pricing/","pricing",{"text":289,"config":290,"menu":292},"Resources",{"dataNavLevelOne":291},"resources",{"type":190,"link":293,"columns":297,"feature":390},{"text":294,"config":295},"View all resources",{"href":296,"dataGaName":291,"dataGaLocation":139},"/resources/",[298,330,357],{"title":299,"items":300},"Getting started",[301,306,311,316,321,326],{"text":302,"config":303},"Install",{"href":304,"dataGaName":305,"dataGaLocation":139},"/install/","install",{"text":307,"config":308},"Quick start guides",{"href":309,"dataGaName":310,"dataGaLocation":139},"/get-started/","quick setup checklists",{"text":312,"config":313},"Learn",{"href":314,"dataGaLocation":139,"dataGaName":315},"https://university.gitlab.com/","learn",{"text":317,"config":318},"Product documentation",{"href":319,"dataGaName":320,"dataGaLocation":139},"https://docs.gitlab.com/","product documentation",{"text":322,"config":323},"Best practice videos",{"href":324,"dataGaName":325,"dataGaLocation":139},"/getting-started-videos/","best practice videos",{"text":327,"config":328},"Integrations",{"href":329,"dataGaName":131,"dataGaLocation":139},"/integrations/",{"title":331,"items":332},"Discover",[333,338,343,348,352],{"text":334,"config":335},"Customer success stories",{"href":336,"dataGaName":337,"dataGaLocation":139},"/customers/","customer success stories",{"text":339,"config":340},"Blog",{"href":341,"dataGaName":342,"dataGaLocation":139},"/blog/","blog",{"text":344,"config":345},"Demo Hub",{"href":346,"dataGaName":347,"dataGaLocation":139},"/demo-hub/","demo hub",{"text":349,"config":350},"The Source",{"href":351,"dataGaName":342,"dataGaLocation":139},"/the-source/",{"text":353,"config":354},"Remote",{"href":355,"dataGaName":356,"dataGaLocation":139},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":358,"items":359},"Connect",[360,365,370,375,380,385],{"text":361,"config":362},"GitLab Services",{"href":363,"dataGaName":364,"dataGaLocation":139},"/services/","services",{"text":366,"config":367},"Contribute",{"href":368,"dataGaName":369,"dataGaLocation":139},"https://contributors.gitlab.com","contribute",{"text":371,"config":372},"Community",{"href":373,"dataGaName":374,"dataGaLocation":139},"/community/","community",{"text":376,"config":377},"Forum",{"href":378,"dataGaName":379,"dataGaLocation":139},"https://forum.gitlab.com/","forum",{"text":381,"config":382},"Events",{"href":383,"dataGaName":384,"dataGaLocation":139},"/events/","events",{"text":386,"config":387},"Partners",{"href":388,"dataGaName":389,"dataGaLocation":139},"/partners/","partners",{"config":391,"title":394,"text":395,"link":396},{"background":392,"textColor":393},"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":397,"config":398},"Read the latest",{"href":399,"dataGaName":400,"dataGaLocation":139},"/whats-new/","whats new",{"text":402,"config":403,"menu":405},"Company",{"dataNavLevelOne":404},"company",{"type":190,"columns":406},[407],{"items":408},[409,414,420,422,427,432,437,442,447,452],{"text":410,"config":411},"About",{"href":412,"dataGaName":413,"dataGaLocation":139},"/company/","about",{"text":415,"config":416,"footerGa":419},"Jobs",{"href":417,"dataGaName":418,"dataGaLocation":139},"/jobs/","jobs",{"dataGaName":418},{"text":381,"config":421},{"href":383,"dataGaName":384,"dataGaLocation":139},{"text":423,"config":424},"Leadership",{"href":425,"dataGaName":426,"dataGaLocation":139},"/company/team/e-group/","leadership",{"text":428,"config":429},"Handbook",{"href":430,"dataGaName":431,"dataGaLocation":139},"https://handbook.gitlab.com/","handbook",{"text":433,"config":434},"Investor relations",{"href":435,"dataGaName":436,"dataGaLocation":139},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":438,"config":439},"Trust Center",{"href":440,"dataGaName":441,"dataGaLocation":139},"/security/","trust center",{"text":443,"config":444},"AI Transparency Center",{"href":445,"dataGaName":446,"dataGaLocation":139},"/ai-transparency-center/","ai transparency center",{"text":448,"config":449},"Newsletter",{"href":450,"dataGaName":451,"dataGaLocation":139},"/company/contact/#contact-forms","newsletter",{"text":453,"config":454},"Press",{"href":455,"dataGaName":456,"dataGaLocation":139},"/press/","press",{"text":458,"config":459,"menu":460},"Contact us",{"dataNavLevelOne":404},{"type":190,"columns":461},[462],{"items":463},[464,469,474],{"text":465,"config":466},"Talk to sales",{"href":467,"dataGaName":468,"dataGaLocation":139},"/sales/","talk to sales",{"text":470,"config":471},"Support portal",{"href":472,"dataGaName":473,"dataGaLocation":139},"https://support.gitlab.com/hc/en-us","support portal",{"text":475,"config":476},"Customer portal",{"href":477,"dataGaName":478,"dataGaLocation":139},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":480,"login":481,"suggestions":488},"Close",{"text":482,"link":483},"To search repositories and projects, login to",{"text":484,"config":485},"gitlab.com",{"href":153,"dataGaName":486,"dataGaLocation":487},"search login","search",{"text":489,"default":490},"Suggestions",[491,493,497,499,503,507],{"text":170,"config":492},{"href":175,"dataGaName":170,"dataGaLocation":487},{"text":494,"config":495},"Code Suggestions (AI)",{"href":496,"dataGaName":494,"dataGaLocation":487},"/solutions/code-suggestions/",{"text":129,"config":498},{"href":58,"dataGaName":129,"dataGaLocation":487},{"text":500,"config":501},"GitLab on AWS",{"href":502,"dataGaName":500,"dataGaLocation":487},"/partners/technology-partners/aws/",{"text":504,"config":505},"GitLab on Google Cloud",{"href":506,"dataGaName":504,"dataGaLocation":487},"/partners/technology-partners/google-cloud-platform/",{"text":508,"config":509},"Why GitLab?",{"href":183,"dataGaName":508,"dataGaLocation":487},{"freeTrial":511,"mobileIcon":516,"desktopIcon":521,"secondaryButton":524},{"text":512,"config":513},"Start free trial",{"href":514,"dataGaName":144,"dataGaLocation":515},"https://gitlab.com/-/trials/new/","nav",{"altText":517,"config":518},"Gitlab Icon",{"src":519,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":517,"config":522},{"src":523,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":525,"config":526},"Get Started",{"href":527,"dataGaName":528,"dataGaLocation":515},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":530,"mobileIcon":534,"desktopIcon":536},{"text":531,"config":532},"Learn more about GitLab Duo",{"href":175,"dataGaName":533,"dataGaLocation":515},"gitlab duo",{"altText":517,"config":535},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":537},{"src":523,"dataGaName":520,"dataGaLocation":515},{"button":539,"mobileIcon":544,"desktopIcon":546},{"text":540,"config":541},"/switch",{"href":542,"dataGaName":543,"dataGaLocation":515},"#contact","switch",{"altText":517,"config":545},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":547},{"src":548,"dataGaName":520,"dataGaLocation":515},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":550,"mobileIcon":555,"desktopIcon":557},{"text":551,"config":552},"Back to pricing",{"href":286,"dataGaName":553,"dataGaLocation":515,"icon":554},"back to pricing","GoBack",{"altText":517,"config":556},{"src":519,"dataGaName":520,"dataGaLocation":515},{"altText":517,"config":558},{"src":523,"dataGaName":520,"dataGaLocation":515},{"title":560,"titleMobile":561,"button":562,"config":567},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":181,"config":563},{"href":564,"dataGaName":565,"dataGaLocation":566},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":568,"disabled":117},"release",{"data":570},{"text":571,"source":572,"edit":578,"contribute":583,"config":588,"items":593,"minimal":798},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":573,"config":574},"View page source",{"href":575,"dataGaName":576,"dataGaLocation":577},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":579,"config":580},"Edit this page",{"href":581,"dataGaName":582,"dataGaLocation":577},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":584,"config":585},"Please contribute",{"href":586,"dataGaName":587,"dataGaLocation":577},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":589,"facebook":590,"youtube":591,"linkedin":592},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[594,641,690,734,766],{"title":284,"links":595,"subMenu":610},[596,600,605],{"text":597,"config":598},"View plans",{"href":286,"dataGaName":599,"dataGaLocation":577},"view plans",{"text":601,"config":602},"Why Premium?",{"href":603,"dataGaName":604,"dataGaLocation":577},"/pricing/premium/","why premium",{"text":606,"config":607},"Why Ultimate?",{"href":608,"dataGaName":609,"dataGaLocation":577},"/pricing/ultimate/","why ultimate",[611],{"title":612,"links":613},"Contact Us",[614,617,619,621,626,631,636],{"text":615,"config":616},"Contact sales",{"href":467,"dataGaName":149,"dataGaLocation":577},{"text":470,"config":618},{"href":472,"dataGaName":473,"dataGaLocation":577},{"text":475,"config":620},{"href":477,"dataGaName":478,"dataGaLocation":577},{"text":622,"config":623},"Status",{"href":624,"dataGaName":625,"dataGaLocation":577},"https://status.gitlab.com/","status",{"text":627,"config":628},"Terms of use",{"href":629,"dataGaName":630,"dataGaLocation":577},"/terms/","terms of use",{"text":632,"config":633},"Privacy statement",{"href":634,"dataGaName":635,"dataGaLocation":577},"/privacy/","privacy statement",{"text":637,"config":638},"Cookie preferences",{"dataGaName":639,"dataGaLocation":577,"id":640,"isOneTrustButton":120},"cookie preferences","ot-sdk-btn",{"title":186,"links":642,"subMenu":651},[643,647],{"text":644,"config":645},"DevSecOps platform",{"href":168,"dataGaName":646,"dataGaLocation":577},"devsecops platform",{"text":648,"config":649},"AI-Assisted Development",{"href":175,"dataGaName":650,"dataGaLocation":577},"ai-assisted development",[652],{"title":653,"links":654},"Topics",[655,659,662,666,671,676,680,685],{"text":656,"config":657},"CICD",{"href":26,"dataGaName":658,"dataGaLocation":577},"cicd",{"text":51,"config":660},{"href":50,"dataGaName":661,"dataGaLocation":577},"gitops",{"text":663,"config":664},"DevOps",{"href":31,"dataGaName":665,"dataGaLocation":577},"devops",{"text":667,"config":668},"Version Control",{"href":669,"dataGaName":670,"dataGaLocation":577},"/topics/version-control/","version control",{"text":672,"config":673},"DevSecOps",{"href":674,"dataGaName":675,"dataGaLocation":577},"/topics/devsecops/","devsecops",{"text":677,"config":678},"Cloud Native",{"href":679,"dataGaName":130,"dataGaLocation":577},"/topics/cloud-native/",{"text":681,"config":682},"AI for Coding",{"href":683,"dataGaName":684,"dataGaLocation":577},"/topics/devops/ai-for-coding/","ai for coding",{"text":686,"config":687},"Agentic AI",{"href":688,"dataGaName":689,"dataGaLocation":577},"/topics/agentic-ai/","agentic ai",{"title":691,"links":692},"Solutions",[693,695,697,702,706,709,713,716,718,721,724,729],{"text":228,"config":694},{"href":223,"dataGaName":228,"dataGaLocation":577},{"text":217,"config":696},{"href":202,"dataGaName":203,"dataGaLocation":577},{"text":698,"config":699},"Agile development",{"href":700,"dataGaName":701,"dataGaLocation":577},"/solutions/agile-delivery/","agile delivery",{"text":703,"config":704},"SCM",{"href":213,"dataGaName":705,"dataGaLocation":577},"source code management",{"text":656,"config":707},{"href":58,"dataGaName":708,"dataGaLocation":577},"continuous integration & delivery",{"text":710,"config":711},"Value stream management",{"href":256,"dataGaName":712,"dataGaLocation":577},"value stream management",{"text":51,"config":714},{"href":715,"dataGaName":661,"dataGaLocation":577},"/solutions/gitops/",{"text":266,"config":717},{"href":269,"dataGaName":270,"dataGaLocation":577},{"text":719,"config":720},"Small business",{"href":275,"dataGaName":276,"dataGaLocation":577},{"text":722,"config":723},"Public sector",{"href":281,"dataGaName":282,"dataGaLocation":577},{"text":725,"config":726},"Education",{"href":727,"dataGaName":728,"dataGaLocation":577},"/solutions/education/","education",{"text":730,"config":731},"Financial services",{"href":732,"dataGaName":733,"dataGaLocation":577},"/solutions/finance/","financial services",{"title":289,"links":735},[736,738,740,742,745,747,750,752,754,756,758,760,762,764],{"text":302,"config":737},{"href":304,"dataGaName":305,"dataGaLocation":577},{"text":307,"config":739},{"href":309,"dataGaName":310,"dataGaLocation":577},{"text":312,"config":741},{"href":314,"dataGaName":315,"dataGaLocation":577},{"text":317,"config":743},{"href":319,"dataGaName":744,"dataGaLocation":577},"docs",{"text":339,"config":746},{"href":341,"dataGaName":342,"dataGaLocation":577},{"text":748,"config":749},"What's new",{"href":399,"dataGaName":400,"dataGaLocation":577},{"text":334,"config":751},{"href":336,"dataGaName":337,"dataGaLocation":577},{"text":353,"config":753},{"href":355,"dataGaName":356,"dataGaLocation":577},{"text":361,"config":755},{"href":363,"dataGaName":364,"dataGaLocation":577},{"text":366,"config":757},{"href":368,"dataGaName":369,"dataGaLocation":577},{"text":371,"config":759},{"href":373,"dataGaName":374,"dataGaLocation":577},{"text":376,"config":761},{"href":378,"dataGaName":379,"dataGaLocation":577},{"text":381,"config":763},{"href":383,"dataGaName":384,"dataGaLocation":577},{"text":386,"config":765},{"href":388,"dataGaName":389,"dataGaLocation":577},{"title":402,"links":767},[768,770,772,774,776,778,782,787,789,791,793],{"text":410,"config":769},{"href":412,"dataGaName":404,"dataGaLocation":577},{"text":415,"config":771},{"href":417,"dataGaName":418,"dataGaLocation":577},{"text":423,"config":773},{"href":425,"dataGaName":426,"dataGaLocation":577},{"text":428,"config":775},{"href":430,"dataGaName":431,"dataGaLocation":577},{"text":433,"config":777},{"href":435,"dataGaName":436,"dataGaLocation":577},{"text":779,"config":780},"Sustainability",{"href":781,"dataGaName":779,"dataGaLocation":577},"/sustainability/",{"text":783,"config":784},"Diversity, inclusion and belonging (DIB)",{"href":785,"dataGaName":786,"dataGaLocation":577},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":438,"config":788},{"href":440,"dataGaName":441,"dataGaLocation":577},{"text":448,"config":790},{"href":450,"dataGaName":451,"dataGaLocation":577},{"text":453,"config":792},{"href":455,"dataGaName":456,"dataGaLocation":577},{"text":794,"config":795},"Modern Slavery Transparency Statement",{"href":796,"dataGaName":797,"dataGaLocation":577},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":799},[800,803,806],{"text":801,"config":802},"Terms",{"href":629,"dataGaName":630,"dataGaLocation":577},{"text":804,"config":805},"Cookies",{"dataGaName":639,"dataGaLocation":577,"id":640,"isOneTrustButton":120},{"text":807,"config":808},"Privacy",{"href":634,"dataGaName":635,"dataGaLocation":577},[810],{"id":811,"title":812,"body":116,"config":813,"content":815,"description":116,"extension":818,"meta":819,"navigation":120,"path":820,"seo":821,"stem":822,"__hash__":823},"blogAuthors/en-us/blog/authors/brendan-oleary.yml","Brendan Oleary",{"template":814},"BlogAuthor",{"name":7,"config":816},{"headshot":106,"ctfId":817},"brendan","yml",{},"/en-us/blog/authors/brendan-oleary",{},"en-us/blog/authors/brendan-oleary","IkXVLft77WlFK-Vgo210ZM3Io_PCcrXnYzkBCzx153k",[825,834,842],{"title":826,"description":827,"heroImage":828,"category":112,"date":829,"authors":830,"slug":833,"externalUrl":116},"Confidential AI for GitLab Self-Hosted","Give developers AI coding agents in GitLab Duo without source code leaving a hardware-encrypted boundary — no GPUs needed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1773866173/vte9qh8rriznvyclhkes.png","2026-08-06",[831,832],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":835,"description":836,"heroImage":837,"category":112,"date":838,"authors":839,"slug":841,"externalUrl":116},"Green DevOps: Why carbon measurement belongs in your CI/CD pipeline","CI/CD pipelines have a hidden carbon cost. Here's why measuring it matters, and how you can get started with Eco CI and Carmen in GitLab.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1765809212/noh0mdfn9o94ry9ykura.png","2026-07-09",[840],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":843,"description":844,"heroImage":845,"category":112,"date":846,"authors":847,"slug":849,"externalUrl":116},"How to build CI/CD observability at scale","This practical guide to GitLab pipeline analytics helps self-managed users gain operational insights using Prometheus and Grafana.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-28",[848],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":851},[852,866,878,890],{"id":853,"categories":854,"header":856,"text":857,"button":858,"image":863},"ai-modernization",[855],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":859,"config":860},"Get your AI maturity score",{"href":861,"dataGaName":862,"dataGaLocation":342},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":864},{"src":865},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":867,"categories":868,"header":870,"text":857,"button":871,"image":875},"devops-modernization",[869,675],"product","Are you just managing tools or shipping innovation?",{"text":872,"config":873},"Get your DevOps maturity score",{"href":874,"dataGaName":862,"dataGaLocation":342},"/assessments/devops-modernization-assessment/",{"config":876},{"src":877},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":879,"categories":880,"header":882,"text":857,"button":883,"image":887},"security-modernization",[881],"security","Are you trading speed for security?",{"text":884,"config":885},"Get your security maturity score",{"href":886,"dataGaName":862,"dataGaLocation":342},"/assessments/security-modernization-assessment/",{"config":888},{"src":889},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":891,"paths":892,"header":895,"text":896,"button":897,"image":902},"github-azure-migration",[893,894],"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":898,"config":899},"See how GitLab compares to GitHub",{"href":900,"dataGaName":901,"dataGaLocation":342},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":903},{"src":877},{"header":905,"blurb":906,"button":907,"secondaryButton":912},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":908,"config":909},"Get your free trial",{"href":910,"dataGaName":144,"dataGaLocation":911},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":615,"config":913},{"href":467,"dataGaName":149,"dataGaLocation":911},1786734934098]