[{"data":1,"prerenderedAt":925},["ShallowReactive",2],{"/blog/integrating-gitlab-ci-with-gitlab":3,"navigation-en-us":164,"banner-en-us":595,"footer-en-us":605,"blog-post-authors-en-us-GitLab":866,"blog-related-posts-en-us-integrating-gitlab-ci-with-gitlab":881,"blog-share-wrapper-en-us":905,"next-steps-en-us":915},{"id":4,"title":5,"authors":6,"body":8,"category":127,"date":128,"description":129,"extension":130,"externalUrl":131,"faq":131,"featured":132,"heroImage":133,"meta":134,"navigation":154,"path":155,"seo":156,"slug":160,"stem":161,"tags":131,"template":162,"updatedDate":131,"__hash__":163},"blogPosts/en-us/blog/integrating-gitlab-ci-with-gitlab.md","Integrating GitLab CI with GitLab to enable distributed builds",[7],"GitLab",{"type":9,"value":10,"toc":121},"minimark",[11,15,19,22,42,48,51,56,59,64,83,88,91,96,113,118],[12,13,5],"h3",{"id":14},"integrating-gitlab-ci-with-gitlab-to-enable-distributed-builds",[16,17,18],"p",{},"The GitLab.com team strongly believes in using feature branches and merge requests in software development.\nWe also think that Test Driven Development (TDD) should be used wherever possible.\nIf you combine these things what follows is that you have to know the testing results of a feature branch before accepting the merge request.\nGitLab CI was build to offer this functionality and we think most people using GitLab would benefit from using GitLab CI as well.",[16,20,21],{},"To make this easier we have now integrated GitLab CI with GitLab. This tight integration offers three great benefits:",[23,24,25,29,32],"ol",{},[26,27,28],"li",{},"You can login to GitLab CI with your GitLab credentials.",[26,30,31],{},"The GitLab user interface shown the projects you have access to.",[26,33,34,35,41],{},"Setting up a testing environment for a new project no longer takes ",[36,37,40],"a",{"href":38,"rel":39},"http://blog.bitnami.com/2013/05/deploy-gitlab-gitlab-ci-in-cloud-with.html",[],"8 steps"," but just one.",[16,43,44],{},[45,46,47],"strong",{},"Clean separation through the GitLab API",[16,49,50],{},"We still want a clean separation between GitLab and GitLab CI to allow them to develop independently, reduce security risks and keep each code base small.\nTherefore, GitLab CI has its own database and uses GitLab's public API to communicate with GitLab.\nGitLab CI does not have access to more code or user information than what is accessible by the users who are logged in to GitLab CI.",[16,52,53],{},[45,54,55],{},"Integrated but flexible",[16,57,58],{},"GitLab CI will be a rack application that you can mount where you want.\nIn the future you can install GitLab CI as a rack application on the same server as GitLab.\nBut you can also run GitLab CI on another server than GitLab if you would like to do so.",[16,60,61],{},[45,62,63],{},"Don't run tests on the CI server",[16,65,66,67,70,71,76,77,82],{},"Hopefully some of you are now thinking, running tests on the same server that stores my source code? No way!\nOf course you are very correct but actually the problem is larger than that.\nAnybody who can push to a branch that is tested on a CI server can easily own that server.\nSo you don't want to have projects with different authorization levels being tested on the same CI server.\n",[45,68,69],{},"If you are running tests on the CI server you are doing it wrong!","\nWe must admit that we have done this ourselves too.\nBut we have also seen it being set up this way by the majority of people that run other CI applications such as ",[36,72,75],{"href":73,"rel":74},"http://jenkins-ci.org/",[],"Jenkins"," (even though Jenkins does allow you to ",[36,78,81],{"href":79,"rel":80},"https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds",[],"run the tests on other servers",").",[16,84,85],{},[45,86,87],{},"Coordinators and runners",[16,89,90],{},"To solve the problem we have split the CI application in two parts, a coordinator and runners.\nThe coordinator enables you to specify how you want to test and stores the results.\nThis is a rack application that communicates with the GitLab API.\nThe runners perform the actual build and they are installed on separate machines.\nThis way you never run tests on the same server that stores all you code.\nYou can bind runners to specific projects to preserve the exclusivity of your source code.",[16,92,93],{},[45,94,95],{},"Work in progress",[16,97,98,99,104,105],{},"The integration work is still ongoing. Right now GitLab CI is still a standalone application.\nBut it does already use runners ",[36,100,103],{"href":101,"rel":102},"https://github.com/gitlabhq/gitlab-ci-runner",[],"build from a separate repo",".\n",[36,106,108],{"href":107},"/images/screens/runner.png",[109,110],"img",{"alt":111,"src":112},"screenshot","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782404912/site/Content%20Images/screens/runner.png",[16,114,115],{},[45,116,117],{},"Conclusion",[16,119,120],{},"Of course all this is optional, you can still use GitLab with other CI servers or install GitLab without installing GitLab CI.\nBut we believe this 'distributed builds by default' design will encourage many people to do the right thing.\nPlease let us know what you think about this change.",{"title":122,"searchDepth":123,"depth":123,"links":124},"",2,[125],{"id":14,"depth":126,"text":5},3,"company","2013-06-20","Integrating GitLab CI with GitLab to enable distributed builds.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664472/Blog/Hero%20Images/gitlabflatlogomap.png",{"excerpt":135},{"type":9,"value":136},[137,139,141,143],[12,138,5],{"id":14},[16,140,18],{},[16,142,21],{},[23,144,145,147,149],{},[26,146,28],{},[26,148,31],{},[26,150,34,151,41],{},[36,152,40],{"href":38,"rel":153},[],true,"/en-us/blog/integrating-gitlab-ci-with-gitlab",{"title":5,"description":129,"ogTitle":5,"ogDescription":129,"noIndex":132,"ogImage":133,"ogUrl":157,"ogSiteName":158,"ogType":159,"canonicalUrls":157},"https://about.gitlab.com/blog/integrating-gitlab-ci-with-gitlab","https://about.gitlab.com","article","integrating-gitlab-ci-with-gitlab","en-us/blog/integrating-gitlab-ci-with-gitlab","BlogPost","yEdLxLtsqIIo-L9wM3Zgw_9hJln5l7C6fEehMTH4zGc",{"logo":165,"freeTrial":170,"sales":175,"login":180,"items":185,"search":515,"minimal":546,"duo":565,"switchNav":574,"pricingDeployment":585},{"config":166},{"href":167,"dataGaName":168,"dataGaLocation":169},"/","gitlab logo","header",{"text":171,"config":172},"Get free trial",{"href":173,"dataGaName":174,"dataGaLocation":169},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":176,"config":177},"Request a demo",{"href":178,"dataGaName":179,"dataGaLocation":169},"/request-a-demo/","sales",{"text":181,"config":182},"Sign in",{"href":183,"dataGaName":184,"dataGaLocation":169},"https://gitlab.com/users/sign_in/","sign in",[186,272,360,365,440,493],{"text":187,"left":154,"config":188,"menu":190},"Platform",{"dataNavLevelOne":189},"platform",{"type":191,"link":192,"columns":196,"feature":261},"lists",{"text":193,"config":194},"Explore the Platform",{"href":195,"dataGaName":189,"dataGaLocation":169},"/platform/",[197,220,243],{"title":198,"items":199},"Execution & Workflows",[200,205,210,215],{"text":201,"config":202},"CI/CD",{"href":203,"dataGaLocation":169,"dataGaName":204},"/solutions/continuous-integration/","ci/cd",{"text":206,"config":207},"Source Code Management",{"href":208,"dataGaLocation":169,"dataGaName":209},"/solutions/source-code-management/","source code management",{"text":211,"config":212},"Agile Delivery",{"href":213,"dataGaLocation":169,"dataGaName":214},"/solutions/agile-delivery/","agile delivery",{"text":216,"config":217},"Artifact Management",{"href":218,"dataGaLocation":169,"dataGaName":219},"/artifact-central/","artifact management",{"title":221,"items":222},"Security & Governance",[223,228,233,238],{"text":224,"config":225},"Application Security Testing",{"href":226,"dataGaLocation":169,"dataGaName":227},"/solutions/application-security-testing/","application security testing",{"text":229,"config":230},"Governance & Compliance",{"href":231,"dataGaLocation":169,"dataGaName":232},"/solutions/software-compliance/","governance and compliance",{"text":234,"config":235},"Secrets Management",{"href":236,"dataGaLocation":169,"dataGaName":237},"/gitlab-secrets-manager/","secrets management",{"text":239,"config":240},"Supply Chain Security",{"href":241,"dataGaLocation":169,"dataGaName":242},"/solutions/supply-chain/","supply chain security",{"title":244,"items":245},"Context & AI",[246,251,256],{"text":247,"config":248},"Agentic Orchestration",{"href":249,"dataGaLocation":169,"dataGaName":250},"/gitlab-duo-agent-platform/","agentic orchestration",{"text":252,"config":253},"Context Graph",{"href":254,"dataGaLocation":169,"dataGaName":255},"/gitlab-orbit/","context graph",{"text":257,"config":258},"Visibility & Measurement",{"href":259,"dataGaLocation":169,"dataGaName":260},"/solutions/visibility-measurement/","visibility and measurement",{"config":262,"title":265,"text":266,"link":267},{"background":263,"textColor":264},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Why GitLab","One platform for speed with control across your software lifecycle.",{"text":268,"config":269},"Learn more",{"href":270,"dataGaName":271,"dataGaLocation":169},"/why-gitlab/","why gitlab",{"text":273,"left":154,"config":274,"menu":276},"Solutions",{"dataNavLevelOne":275},"solutions",{"type":191,"link":277,"columns":281,"feature":351},{"text":278,"config":279},"View all Solutions",{"href":280,"dataGaName":275,"dataGaLocation":169},"/solutions/",[282,300,318],{"title":283,"items":284},"Outcomes",[285,290,295],{"text":286,"config":287},"DevOps Modernization",{"href":288,"dataGaLocation":169,"dataGaName":289},"/assessments/devops-modernization-assessment/","devops modernization",{"text":291,"config":292},"Security Modernization",{"href":293,"dataGaLocation":169,"dataGaName":294},"/assessments/security-modernization-assessment/","security modernization",{"text":296,"config":297},"AI Modernization",{"href":298,"dataGaLocation":169,"dataGaName":299},"/assessments/ai-modernization-assessment/","ai modernization",{"title":301,"items":302},"By size",[303,308,313],{"text":304,"config":305},"Enterprise",{"href":306,"dataGaLocation":169,"dataGaName":307},"/enterprise/","enterprise",{"text":309,"config":310},"Small Business",{"href":311,"dataGaLocation":169,"dataGaName":312},"/small-business/","small business",{"text":314,"config":315},"Startups",{"href":316,"dataGaLocation":169,"dataGaName":317},"/solutions/startups/","startups",{"title":319,"items":320},"Industries",[321,326,331,336,341,346],{"text":322,"config":323},"Financial Services",{"href":324,"dataGaLocation":169,"dataGaName":325},"/solutions/finance/","financial services",{"text":327,"config":328},"Public Sector",{"href":329,"dataGaLocation":169,"dataGaName":330},"/solutions/public-sector/","public sector",{"text":332,"config":333},"Telecommunications",{"href":334,"dataGaLocation":169,"dataGaName":335},"/solutions/telecommunications/","telecommunications",{"text":337,"config":338},"Automotive",{"href":339,"dataGaLocation":169,"dataGaName":340},"/solutions/automotive/","automotive",{"text":342,"config":343},"Education",{"href":344,"dataGaLocation":169,"dataGaName":345},"/solutions/education/","education",{"text":347,"config":348},"Aerospace",{"href":349,"dataGaLocation":169,"dataGaName":350},"/solutions/aerospace/","aerospace",{"config":352,"title":353,"text":354,"link":355},{"background":263,"textColor":264},"GitLab Security Standard","Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.",{"text":356,"config":357},"Explore the standard",{"href":358,"dataGaName":359,"dataGaLocation":169},"/gitlab-security-standard/","gitlab security standard",{"text":361,"config":362},"Pricing",{"href":363,"dataGaName":364,"dataGaLocation":169,"dataNavLevelOne":364},"/pricing/","pricing",{"text":366,"config":367,"menu":369},"Resources",{"dataNavLevelOne":368},"resources",{"type":191,"link":370,"columns":374,"feature":431},{"text":371,"config":372},"View all resources",{"href":373,"dataGaName":368,"dataGaLocation":169},"/resources/",[375,403],{"title":376,"items":377},"Discover",[378,383,388,393,398],{"text":379,"config":380},"Docs",{"href":381,"dataGaName":382,"dataGaLocation":169},"https://docs.gitlab.com/","docs",{"text":384,"config":385},"University",{"href":386,"dataGaName":387,"dataGaLocation":169},"https://university.gitlab.com/","university",{"text":389,"config":390},"Demo Series",{"href":391,"dataGaName":392,"dataGaLocation":169},"/gitlab-technical-demo-series/","demo series",{"text":394,"config":395},"Demo Hub",{"href":396,"dataGaName":397,"dataGaLocation":169},"/demo-hub/","demo hub",{"text":399,"config":400},"Services",{"href":401,"dataGaName":402,"dataGaLocation":169},"/services/","services",{"title":404,"items":405},"Connect",[406,411,416,421,426],{"text":407,"config":408},"Blog",{"href":409,"dataGaName":410,"dataGaLocation":169},"/blog/","blog",{"text":412,"config":413},"Community",{"href":414,"dataGaName":415,"dataGaLocation":169},"/community/","community",{"text":417,"config":418},"Customers",{"href":419,"dataGaName":420,"dataGaLocation":169},"/customers/","customers",{"text":422,"config":423},"Partners",{"href":424,"dataGaName":425,"dataGaLocation":169},"/partners/","partners",{"text":427,"config":428},"Events",{"href":429,"dataGaName":430,"dataGaLocation":169},"/events/","events",{"config":432,"title":433,"text":434,"link":435},{"background":263,"textColor":264},"What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":436,"config":437},"Read the latest",{"href":438,"dataGaName":439,"dataGaLocation":169},"/whats-new/","whats new",{"text":441,"config":442,"menu":443},"Company",{"dataNavLevelOne":127},{"type":191,"columns":444},[445],{"items":446},[447,452,458,463,468,473,478,483,488],{"text":448,"config":449},"About",{"href":450,"dataGaName":451,"dataGaLocation":169},"/company/","about",{"text":453,"config":454,"footerGa":457},"Jobs",{"href":455,"dataGaName":456,"dataGaLocation":169},"/jobs/","jobs",{"dataGaName":456},{"text":459,"config":460},"Press",{"href":461,"dataGaName":462,"dataGaLocation":169},"/press/","press",{"text":464,"config":465},"Handbook",{"href":466,"dataGaName":467,"dataGaLocation":169},"https://handbook.gitlab.com/","handbook",{"text":469,"config":470},"Leadership",{"href":471,"dataGaName":472,"dataGaLocation":169},"/company/team/e-group/","leadership",{"text":474,"config":475},"Investor relations",{"href":476,"dataGaName":477,"dataGaLocation":169},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":479,"config":480},"Trust Center",{"href":481,"dataGaName":482,"dataGaLocation":169},"/security/","trust center",{"text":484,"config":485},"AI Transparency Center",{"href":486,"dataGaName":487,"dataGaLocation":169},"/ai-transparency-center/","ai transparency center",{"text":489,"config":490},"Newsletter",{"href":491,"dataGaName":492,"dataGaLocation":169},"/company/contact/#contact-forms","newsletter",{"text":494,"config":495,"menu":496},"Contact us",{"dataNavLevelOne":127},{"type":191,"columns":497},[498],{"items":499},[500,505,510],{"text":501,"config":502},"Talk to sales",{"href":503,"dataGaName":504,"dataGaLocation":169},"/sales/","talk to sales",{"text":506,"config":507},"Support portal",{"href":508,"dataGaName":509,"dataGaLocation":169},"https://support.gitlab.com/hc/en-us","support portal",{"text":511,"config":512},"Customer portal",{"href":513,"dataGaName":514,"dataGaLocation":169},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":516,"login":517,"suggestions":524},"Close",{"text":518,"link":519},"To search repositories and projects, login to",{"text":520,"config":521},"gitlab.com",{"href":183,"dataGaName":522,"dataGaLocation":523},"search login","search",{"text":525,"default":526},"Suggestions",[527,530,533,535,539,543],{"text":528,"config":529},"GitLab Duo Agent Platform",{"href":249,"dataGaName":528,"dataGaLocation":523},{"text":531,"config":532},"Code Suggestions (AI)",{"href":249,"dataGaName":531,"dataGaLocation":523},{"text":201,"config":534},{"href":203,"dataGaName":201,"dataGaLocation":523},{"text":536,"config":537},"GitLab on AWS",{"href":538,"dataGaName":536,"dataGaLocation":523},"/partners/technology-partners/aws/",{"text":540,"config":541},"GitLab on Google Cloud",{"href":542,"dataGaName":540,"dataGaLocation":523},"/partners/technology-partners/google-cloud-platform/",{"text":544,"config":545},"Why GitLab?",{"href":270,"dataGaName":544,"dataGaLocation":523},{"freeTrial":547,"mobileIcon":552,"desktopIcon":557,"secondaryButton":560},{"text":548,"config":549},"Start free trial",{"href":550,"dataGaName":174,"dataGaLocation":551},"https://gitlab.com/-/trials/new/","nav",{"altText":553,"config":554},"Gitlab Icon",{"src":555,"dataGaName":556,"dataGaLocation":551},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":553,"config":558},{"src":559,"dataGaName":556,"dataGaLocation":551},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":561,"config":562},"Get Started",{"href":563,"dataGaName":564,"dataGaLocation":551},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":566,"mobileIcon":570,"desktopIcon":572},{"text":567,"config":568},"Learn more about GitLab Duo",{"href":249,"dataGaName":569,"dataGaLocation":551},"gitlab duo",{"altText":553,"config":571},{"src":555,"dataGaName":556,"dataGaLocation":551},{"altText":553,"config":573},{"src":559,"dataGaName":556,"dataGaLocation":551},{"button":575,"mobileIcon":580,"desktopIcon":582},{"text":576,"config":577},"/switch",{"href":578,"dataGaName":579,"dataGaLocation":551},"#contact","switch",{"altText":553,"config":581},{"src":555,"dataGaName":556,"dataGaLocation":551},{"altText":553,"config":583},{"src":584,"dataGaName":556,"dataGaLocation":551},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":586,"mobileIcon":591,"desktopIcon":593},{"text":587,"config":588},"Back to pricing",{"href":363,"dataGaName":589,"dataGaLocation":551,"icon":590},"back to pricing","GoBack",{"altText":553,"config":592},{"src":555,"dataGaName":556,"dataGaLocation":551},{"altText":553,"config":594},{"src":559,"dataGaName":556,"dataGaLocation":551},{"title":596,"button":597,"config":603},"Ship at agent speed. Prove every step. Transcend is here.",{"text":598,"config":599},"Watch now",{"href":600,"dataGaName":601,"dataGaLocation":602},"/events/transcend/virtual/#watch-gitlab-transcend","transcend-october-2026-banner","global-banner",{"layout":604,"disabled":132},"release",{"data":606},{"text":607,"source":608,"edit":614,"contribute":619,"config":624,"items":629,"minimal":855},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":609,"config":610},"View page source",{"href":611,"dataGaName":612,"dataGaLocation":613},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":615,"config":616},"Edit this page",{"href":617,"dataGaName":618,"dataGaLocation":613},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":620,"config":621},"Please contribute",{"href":622,"dataGaName":623,"dataGaLocation":613},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":625,"facebook":626,"youtube":627,"linkedin":628},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[630,677,735,782,823],{"title":361,"links":631,"subMenu":646},[632,636,641],{"text":633,"config":634},"View plans",{"href":363,"dataGaName":635,"dataGaLocation":613},"view plans",{"text":637,"config":638},"Why Premium?",{"href":639,"dataGaName":640,"dataGaLocation":613},"/pricing/premium/","why premium",{"text":642,"config":643},"Why Ultimate?",{"href":644,"dataGaName":645,"dataGaLocation":613},"/pricing/ultimate/","why ultimate",[647],{"title":648,"links":649},"Contact Us",[650,653,655,657,662,667,672],{"text":651,"config":652},"Contact sales",{"href":503,"dataGaName":179,"dataGaLocation":613},{"text":506,"config":654},{"href":508,"dataGaName":509,"dataGaLocation":613},{"text":511,"config":656},{"href":513,"dataGaName":514,"dataGaLocation":613},{"text":658,"config":659},"Status",{"href":660,"dataGaName":661,"dataGaLocation":613},"https://status.gitlab.com/","status",{"text":663,"config":664},"Terms of use",{"href":665,"dataGaName":666,"dataGaLocation":613},"/terms/","terms of use",{"text":668,"config":669},"Privacy statement",{"href":670,"dataGaName":671,"dataGaLocation":613},"/privacy/","privacy statement",{"text":673,"config":674},"Cookie preferences",{"dataGaName":675,"dataGaLocation":613,"id":676,"isOneTrustButton":154},"cookie preferences","ot-sdk-btn",{"title":187,"links":678,"subMenu":692},[679,682,684,686,688,690],{"text":680,"config":681},"Explore the platform",{"href":195,"dataGaName":189,"dataGaLocation":613},{"text":247,"config":683},{"href":249,"dataGaName":250,"dataGaLocation":613},{"text":201,"config":685},{"href":203,"dataGaName":204,"dataGaLocation":613},{"text":252,"config":687},{"href":254,"dataGaName":255,"dataGaLocation":613},{"text":234,"config":689},{"href":236,"dataGaName":237,"dataGaLocation":613},{"text":265,"config":691},{"href":270,"dataGaName":271,"dataGaLocation":613},[693],{"title":694,"links":695},"Topics",[696,700,705,710,715,720,725,730],{"text":201,"config":697},{"href":698,"dataGaName":699,"dataGaLocation":613},"/topics/ci-cd/","cicd",{"text":701,"config":702},"GitOps",{"href":703,"dataGaName":704,"dataGaLocation":613},"/topics/gitops/","gitops",{"text":706,"config":707},"DevOps",{"href":708,"dataGaName":709,"dataGaLocation":613},"/topics/devops/","devops",{"text":711,"config":712},"Version Control",{"href":713,"dataGaName":714,"dataGaLocation":613},"/topics/version-control/","version control",{"text":716,"config":717},"DevSecOps",{"href":718,"dataGaName":719,"dataGaLocation":613},"/topics/devsecops/","devsecops",{"text":721,"config":722},"Cloud Native",{"href":723,"dataGaName":724,"dataGaLocation":613},"/topics/cloud-native/","cloud native",{"text":726,"config":727},"AI for Coding",{"href":728,"dataGaName":729,"dataGaLocation":613},"/topics/devops/ai-for-coding/","ai for coding",{"text":731,"config":732},"Agentic AI",{"href":733,"dataGaName":734,"dataGaLocation":613},"/topics/agentic-ai/","agentic ai",{"title":273,"links":736},[737,740,743,746,749,752,754,756,758,760,762,765,767,770,774,778],{"text":738,"config":739},"DevOps modernization",{"href":288,"dataGaName":289,"dataGaLocation":613},{"text":741,"config":742},"Security modernization",{"href":293,"dataGaName":294,"dataGaLocation":613},{"text":744,"config":745},"AI modernization",{"href":298,"dataGaName":299,"dataGaLocation":613},{"text":747,"config":748},"Financial services",{"href":324,"dataGaName":325,"dataGaLocation":613},{"text":750,"config":751},"Public sector",{"href":329,"dataGaName":330,"dataGaLocation":613},{"text":332,"config":753},{"href":334,"dataGaName":335,"dataGaLocation":613},{"text":337,"config":755},{"href":339,"dataGaName":340,"dataGaLocation":613},{"text":342,"config":757},{"href":344,"dataGaName":345,"dataGaLocation":613},{"text":347,"config":759},{"href":349,"dataGaName":350,"dataGaLocation":613},{"text":304,"config":761},{"href":306,"dataGaName":307,"dataGaLocation":613},{"text":763,"config":764},"Small business",{"href":311,"dataGaName":312,"dataGaLocation":613},{"text":314,"config":766},{"href":316,"dataGaName":317,"dataGaLocation":613},{"text":701,"config":768},{"href":769,"dataGaName":704,"dataGaLocation":613},"/solutions/gitops/",{"text":771,"config":772},"Software composition analysis",{"href":241,"dataGaName":773,"dataGaLocation":613},"software composition analysis",{"text":775,"config":776},"Value stream management",{"href":259,"dataGaName":777,"dataGaLocation":613},"value stream management",{"text":779,"config":780},"All solutions",{"href":280,"dataGaName":781,"dataGaLocation":613},"all solutions",{"title":366,"links":783},[784,789,794,796,798,800,802,804,806,808,810,812,814,816,819],{"text":785,"config":786},"Install",{"href":787,"dataGaName":788,"dataGaLocation":613},"/install/","install",{"text":790,"config":791},"Quick start guides",{"href":792,"dataGaName":793,"dataGaLocation":613},"/get-started/","quick setup checklists",{"text":379,"config":795},{"href":381,"dataGaName":382,"dataGaLocation":613},{"text":384,"config":797},{"href":386,"dataGaName":387,"dataGaLocation":613},{"text":389,"config":799},{"href":391,"dataGaName":392,"dataGaLocation":613},{"text":394,"config":801},{"href":396,"dataGaName":397,"dataGaLocation":613},{"text":399,"config":803},{"href":401,"dataGaName":402,"dataGaLocation":613},{"text":407,"config":805},{"href":409,"dataGaName":410,"dataGaLocation":613},{"text":412,"config":807},{"href":414,"dataGaName":415,"dataGaLocation":613},{"text":417,"config":809},{"href":419,"dataGaName":420,"dataGaLocation":613},{"text":422,"config":811},{"href":424,"dataGaName":425,"dataGaLocation":613},{"text":427,"config":813},{"href":429,"dataGaName":430,"dataGaLocation":613},{"text":489,"config":815},{"href":491,"dataGaName":492,"dataGaLocation":613},{"text":817,"config":818},"What's new",{"href":438,"dataGaName":439,"dataGaLocation":613},{"text":820,"config":821},"All resources",{"href":373,"dataGaName":822,"dataGaLocation":613},"all resources",{"title":441,"links":824},[825,827,829,831,833,835,837,839,841,845,850],{"text":448,"config":826},{"href":450,"dataGaName":127,"dataGaLocation":613},{"text":453,"config":828},{"href":455,"dataGaName":456,"dataGaLocation":613},{"text":459,"config":830},{"href":461,"dataGaName":462,"dataGaLocation":613},{"text":464,"config":832},{"href":466,"dataGaName":467,"dataGaLocation":613},{"text":469,"config":834},{"href":471,"dataGaName":472,"dataGaLocation":613},{"text":474,"config":836},{"href":476,"dataGaName":477,"dataGaLocation":613},{"text":479,"config":838},{"href":481,"dataGaName":482,"dataGaLocation":613},{"text":484,"config":840},{"href":486,"dataGaName":487,"dataGaLocation":613},{"text":842,"config":843},"Sustainability",{"href":844,"dataGaName":842,"dataGaLocation":613},"/sustainability/",{"text":846,"config":847},"Diversity, inclusion and belonging (DIB)",{"href":848,"dataGaName":849,"dataGaLocation":613},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":851,"config":852},"Modern Slavery Transparency Statement",{"href":853,"dataGaName":854,"dataGaLocation":613},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":856},[857,860,863],{"text":858,"config":859},"Terms",{"href":665,"dataGaName":666,"dataGaLocation":613},{"text":861,"config":862},"Cookies",{"dataGaName":675,"dataGaLocation":613,"id":676,"isOneTrustButton":154},{"text":864,"config":865},"Privacy",{"href":670,"dataGaName":671,"dataGaLocation":613},[867],{"id":868,"title":869,"body":131,"config":870,"content":872,"description":131,"extension":875,"meta":876,"navigation":154,"path":877,"seo":878,"stem":879,"__hash__":880},"blogAuthors/en-us/blog/authors/gitlab.yml","Gitlab",{"template":871},"BlogAuthor",{"name":7,"config":873},{"headshot":874,"ctfId":7},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","yml",{},"/en-us/blog/authors/gitlab",{},"en-us/blog/authors/gitlab","XCBKIcPoCs6zi2oHG7o-bAp52Jhaw8_zGhIJ2jNrEjU",[882,890,897],{"title":883,"description":884,"heroImage":885,"category":127,"date":886,"authors":887,"slug":889,"externalUrl":131},"Why GitLab signed the Open Weights and American AI Leadership letter","GitLab supports customer choice, data privacy, and AI model neutrality, empowering teams to run secure, cost-effective, local solutions.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785333264/ww4mlighwlvvzgnmbe6w.png","2026-07-29",[888],"Bill Staples","open-weight-model-letter",{"title":891,"description":892,"heroImage":893,"category":127,"date":894,"authors":895,"slug":896,"externalUrl":131},"GitLab Act 2","A letter to our customers and our investors.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png","2026-05-11",[888],"gitlab-act-2",{"title":898,"description":899,"heroImage":900,"category":127,"date":901,"authors":902,"slug":904,"externalUrl":131},"GitLab named a 2026 Omdia Universe Leader","Omdia's 2026 report on AI-assisted software development ranked 19 vendors. Here is what GitLab's top scores mean for engineering teams.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-13",[903],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"header":906,"text":907,"button":911,"disclaimer":914},"Start your free\n\n30-day GitLab trial\n",[908,909,910],"GitLab Duo Agent Platform access","Try our most advanced features","Automate complex tasks with AI",{"text":171,"config":912},{"href":913,"dataGaName":174,"dataGaLocation":410},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/blog/","No credit card required.",{"header":916,"blurb":917,"button":918,"secondaryButton":923},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":919,"config":920},"Get your free trial",{"href":921,"dataGaName":174,"dataGaLocation":922},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":651,"config":924},{"href":503,"dataGaName":179,"dataGaLocation":922},1791990485948]