[{"data":1,"prerenderedAt":931},["ShallowReactive",2],{"/blog/conan-c-cpp-package-management-integration":3,"navigation-en-us":147,"banner-en-us":573,"footer-en-us":583,"blog-post-authors-en-us-Jordi Mon":827,"blog-related-posts-en-us-conan-c-cpp-package-management-integration":841,"blog-promotions-en-us":867,"next-steps-en-us":921},{"id":4,"title":5,"authors":6,"body":8,"category":124,"date":125,"description":126,"extension":127,"externalUrl":128,"faq":128,"featured":129,"heroImage":130,"meta":131,"navigation":132,"path":133,"seo":134,"slug":138,"stem":139,"tags":140,"template":145,"updatedDate":128,"__hash__":146},"blogPosts/en-us/blog/conan-c-cpp-package-management-integration.md","Modern C and C++: How Conan integration works in GitLab",[7],"Jordi Mon",{"type":9,"value":10,"toc":116},"minimark",[11,22,27,40,44,47,50,63,66,74,83,87,90,108],[12,13,14,15,21],"p",{},"As a single application for all the software development and delivery lifecycle, GitLab strives to support all the different software workflows and pipelines. Regardless of how complex this cycle might be (I’m looking at you C++), what we want to do is soothe these pains for C and C++ GitLab users. Following up on this metaphor, as doctors we would like to listen to the patient first: It all started with our community explaining their symptoms and chipping in the first ideas ",[16,17,20],"a",{"href":18,"rel":19},"https://gitlab.com/gitlab-org/gitlab-foss/issues/54747",[],"here",". This became even more relevant for GitLab when clients in C++ reliant industries like finance, robotics or embedded software added their interest to supporting package management for C++.",[23,24,26],"h3",{"id":25},"conan-is-now-available-on-gitlab","Conan is now available on GitLab",[12,28,29,30,34,35,39],{},"The C and C++ ecosystems have a ton of legacy tooling. It is what it is: they’ve been around for a long time and the community is, in a way, very DIY-driven. For example, many C++ libraries are advertised as “Zero deps inside.” This badge is intended as a sign of quality, and is even a bit of a status symbol for the devs and maintainers. That's fine for C/C++ developer but what about the users of such libs? Regardless of the actual quality of the lib’s code, if you wanted to use any of them, you’d better have a local, updated copy of them in a Git submodule. This is especially relevant for head-only monsters like Boost, the most popular set of libs in C++. In other words, in order to make use of them (that’s why they were created in the first place, I guess), you basically have to download the ",[16,31,33],{"href":32},"/solutions/source-code-management/","source code",", build it yourself (good luck with that), compile it and include the resulting binary in your project. This process can be time consuming and, if build processes are not well documented or supported, it can be exasperating. All of this can become a real nightmare if transitive dependencies are present, or if different ",[16,36,38],{"href":37},"/topics/version-control/","version control systems"," have been used. It's also tricky when deciding upon static or dynamic binaries, static or dynamic linking, single or multi-threaded, 32-bit or 64-bit…",[23,41,43],{"id":42},"how-to-build-c-and-c-packages-in-gitlab-the-conan-way","How to build C and C++ packages in GitLab the Conan way",[12,45,46],{},"The GitLab Conan integration allows Conan users to set GitLab as the remote registry for their packages. Users will be able to set the remote and upload and install packages from GitLab’s registry. Think of it this way: you still use the same CLI to work with your Conan packages, but GitLab is on the receiving end. In doing so, GitLab creates the unique opportunity to have the code and package generated from the code living in the same place, freeing users from having to manage multiple services to store packages and code separately and still have them working together. This allows users to share private packages within an organization that is already using GitLab, publish public packages for general or open source use, and will open up many possibilities in utilizing GitLab’s CI pipelines to build and consume these packages automatically.",[12,48,49],{},"Check out a full demo:",[51,52,55,56],"figure",{"className":53},[54],"video_container","\n  ",[57,58,62],"iframe",{"src":59,"frameBorder":60,"allowFullScreen":61},"https://www.youtube.com/embed/2VVmrKNpC_0","0","true"," ",[12,64,65],{},"or a speedrun of Conan performed by the team in charge of the integration:",[51,67,69,70,73],{"className":68},[54],"\n   ",[57,71,62],{"src":72,"frameBorder":60,"allowFullScreen":61},"https://www.youtube.com/embed/7NYgJWg-w5w","\n ",[12,75,76,77,82],{},"If you need more help you can always refer to the ",[16,78,81],{"href":79,"rel":80},"https://docs.conan.io/en/latest/",[],"Conan docs",".",[23,84,86],{"id":85},"the-future-of-c-and-c-in-gitlab-game-development-workflows","The future of C and C++ in GitLab: Game development workflows!",[12,88,89],{},"What’s coming next? In tradition with GitLab’s value of iteration, the initial release of Conan is a bare-bones API that allows you to publish and consume packages within GitLab. Next up will be a UI that displays much of the commonly referenced metadata for a given package, pre-written CI templates for automatic package publishing and consuming, less strict package naming conventions with remotes scoped to the group and project level within GitLab, and the list goes on.",[91,92,93,101],"ul",{},[94,95,96],"li",{},[16,97,100],{"href":98,"rel":99},"https://gitlab.com/gitlab-org/gitlab/issues/33892",[],"Conan Repository User Interface",[94,102,103],{},[16,104,107],{"href":105,"rel":106},"https://gitlab.com/gitlab-org/gitlab/issues/11679",[],"Project and Group level support for Conan Repository",[12,109,110,111,115],{},"If you are interested in package management at large, find a list of publicly available issues about the topic ",[16,112,20],{"href":113,"rel":114},"https://gitlab.com/gitlab-org/gitlab/issues?label_name=Package+Repositories",[],". Also, please note that if game development is your interest, large file support, partial clone and many other features that make game development possible with Git, will soon be available in GitLab. All the heavy lifting required for those massive binaries, engines, and animations will feel like feathers when we release those features. Stay tuned to know more about it in our newsletter.",{"title":117,"searchDepth":118,"depth":118,"links":119},"",2,[120,122,123],{"id":25,"depth":121,"text":26},3,{"id":42,"depth":121,"text":43},{"id":85,"depth":121,"text":86},"engineering","2020-03-31","Conan is a leading C and C++ package manager and it is now available in GitLab. Store and share packages easily with your teams or publicly.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666262/Blog/Hero%20Images/default-blog-image.png",{},true,"/en-us/blog/conan-c-cpp-package-management-integration",{"title":5,"description":126,"ogTitle":5,"ogDescription":126,"noIndex":129,"ogImage":130,"ogUrl":135,"ogSiteName":136,"ogType":137,"canonicalUrls":135},"https://about.gitlab.com/blog/conan-c-cpp-package-management-integration","https://about.gitlab.com","article","conan-c-cpp-package-management-integration","en-us/blog/conan-c-cpp-package-management-integration",[141,142,143,144],"features","integrations","open source","workflow","BlogPost","VYjOoxW_Zgy2P7li5VdjewtuvuIcbggAh-ntsWn-7M0",{"logo":148,"freeTrial":153,"sales":158,"login":163,"items":168,"search":493,"minimal":524,"duo":543,"switchNav":552,"pricingDeployment":563},{"config":149},{"href":150,"dataGaName":151,"dataGaLocation":152},"/","gitlab logo","header",{"text":154,"config":155},"Get free trial",{"href":156,"dataGaName":157,"dataGaLocation":152},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":159,"config":160},"Request a demo",{"href":161,"dataGaName":162,"dataGaLocation":152},"/sales/?contact-topic=request-demo","sales",{"text":164,"config":165},"Sign in",{"href":166,"dataGaName":167,"dataGaLocation":152},"https://gitlab.com/users/sign_in/","sign in",[169,198,297,302,415,471],{"text":170,"config":171,"menu":173},"Platform",{"dataNavLevelOne":172},"platform",{"type":174,"columns":175},"cards",[176,182,190],{"title":170,"description":177,"link":178},"The intelligent orchestration platform for DevSecOps",{"text":179,"config":180},"Explore our Platform",{"href":181,"dataGaName":172,"dataGaLocation":152},"/platform/",{"title":183,"description":184,"link":185},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":186,"config":187},"Meet GitLab Duo",{"href":188,"dataGaName":189,"dataGaLocation":152},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":191,"description":192,"link":193},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":194,"config":195},"Learn more",{"href":196,"dataGaName":197,"dataGaLocation":152},"/why-gitlab/","why gitlab",{"text":199,"left":132,"config":200,"menu":202},"Product",{"dataNavLevelOne":201},"solutions",{"type":203,"link":204,"columns":208,"feature":276},"lists",{"text":205,"config":206},"View all Solutions",{"href":207,"dataGaName":201,"dataGaLocation":152},"/solutions/",[209,232,255],{"title":210,"description":211,"link":212,"items":217},"Automation","CI/CD and automation to accelerate deployment",{"config":213},{"icon":214,"href":215,"dataGaName":216,"dataGaLocation":152},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[218,222,225,228],{"text":219,"config":220},"CI/CD",{"href":221,"dataGaLocation":152,"dataGaName":219},"/solutions/continuous-integration/",{"text":183,"config":223},{"href":188,"dataGaLocation":152,"dataGaName":224},"gitlab duo agent platform - product menu",{"text":226,"config":227},"Source Code Management",{"href":32,"dataGaLocation":152,"dataGaName":226},{"text":229,"config":230},"Automated Software Delivery",{"href":215,"dataGaLocation":152,"dataGaName":231},"Automated software delivery",{"title":233,"description":234,"link":235,"items":240},"Security","Deliver code faster without compromising security",{"config":236},{"href":237,"dataGaName":238,"dataGaLocation":152,"icon":239},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[241,245,250],{"text":242,"config":243},"Application Security Testing",{"href":237,"dataGaName":244,"dataGaLocation":152},"Application security testing",{"text":246,"config":247},"Software Supply Chain Security",{"href":248,"dataGaLocation":152,"dataGaName":249},"/solutions/supply-chain/","Software supply chain security",{"text":251,"config":252},"Software Compliance",{"href":253,"dataGaName":254,"dataGaLocation":152},"/solutions/software-compliance/","software compliance",{"title":256,"link":257,"items":262},"Measurement",{"config":258},{"icon":259,"href":260,"dataGaName":261,"dataGaLocation":152},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[263,267,271],{"text":264,"config":265},"Visibility & Measurement",{"href":260,"dataGaLocation":152,"dataGaName":266},"Visibility and Measurement",{"text":268,"config":269},"Value Stream Management",{"href":270,"dataGaLocation":152,"dataGaName":268},"/solutions/value-stream-management/",{"text":272,"config":273},"Analytics & Insights",{"href":274,"dataGaLocation":152,"dataGaName":275},"/solutions/analytics-and-insights/","Analytics and insights",{"title":277,"type":203,"items":278},"GitLab for",[279,285,291],{"text":280,"config":281},"Enterprise",{"icon":282,"href":283,"dataGaLocation":152,"dataGaName":284},"Building","/enterprise/","enterprise",{"text":286,"config":287},"Small Business",{"icon":288,"href":289,"dataGaLocation":152,"dataGaName":290},"Work","/small-business/","small business",{"text":292,"config":293},"Public Sector",{"icon":294,"href":295,"dataGaLocation":152,"dataGaName":296},"Organization","/solutions/public-sector/","public sector",{"text":298,"config":299},"Pricing",{"href":300,"dataGaName":301,"dataGaLocation":152,"dataNavLevelOne":301},"/pricing/","pricing",{"text":303,"config":304,"menu":306},"Resources",{"dataNavLevelOne":305},"resources",{"type":203,"link":307,"columns":311,"feature":404},{"text":308,"config":309},"View all resources",{"href":310,"dataGaName":305,"dataGaLocation":152},"/resources/",[312,344,371],{"title":313,"items":314},"Getting started",[315,320,325,330,335,340],{"text":316,"config":317},"Install",{"href":318,"dataGaName":319,"dataGaLocation":152},"/install/","install",{"text":321,"config":322},"Quick start guides",{"href":323,"dataGaName":324,"dataGaLocation":152},"/get-started/","quick setup checklists",{"text":326,"config":327},"Learn",{"href":328,"dataGaLocation":152,"dataGaName":329},"https://university.gitlab.com/","learn",{"text":331,"config":332},"Product documentation",{"href":333,"dataGaName":334,"dataGaLocation":152},"https://docs.gitlab.com/","product documentation",{"text":336,"config":337},"Best practice videos",{"href":338,"dataGaName":339,"dataGaLocation":152},"/getting-started-videos/","best practice videos",{"text":341,"config":342},"Integrations",{"href":343,"dataGaName":142,"dataGaLocation":152},"/integrations/",{"title":345,"items":346},"Discover",[347,352,357,362,366],{"text":348,"config":349},"Customer success stories",{"href":350,"dataGaName":351,"dataGaLocation":152},"/customers/","customer success stories",{"text":353,"config":354},"Blog",{"href":355,"dataGaName":356,"dataGaLocation":152},"/blog/","blog",{"text":358,"config":359},"Demo Hub",{"href":360,"dataGaName":361,"dataGaLocation":152},"/demo-hub/","demo hub",{"text":363,"config":364},"The Source",{"href":365,"dataGaName":356,"dataGaLocation":152},"/the-source/",{"text":367,"config":368},"Remote",{"href":369,"dataGaName":370,"dataGaLocation":152},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":372,"items":373},"Connect",[374,379,384,389,394,399],{"text":375,"config":376},"GitLab Services",{"href":377,"dataGaName":378,"dataGaLocation":152},"/services/","services",{"text":380,"config":381},"Contribute",{"href":382,"dataGaName":383,"dataGaLocation":152},"https://contributors.gitlab.com","contribute",{"text":385,"config":386},"Community",{"href":387,"dataGaName":388,"dataGaLocation":152},"/community/","community",{"text":390,"config":391},"Forum",{"href":392,"dataGaName":393,"dataGaLocation":152},"https://forum.gitlab.com/","forum",{"text":395,"config":396},"Events",{"href":397,"dataGaName":398,"dataGaLocation":152},"/events/","events",{"text":400,"config":401},"Partners",{"href":402,"dataGaName":403,"dataGaLocation":152},"/partners/","partners",{"config":405,"title":408,"text":409,"link":410},{"background":406,"textColor":407},"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":411,"config":412},"Read the latest",{"href":413,"dataGaName":414,"dataGaLocation":152},"/whats-new/","whats new",{"text":416,"config":417,"menu":419},"Company",{"dataNavLevelOne":418},"company",{"type":203,"columns":420},[421],{"items":422},[423,428,434,436,441,446,451,456,461,466],{"text":424,"config":425},"About",{"href":426,"dataGaName":427,"dataGaLocation":152},"/company/","about",{"text":429,"config":430,"footerGa":433},"Jobs",{"href":431,"dataGaName":432,"dataGaLocation":152},"/jobs/","jobs",{"dataGaName":432},{"text":395,"config":435},{"href":397,"dataGaName":398,"dataGaLocation":152},{"text":437,"config":438},"Leadership",{"href":439,"dataGaName":440,"dataGaLocation":152},"/company/team/e-group/","leadership",{"text":442,"config":443},"Handbook",{"href":444,"dataGaName":445,"dataGaLocation":152},"https://handbook.gitlab.com/","handbook",{"text":447,"config":448},"Investor relations",{"href":449,"dataGaName":450,"dataGaLocation":152},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":452,"config":453},"Trust Center",{"href":454,"dataGaName":455,"dataGaLocation":152},"/security/","trust center",{"text":457,"config":458},"AI Transparency Center",{"href":459,"dataGaName":460,"dataGaLocation":152},"/ai-transparency-center/","ai transparency center",{"text":462,"config":463},"Newsletter",{"href":464,"dataGaName":465,"dataGaLocation":152},"/company/contact/#contact-forms","newsletter",{"text":467,"config":468},"Press",{"href":469,"dataGaName":470,"dataGaLocation":152},"/press/","press",{"text":472,"config":473,"menu":474},"Contact us",{"dataNavLevelOne":418},{"type":203,"columns":475},[476],{"items":477},[478,483,488],{"text":479,"config":480},"Talk to sales",{"href":481,"dataGaName":482,"dataGaLocation":152},"/sales/","talk to sales",{"text":484,"config":485},"Support portal",{"href":486,"dataGaName":487,"dataGaLocation":152},"https://support.gitlab.com/hc/en-us","support portal",{"text":489,"config":490},"Customer portal",{"href":491,"dataGaName":492,"dataGaLocation":152},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":494,"login":495,"suggestions":502},"Close",{"text":496,"link":497},"To search repositories and projects, login to",{"text":498,"config":499},"gitlab.com",{"href":166,"dataGaName":500,"dataGaLocation":501},"search login","search",{"text":503,"default":504},"Suggestions",[505,507,511,513,517,521],{"text":183,"config":506},{"href":188,"dataGaName":183,"dataGaLocation":501},{"text":508,"config":509},"Code Suggestions (AI)",{"href":510,"dataGaName":508,"dataGaLocation":501},"/solutions/code-suggestions/",{"text":219,"config":512},{"href":221,"dataGaName":219,"dataGaLocation":501},{"text":514,"config":515},"GitLab on AWS",{"href":516,"dataGaName":514,"dataGaLocation":501},"/partners/technology-partners/aws/",{"text":518,"config":519},"GitLab on Google Cloud",{"href":520,"dataGaName":518,"dataGaLocation":501},"/partners/technology-partners/google-cloud-platform/",{"text":522,"config":523},"Why GitLab?",{"href":196,"dataGaName":522,"dataGaLocation":501},{"freeTrial":525,"mobileIcon":530,"desktopIcon":535,"secondaryButton":538},{"text":526,"config":527},"Start free trial",{"href":528,"dataGaName":157,"dataGaLocation":529},"https://gitlab.com/-/trials/new/","nav",{"altText":531,"config":532},"Gitlab Icon",{"src":533,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":531,"config":536},{"src":537,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":539,"config":540},"Get Started",{"href":541,"dataGaName":542,"dataGaLocation":529},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":544,"mobileIcon":548,"desktopIcon":550},{"text":545,"config":546},"Learn more about GitLab Duo",{"href":188,"dataGaName":547,"dataGaLocation":529},"gitlab duo",{"altText":531,"config":549},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":551},{"src":537,"dataGaName":534,"dataGaLocation":529},{"button":553,"mobileIcon":558,"desktopIcon":560},{"text":554,"config":555},"/switch",{"href":556,"dataGaName":557,"dataGaLocation":529},"#contact","switch",{"altText":531,"config":559},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":561},{"src":562,"dataGaName":534,"dataGaLocation":529},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":564,"mobileIcon":569,"desktopIcon":571},{"text":565,"config":566},"Back to pricing",{"href":300,"dataGaName":567,"dataGaLocation":529,"icon":568},"back to pricing","GoBack",{"altText":531,"config":570},{"src":533,"dataGaName":534,"dataGaLocation":529},{"altText":531,"config":572},{"src":537,"dataGaName":534,"dataGaLocation":529},{"title":574,"titleMobile":575,"button":576,"config":581},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":194,"config":577},{"href":578,"dataGaName":579,"dataGaLocation":580},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":582,"disabled":129},"release",{"data":584},{"text":585,"source":586,"edit":592,"contribute":597,"config":602,"items":607,"minimal":816},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":587,"config":588},"View page source",{"href":589,"dataGaName":590,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":593,"config":594},"Edit this page",{"href":595,"dataGaName":596,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":598,"config":599},"Please contribute",{"href":600,"dataGaName":601,"dataGaLocation":591},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":603,"facebook":604,"youtube":605,"linkedin":606},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[608,655,708,752,784],{"title":298,"links":609,"subMenu":624},[610,614,619],{"text":611,"config":612},"View plans",{"href":300,"dataGaName":613,"dataGaLocation":591},"view plans",{"text":615,"config":616},"Why Premium?",{"href":617,"dataGaName":618,"dataGaLocation":591},"/pricing/premium/","why premium",{"text":620,"config":621},"Why Ultimate?",{"href":622,"dataGaName":623,"dataGaLocation":591},"/pricing/ultimate/","why ultimate",[625],{"title":626,"links":627},"Contact Us",[628,631,633,635,640,645,650],{"text":629,"config":630},"Contact sales",{"href":481,"dataGaName":162,"dataGaLocation":591},{"text":484,"config":632},{"href":486,"dataGaName":487,"dataGaLocation":591},{"text":489,"config":634},{"href":491,"dataGaName":492,"dataGaLocation":591},{"text":636,"config":637},"Status",{"href":638,"dataGaName":639,"dataGaLocation":591},"https://status.gitlab.com/","status",{"text":641,"config":642},"Terms of use",{"href":643,"dataGaName":644,"dataGaLocation":591},"/terms/","terms of use",{"text":646,"config":647},"Privacy statement",{"href":648,"dataGaName":649,"dataGaLocation":591},"/privacy/","privacy statement",{"text":651,"config":652},"Cookie preferences",{"dataGaName":653,"dataGaLocation":591,"id":654,"isOneTrustButton":132},"cookie preferences","ot-sdk-btn",{"title":199,"links":656,"subMenu":665},[657,661],{"text":658,"config":659},"DevSecOps platform",{"href":181,"dataGaName":660,"dataGaLocation":591},"devsecops platform",{"text":662,"config":663},"AI-Assisted Development",{"href":188,"dataGaName":664,"dataGaLocation":591},"ai-assisted development",[666],{"title":667,"links":668},"Topics",[669,674,679,684,688,693,698,703],{"text":670,"config":671},"CICD",{"href":672,"dataGaName":673,"dataGaLocation":591},"/topics/ci-cd/","cicd",{"text":675,"config":676},"GitOps",{"href":677,"dataGaName":678,"dataGaLocation":591},"/topics/gitops/","gitops",{"text":680,"config":681},"DevOps",{"href":682,"dataGaName":683,"dataGaLocation":591},"/topics/devops/","devops",{"text":685,"config":686},"Version Control",{"href":37,"dataGaName":687,"dataGaLocation":591},"version control",{"text":689,"config":690},"DevSecOps",{"href":691,"dataGaName":692,"dataGaLocation":591},"/topics/devsecops/","devsecops",{"text":694,"config":695},"Cloud Native",{"href":696,"dataGaName":697,"dataGaLocation":591},"/topics/cloud-native/","cloud native",{"text":699,"config":700},"AI for Coding",{"href":701,"dataGaName":702,"dataGaLocation":591},"/topics/devops/ai-for-coding/","ai for coding",{"text":704,"config":705},"Agentic AI",{"href":706,"dataGaName":707,"dataGaLocation":591},"/topics/agentic-ai/","agentic ai",{"title":709,"links":710},"Solutions",[711,713,715,720,724,727,731,734,736,739,742,747],{"text":242,"config":712},{"href":237,"dataGaName":242,"dataGaLocation":591},{"text":231,"config":714},{"href":215,"dataGaName":216,"dataGaLocation":591},{"text":716,"config":717},"Agile development",{"href":718,"dataGaName":719,"dataGaLocation":591},"/solutions/agile-delivery/","agile delivery",{"text":721,"config":722},"SCM",{"href":32,"dataGaName":723,"dataGaLocation":591},"source code management",{"text":670,"config":725},{"href":221,"dataGaName":726,"dataGaLocation":591},"continuous integration & delivery",{"text":728,"config":729},"Value stream management",{"href":270,"dataGaName":730,"dataGaLocation":591},"value stream management",{"text":675,"config":732},{"href":733,"dataGaName":678,"dataGaLocation":591},"/solutions/gitops/",{"text":280,"config":735},{"href":283,"dataGaName":284,"dataGaLocation":591},{"text":737,"config":738},"Small business",{"href":289,"dataGaName":290,"dataGaLocation":591},{"text":740,"config":741},"Public sector",{"href":295,"dataGaName":296,"dataGaLocation":591},{"text":743,"config":744},"Education",{"href":745,"dataGaName":746,"dataGaLocation":591},"/solutions/education/","education",{"text":748,"config":749},"Financial services",{"href":750,"dataGaName":751,"dataGaLocation":591},"/solutions/finance/","financial services",{"title":303,"links":753},[754,756,758,760,763,765,768,770,772,774,776,778,780,782],{"text":316,"config":755},{"href":318,"dataGaName":319,"dataGaLocation":591},{"text":321,"config":757},{"href":323,"dataGaName":324,"dataGaLocation":591},{"text":326,"config":759},{"href":328,"dataGaName":329,"dataGaLocation":591},{"text":331,"config":761},{"href":333,"dataGaName":762,"dataGaLocation":591},"docs",{"text":353,"config":764},{"href":355,"dataGaName":356,"dataGaLocation":591},{"text":766,"config":767},"What's new",{"href":413,"dataGaName":414,"dataGaLocation":591},{"text":348,"config":769},{"href":350,"dataGaName":351,"dataGaLocation":591},{"text":367,"config":771},{"href":369,"dataGaName":370,"dataGaLocation":591},{"text":375,"config":773},{"href":377,"dataGaName":378,"dataGaLocation":591},{"text":380,"config":775},{"href":382,"dataGaName":383,"dataGaLocation":591},{"text":385,"config":777},{"href":387,"dataGaName":388,"dataGaLocation":591},{"text":390,"config":779},{"href":392,"dataGaName":393,"dataGaLocation":591},{"text":395,"config":781},{"href":397,"dataGaName":398,"dataGaLocation":591},{"text":400,"config":783},{"href":402,"dataGaName":403,"dataGaLocation":591},{"title":416,"links":785},[786,788,790,792,794,796,800,805,807,809,811],{"text":424,"config":787},{"href":426,"dataGaName":418,"dataGaLocation":591},{"text":429,"config":789},{"href":431,"dataGaName":432,"dataGaLocation":591},{"text":437,"config":791},{"href":439,"dataGaName":440,"dataGaLocation":591},{"text":442,"config":793},{"href":444,"dataGaName":445,"dataGaLocation":591},{"text":447,"config":795},{"href":449,"dataGaName":450,"dataGaLocation":591},{"text":797,"config":798},"Sustainability",{"href":799,"dataGaName":797,"dataGaLocation":591},"/sustainability/",{"text":801,"config":802},"Diversity, inclusion and belonging (DIB)",{"href":803,"dataGaName":804,"dataGaLocation":591},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":452,"config":806},{"href":454,"dataGaName":455,"dataGaLocation":591},{"text":462,"config":808},{"href":464,"dataGaName":465,"dataGaLocation":591},{"text":467,"config":810},{"href":469,"dataGaName":470,"dataGaLocation":591},{"text":812,"config":813},"Modern Slavery Transparency Statement",{"href":814,"dataGaName":815,"dataGaLocation":591},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":817},[818,821,824],{"text":819,"config":820},"Terms",{"href":643,"dataGaName":644,"dataGaLocation":591},{"text":822,"config":823},"Cookies",{"dataGaName":653,"dataGaLocation":591,"id":654,"isOneTrustButton":132},{"text":825,"config":826},"Privacy",{"href":648,"dataGaName":649,"dataGaLocation":591},[828],{"id":829,"title":7,"body":128,"config":830,"content":832,"description":128,"extension":835,"meta":836,"navigation":132,"path":837,"seo":838,"stem":839,"__hash__":840},"blogAuthors/en-us/blog/authors/jordi-mon.yml",{"template":831},"BlogAuthor",{"name":7,"config":833},{"headshot":117,"ctfId":834},"jordimon","yml",{},"/en-us/blog/authors/jordi-mon",{},"en-us/blog/authors/jordi-mon","0B38dr1N8h4NxDil5amdEzH0g7V_8VKKPVF_2WlGXYg",[842,851,859],{"title":843,"description":844,"heroImage":845,"category":124,"date":846,"authors":847,"slug":850,"externalUrl":128},"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",[848,849],"Mathias Ewald","Martin Paloncy, Edgeless Systems","confidential-ai-for-gitlab-self-hosted",{"title":852,"description":853,"heroImage":854,"category":124,"date":855,"authors":856,"slug":858,"externalUrl":128},"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",[857],"Lysanne Pinto","green-devops-carbon-measurement-cicd-pipeline",{"title":860,"description":861,"heroImage":862,"category":124,"date":863,"authors":864,"slug":866,"externalUrl":128},"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",[865],"Paul Meresanu","how-to-build-ci-cd-observability-at-scale",{"promotions":868},[869,883,895,907],{"id":870,"categories":871,"header":873,"text":874,"button":875,"image":880},"ai-modernization",[872],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":876,"config":877},"Get your AI maturity score",{"href":878,"dataGaName":879,"dataGaLocation":356},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":881},{"src":882},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":884,"categories":885,"header":887,"text":874,"button":888,"image":892},"devops-modernization",[886,692],"product","Are you just managing tools or shipping innovation?",{"text":889,"config":890},"Get your DevOps maturity score",{"href":891,"dataGaName":879,"dataGaLocation":356},"/assessments/devops-modernization-assessment/",{"config":893},{"src":894},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":896,"categories":897,"header":899,"text":874,"button":900,"image":904},"security-modernization",[898],"security","Are you trading speed for security?",{"text":901,"config":902},"Get your security maturity score",{"href":903,"dataGaName":879,"dataGaLocation":356},"/assessments/security-modernization-assessment/",{"config":905},{"src":906},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":908,"paths":909,"header":912,"text":913,"button":914,"image":919},"github-azure-migration",[910,911],"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":915,"config":916},"See how GitLab compares to GitHub",{"href":917,"dataGaName":918,"dataGaLocation":356},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":920},{"src":894},{"header":922,"blurb":923,"button":924,"secondaryButton":929},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":925,"config":926},"Get your free trial",{"href":927,"dataGaName":157,"dataGaLocation":928},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":629,"config":930},{"href":481,"dataGaName":162,"dataGaLocation":928},1786803767531]