[{"data":1,"prerenderedAt":955},["ShallowReactive",2],{"/blog/arm-open-source-makes-a-seamless-migration-to-gitlab":3,"navigation-en-us":169,"banner-en-us":597,"footer-en-us":607,"blog-post-authors-en-us-GitLab":851,"blog-related-posts-en-us-arm-open-source-makes-a-seamless-migration-to-gitlab":866,"blog-promotions-en-us":891,"next-steps-en-us":945},{"id":4,"title":5,"authors":6,"body":8,"category":147,"date":148,"description":149,"extension":150,"externalUrl":151,"faq":151,"featured":152,"heroImage":153,"meta":154,"navigation":155,"path":156,"seo":157,"slug":161,"stem":162,"tags":163,"template":167,"updatedDate":151,"__hash__":168},"blogPosts/en-us/blog/arm-open-source-makes-a-seamless-migration-to-gitlab.md","Arm Open Source makes a seamless migration to GitLab",[7],"GitLab",{"type":9,"value":10,"toc":139},"minimark",[11,21,24,27,30,35,38,41,49,52,55,59,62,65,68,71,74,77,80,83,87,90,112,115,118,121,125,128,136],[12,13,14,20],"p",{},[15,16,19],"a",{"href":17,"rel":18},"https://www.arm.com/",[],"Arm"," wanted to modernize its infrastructure to span across internal (private) and open-source collaborative repositories, and, in the process, consolidate some of its key projects on the same underlying infrastructure. Arm selected GitLab as its new platform.",[12,22,23],{},"Arm builds software that acts as enablement pieces that can be integrated with other software on its architecture. These are foundational pieces of software that often underpin commercial software offerings, from operating systems to middleware applications. Over 99% of mobile devices have Arm-based processors and the software from the Open Source Engineering team powers computers from sensors up to the cloud.",[12,25,26],{},"“The magic really happens when you join enablement pieces with other bits of software from other communities and other projects,” explains Andrew Wafaa, distinguished engineer and senior director of software communities at Arm.",[12,28,29],{},"The goal is to give software developers the best of the Arm architecture, he adds. The enablement pieces “leverage a lot of the bells and whistles from the Arm architecture and that allows people to take those and integrate them with other stacks.”",[31,32,34],"h2",{"id":33},"gitlab-open-source-lets-arm-use-its-own-tooling","GitLab open source lets Arm use its own tooling",[12,36,37],{},"Arm had a mix of stand-alone Git servers internally and public web-based Git service and wanted to consolidate to a single solution for the company’s larger projects. However,  most of the new core infrastructure that Arm is deploying is on native Arm-based hardware, and the Git service is a proprietary solution.",[12,39,40],{},"Arm would have to work with its previous platform provider to ensure correctness. According to Wafaa, “We'd have to do reviews, and the patch review process is challenging because it's all private and proprietary code, which was a big factor for us in choosing GitLab.” In addition, Arm had concerns about the code ownership of their OSS projects hosted on the external service. Therefore, Arm determined an open source solution like GitLab would be the best option to maximize choice, be cost effective, and minimize vendor lock-in. Moving to GitLab’s self-hosted platform supported effective collaboration and enabled Arm’s software to be hosted on Arm technology.",[12,42,43,44,48],{},"Another large bonus is that because ",[15,45,47],{"href":46},"/solutions/open-source/","GitLab is open source",", Arm can use its own tools to support its open source ecosystem. “Using an open source product made sense at the end of the day,’’ Wafaa says. “Another big factor was that GitLab is an enterprise-grade product that provides very similar workflows to what Arm was already using. It was very easy to move from our previous platform to GitLab; the terminology is very similar, as well as the look and feel.”",[12,50,51],{},"Further, GitLab is a self-hosted enterprise product, and it was important to Arm to have good customer support in the event that something goes wrong.",[12,53,54],{},"Arm hosts about 200 external open source projects, so of course cost was also a consideration, Wafaa says. “When we're looking at future growth plans there needs to be a reasonable amount of savings and GitLab made it appealing cost-wise.”",[31,56,58],{"id":57},"maintaining-control-every-step-along-the-way","Maintaining control every step along the way",[12,60,61],{},"Arm is in the process of moving internal workloads to the Arm architecture. Although GitLab didn't initially support Arm, the company “was quite happy to work with us and our engineering teams to ensure that it did support Arm” by creating integrations with its infrastructure, Wafaa says.",[12,63,64],{},"“The fact that we could have that fine-grained access control was a huge benefit to us and being able to replicate it on AWS Graviton EC2 instances globally gave us that full redundancy and disaster recovery requirements to meet our IT's needs,\" Wafaa says.",[12,66,67],{},"Because Arm is an IP company, security is paramount. Wafaa says they opted for a gradual migration before scaling out. “For us to deploy, we have to go through a number of approvals with various security teams internally, and that went fairly smoothly. It just worked.”",[12,69,70],{},"After a “mini deployment,” everything is working seamlessly, he says. Now, anyone can run GitLab on Arm from an enterprise perspective.",[12,72,73],{},"Then Wafaa and others held their collective breath awaiting feedback. “Our engineering teams can be quite demanding of the infrastructure provided. They are very, very particular.”",[12,75,76],{},"Since the teams have been migrated onto GitLab, “they have been full of praise,” which was a pleasant surprise for Dean Arnold, Arm’s DevOps lead for the open source engineering org, Wafaa says, “because he's not used to getting praise from them. It stood up and worked really well for them.”",[12,78,79],{},"Migration to GitLab is ongoing with about 90 percent of it complete. “Certain projects are taking longer because they have complex tooling and the integration pieces are still being ironed out,” Wafaa says.",[12,81,82],{},"With the adoption of GitLab, Arm’s Open Source Engineering teams can now offer full end-to-end native development, and can confidently say “software development by Arm, for Arm, on Arm”. GitLab is not just a DevOps tool, it is a tool that helps companies like Arm offer a complete developer experience.",[31,84,86],{"id":85},"solid-metrics-for-arm","Solid metrics for Arm",[12,88,89],{},"With GitLab, Arm has found a number of benefits:",[91,92,93,97,100,103,106,109],"ul",{},[94,95,96],"li",{},"Ease of CI/CD set up and integration",[94,98,99],{},"Cost savings of between 15% and 20%",[94,101,102],{},"Time savings of an average two to four people a month on admin work",[94,104,105],{},"Tool simplification",[94,107,108],{},"The ability to share and collaborate on pipelines/code",[94,110,111],{},"Quick setup of new projects and onboarding of teams",[12,113,114],{},"Previously, there were multiple individual components that would have to be then stitched together, Wafaa says. “GitLab actually offers us more features and more functionality than we're necessarily used to, and that’s great.”",[12,116,117],{},"That’s especially useful because other contributors want to use pretty much every feature possible for their projects, both for corporate and personal use. For example, one engineer uses GitLab in a personal capacity and wants full CI capabilities.",[12,119,120],{},"Both Wafaa and Arnold are confident that once the migration is completed, there will be significant time savings and projects will be onboarded quickly.",[31,122,124],{"id":123},"deployment-in-the-clouds","Deployment in the clouds",[12,126,127],{},"On tap now is working through how to share parts of the pipelines so that teams can adopt things quicker, Arnold says. By the time the migration is completed, Arm will have most of what contributors need, he says.",[12,129,130,131,135],{},"Right now, Arm is using AWS EC2 instances. Looking ahead, Arnold envisions that ",[15,132,134],{"href":133},"/topics/multicloud/","deployment between cloud providers"," will become more seamless without having to change underlying code.",[12,137,138],{},"Says Wafaa, “Once we've got people fully onto GitLab, then we'll look at how we can expand it and perhaps provide a more robust level of redundancy across geographies via the containerized route. This is an area of ongoing collaboration between Arm and GitLab, and we hope to be able to deploy soon.”",{"title":140,"searchDepth":141,"depth":141,"links":142},"",2,[143,144,145,146],{"id":33,"depth":141,"text":34},{"id":57,"depth":141,"text":58},{"id":85,"depth":141,"text":86},{"id":123,"depth":141,"text":124},"open-source","2022-10-03","DevOps platform switch reaps cost savings of up to 20%.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670681/Blog/Hero%20Images/a-creative-agencys-gitlab-wishlist.jpg",{},true,"/en-us/blog/arm-open-source-makes-a-seamless-migration-to-gitlab",{"title":5,"description":149,"ogTitle":5,"ogDescription":149,"noIndex":152,"ogImage":153,"ogUrl":158,"ogSiteName":159,"ogType":160,"canonicalUrls":158},"https://about.gitlab.com/blog/arm-open-source-makes-a-seamless-migration-to-gitlab","https://about.gitlab.com","article","arm-open-source-makes-a-seamless-migration-to-gitlab","en-us/blog/arm-open-source-makes-a-seamless-migration-to-gitlab",[164,165,166],"customers","open source","DevOps","BlogPost","MYSxev55HgY4xfaoelLpbr7ceruPib_mYtjz1OonrXE",{"logo":170,"freeTrial":175,"sales":180,"login":185,"items":190,"search":517,"minimal":548,"duo":567,"switchNav":576,"pricingDeployment":587},{"config":171},{"href":172,"dataGaName":173,"dataGaLocation":174},"/","gitlab logo","header",{"text":176,"config":177},"Get free trial",{"href":178,"dataGaName":179,"dataGaLocation":174},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":181,"config":182},"Request a demo",{"href":183,"dataGaName":184,"dataGaLocation":174},"/sales/?contact-topic=request-demo","sales",{"text":186,"config":187},"Sign in",{"href":188,"dataGaName":189,"dataGaLocation":174},"https://gitlab.com/users/sign_in/","sign in",[191,220,320,325,439,495],{"text":192,"config":193,"menu":195},"Platform",{"dataNavLevelOne":194},"platform",{"type":196,"columns":197},"cards",[198,204,212],{"title":192,"description":199,"link":200},"The intelligent orchestration platform for DevSecOps",{"text":201,"config":202},"Explore our Platform",{"href":203,"dataGaName":194,"dataGaLocation":174},"/platform/",{"title":205,"description":206,"link":207},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":208,"config":209},"Meet GitLab Duo",{"href":210,"dataGaName":211,"dataGaLocation":174},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":213,"description":214,"link":215},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":216,"config":217},"Learn more",{"href":218,"dataGaName":219,"dataGaLocation":174},"/why-gitlab/","why gitlab",{"text":221,"left":155,"config":222,"menu":224},"Product",{"dataNavLevelOne":223},"solutions",{"type":225,"link":226,"columns":230,"feature":299},"lists",{"text":227,"config":228},"View all Solutions",{"href":229,"dataGaName":223,"dataGaLocation":174},"/solutions/",[231,255,278],{"title":232,"description":233,"link":234,"items":239},"Automation","CI/CD and automation to accelerate deployment",{"config":235},{"icon":236,"href":237,"dataGaName":238,"dataGaLocation":174},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[240,244,247,251],{"text":241,"config":242},"CI/CD",{"href":243,"dataGaLocation":174,"dataGaName":241},"/solutions/continuous-integration/",{"text":205,"config":245},{"href":210,"dataGaLocation":174,"dataGaName":246},"gitlab duo agent platform - product menu",{"text":248,"config":249},"Source Code Management",{"href":250,"dataGaLocation":174,"dataGaName":248},"/solutions/source-code-management/",{"text":252,"config":253},"Automated Software Delivery",{"href":237,"dataGaLocation":174,"dataGaName":254},"Automated software delivery",{"title":256,"description":257,"link":258,"items":263},"Security","Deliver code faster without compromising security",{"config":259},{"href":260,"dataGaName":261,"dataGaLocation":174,"icon":262},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[264,268,273],{"text":265,"config":266},"Application Security Testing",{"href":260,"dataGaName":267,"dataGaLocation":174},"Application security testing",{"text":269,"config":270},"Software Supply Chain Security",{"href":271,"dataGaLocation":174,"dataGaName":272},"/solutions/supply-chain/","Software supply chain security",{"text":274,"config":275},"Software Compliance",{"href":276,"dataGaName":277,"dataGaLocation":174},"/solutions/software-compliance/","software compliance",{"title":279,"link":280,"items":285},"Measurement",{"config":281},{"icon":282,"href":283,"dataGaName":284,"dataGaLocation":174},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[286,290,294],{"text":287,"config":288},"Visibility & Measurement",{"href":283,"dataGaLocation":174,"dataGaName":289},"Visibility and Measurement",{"text":291,"config":292},"Value Stream Management",{"href":293,"dataGaLocation":174,"dataGaName":291},"/solutions/value-stream-management/",{"text":295,"config":296},"Analytics & Insights",{"href":297,"dataGaLocation":174,"dataGaName":298},"/solutions/analytics-and-insights/","Analytics and insights",{"title":300,"type":225,"items":301},"GitLab for",[302,308,314],{"text":303,"config":304},"Enterprise",{"icon":305,"href":306,"dataGaLocation":174,"dataGaName":307},"Building","/enterprise/","enterprise",{"text":309,"config":310},"Small Business",{"icon":311,"href":312,"dataGaLocation":174,"dataGaName":313},"Work","/small-business/","small business",{"text":315,"config":316},"Public Sector",{"icon":317,"href":318,"dataGaLocation":174,"dataGaName":319},"Organization","/solutions/public-sector/","public sector",{"text":321,"config":322},"Pricing",{"href":323,"dataGaName":324,"dataGaLocation":174,"dataNavLevelOne":324},"/pricing/","pricing",{"text":326,"config":327,"menu":329},"Resources",{"dataNavLevelOne":328},"resources",{"type":225,"link":330,"columns":334,"feature":428},{"text":331,"config":332},"View all resources",{"href":333,"dataGaName":328,"dataGaLocation":174},"/resources/",[335,368,395],{"title":336,"items":337},"Getting started",[338,343,348,353,358,363],{"text":339,"config":340},"Install",{"href":341,"dataGaName":342,"dataGaLocation":174},"/install/","install",{"text":344,"config":345},"Quick start guides",{"href":346,"dataGaName":347,"dataGaLocation":174},"/get-started/","quick setup checklists",{"text":349,"config":350},"Learn",{"href":351,"dataGaLocation":174,"dataGaName":352},"https://university.gitlab.com/","learn",{"text":354,"config":355},"Product documentation",{"href":356,"dataGaName":357,"dataGaLocation":174},"https://docs.gitlab.com/","product documentation",{"text":359,"config":360},"Best practice videos",{"href":361,"dataGaName":362,"dataGaLocation":174},"/getting-started-videos/","best practice videos",{"text":364,"config":365},"Integrations",{"href":366,"dataGaName":367,"dataGaLocation":174},"/integrations/","integrations",{"title":369,"items":370},"Discover",[371,376,381,386,390],{"text":372,"config":373},"Customer success stories",{"href":374,"dataGaName":375,"dataGaLocation":174},"/customers/","customer success stories",{"text":377,"config":378},"Blog",{"href":379,"dataGaName":380,"dataGaLocation":174},"/blog/","blog",{"text":382,"config":383},"Demo Hub",{"href":384,"dataGaName":385,"dataGaLocation":174},"/demo-hub/","demo hub",{"text":387,"config":388},"The Source",{"href":389,"dataGaName":380,"dataGaLocation":174},"/the-source/",{"text":391,"config":392},"Remote",{"href":393,"dataGaName":394,"dataGaLocation":174},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":396,"items":397},"Connect",[398,403,408,413,418,423],{"text":399,"config":400},"GitLab Services",{"href":401,"dataGaName":402,"dataGaLocation":174},"/services/","services",{"text":404,"config":405},"Contribute",{"href":406,"dataGaName":407,"dataGaLocation":174},"https://contributors.gitlab.com","contribute",{"text":409,"config":410},"Community",{"href":411,"dataGaName":412,"dataGaLocation":174},"/community/","community",{"text":414,"config":415},"Forum",{"href":416,"dataGaName":417,"dataGaLocation":174},"https://forum.gitlab.com/","forum",{"text":419,"config":420},"Events",{"href":421,"dataGaName":422,"dataGaLocation":174},"/events/","events",{"text":424,"config":425},"Partners",{"href":426,"dataGaName":427,"dataGaLocation":174},"/partners/","partners",{"config":429,"title":432,"text":433,"link":434},{"background":430,"textColor":431},"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":435,"config":436},"Read the latest",{"href":437,"dataGaName":438,"dataGaLocation":174},"/whats-new/","whats new",{"text":440,"config":441,"menu":443},"Company",{"dataNavLevelOne":442},"company",{"type":225,"columns":444},[445],{"items":446},[447,452,458,460,465,470,475,480,485,490],{"text":448,"config":449},"About",{"href":450,"dataGaName":451,"dataGaLocation":174},"/company/","about",{"text":453,"config":454,"footerGa":457},"Jobs",{"href":455,"dataGaName":456,"dataGaLocation":174},"/jobs/","jobs",{"dataGaName":456},{"text":419,"config":459},{"href":421,"dataGaName":422,"dataGaLocation":174},{"text":461,"config":462},"Leadership",{"href":463,"dataGaName":464,"dataGaLocation":174},"/company/team/e-group/","leadership",{"text":466,"config":467},"Handbook",{"href":468,"dataGaName":469,"dataGaLocation":174},"https://handbook.gitlab.com/","handbook",{"text":471,"config":472},"Investor relations",{"href":473,"dataGaName":474,"dataGaLocation":174},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":476,"config":477},"Trust Center",{"href":478,"dataGaName":479,"dataGaLocation":174},"/security/","trust center",{"text":481,"config":482},"AI Transparency Center",{"href":483,"dataGaName":484,"dataGaLocation":174},"/ai-transparency-center/","ai transparency center",{"text":486,"config":487},"Newsletter",{"href":488,"dataGaName":489,"dataGaLocation":174},"/company/contact/#contact-forms","newsletter",{"text":491,"config":492},"Press",{"href":493,"dataGaName":494,"dataGaLocation":174},"/press/","press",{"text":496,"config":497,"menu":498},"Contact us",{"dataNavLevelOne":442},{"type":225,"columns":499},[500],{"items":501},[502,507,512],{"text":503,"config":504},"Talk to sales",{"href":505,"dataGaName":506,"dataGaLocation":174},"/sales/","talk to sales",{"text":508,"config":509},"Support portal",{"href":510,"dataGaName":511,"dataGaLocation":174},"https://support.gitlab.com/hc/en-us","support portal",{"text":513,"config":514},"Customer portal",{"href":515,"dataGaName":516,"dataGaLocation":174},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":518,"login":519,"suggestions":526},"Close",{"text":520,"link":521},"To search repositories and projects, login to",{"text":522,"config":523},"gitlab.com",{"href":188,"dataGaName":524,"dataGaLocation":525},"search login","search",{"text":527,"default":528},"Suggestions",[529,531,535,537,541,545],{"text":205,"config":530},{"href":210,"dataGaName":205,"dataGaLocation":525},{"text":532,"config":533},"Code Suggestions (AI)",{"href":534,"dataGaName":532,"dataGaLocation":525},"/solutions/code-suggestions/",{"text":241,"config":536},{"href":243,"dataGaName":241,"dataGaLocation":525},{"text":538,"config":539},"GitLab on AWS",{"href":540,"dataGaName":538,"dataGaLocation":525},"/partners/technology-partners/aws/",{"text":542,"config":543},"GitLab on Google Cloud",{"href":544,"dataGaName":542,"dataGaLocation":525},"/partners/technology-partners/google-cloud-platform/",{"text":546,"config":547},"Why GitLab?",{"href":218,"dataGaName":546,"dataGaLocation":525},{"freeTrial":549,"mobileIcon":554,"desktopIcon":559,"secondaryButton":562},{"text":550,"config":551},"Start free trial",{"href":552,"dataGaName":179,"dataGaLocation":553},"https://gitlab.com/-/trials/new/","nav",{"altText":555,"config":556},"Gitlab Icon",{"src":557,"dataGaName":558,"dataGaLocation":553},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":555,"config":560},{"src":561,"dataGaName":558,"dataGaLocation":553},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":563,"config":564},"Get Started",{"href":565,"dataGaName":566,"dataGaLocation":553},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":568,"mobileIcon":572,"desktopIcon":574},{"text":569,"config":570},"Learn more about GitLab Duo",{"href":210,"dataGaName":571,"dataGaLocation":553},"gitlab duo",{"altText":555,"config":573},{"src":557,"dataGaName":558,"dataGaLocation":553},{"altText":555,"config":575},{"src":561,"dataGaName":558,"dataGaLocation":553},{"button":577,"mobileIcon":582,"desktopIcon":584},{"text":578,"config":579},"/switch",{"href":580,"dataGaName":581,"dataGaLocation":553},"#contact","switch",{"altText":555,"config":583},{"src":557,"dataGaName":558,"dataGaLocation":553},{"altText":555,"config":585},{"src":586,"dataGaName":558,"dataGaLocation":553},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":588,"mobileIcon":593,"desktopIcon":595},{"text":589,"config":590},"Back to pricing",{"href":323,"dataGaName":591,"dataGaLocation":553,"icon":592},"back to pricing","GoBack",{"altText":555,"config":594},{"src":557,"dataGaName":558,"dataGaLocation":553},{"altText":555,"config":596},{"src":561,"dataGaName":558,"dataGaLocation":553},{"title":598,"titleMobile":599,"button":600,"config":605},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":216,"config":601},{"href":602,"dataGaName":603,"dataGaLocation":604},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":606,"disabled":152},"release",{"data":608},{"text":609,"source":610,"edit":616,"contribute":621,"config":626,"items":631,"minimal":840},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":611,"config":612},"View page source",{"href":613,"dataGaName":614,"dataGaLocation":615},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":617,"config":618},"Edit this page",{"href":619,"dataGaName":620,"dataGaLocation":615},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":622,"config":623},"Please contribute",{"href":624,"dataGaName":625,"dataGaLocation":615},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":627,"facebook":628,"youtube":629,"linkedin":630},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[632,679,732,776,808],{"title":321,"links":633,"subMenu":648},[634,638,643],{"text":635,"config":636},"View plans",{"href":323,"dataGaName":637,"dataGaLocation":615},"view plans",{"text":639,"config":640},"Why Premium?",{"href":641,"dataGaName":642,"dataGaLocation":615},"/pricing/premium/","why premium",{"text":644,"config":645},"Why Ultimate?",{"href":646,"dataGaName":647,"dataGaLocation":615},"/pricing/ultimate/","why ultimate",[649],{"title":650,"links":651},"Contact Us",[652,655,657,659,664,669,674],{"text":653,"config":654},"Contact sales",{"href":505,"dataGaName":184,"dataGaLocation":615},{"text":508,"config":656},{"href":510,"dataGaName":511,"dataGaLocation":615},{"text":513,"config":658},{"href":515,"dataGaName":516,"dataGaLocation":615},{"text":660,"config":661},"Status",{"href":662,"dataGaName":663,"dataGaLocation":615},"https://status.gitlab.com/","status",{"text":665,"config":666},"Terms of use",{"href":667,"dataGaName":668,"dataGaLocation":615},"/terms/","terms of use",{"text":670,"config":671},"Privacy statement",{"href":672,"dataGaName":673,"dataGaLocation":615},"/privacy/","privacy statement",{"text":675,"config":676},"Cookie preferences",{"dataGaName":677,"dataGaLocation":615,"id":678,"isOneTrustButton":155},"cookie preferences","ot-sdk-btn",{"title":221,"links":680,"subMenu":689},[681,685],{"text":682,"config":683},"DevSecOps platform",{"href":203,"dataGaName":684,"dataGaLocation":615},"devsecops platform",{"text":686,"config":687},"AI-Assisted Development",{"href":210,"dataGaName":688,"dataGaLocation":615},"ai-assisted development",[690],{"title":691,"links":692},"Topics",[693,698,703,707,712,717,722,727],{"text":694,"config":695},"CICD",{"href":696,"dataGaName":697,"dataGaLocation":615},"/topics/ci-cd/","cicd",{"text":699,"config":700},"GitOps",{"href":701,"dataGaName":702,"dataGaLocation":615},"/topics/gitops/","gitops",{"text":166,"config":704},{"href":705,"dataGaName":706,"dataGaLocation":615},"/topics/devops/","devops",{"text":708,"config":709},"Version Control",{"href":710,"dataGaName":711,"dataGaLocation":615},"/topics/version-control/","version control",{"text":713,"config":714},"DevSecOps",{"href":715,"dataGaName":716,"dataGaLocation":615},"/topics/devsecops/","devsecops",{"text":718,"config":719},"Cloud Native",{"href":720,"dataGaName":721,"dataGaLocation":615},"/topics/cloud-native/","cloud native",{"text":723,"config":724},"AI for Coding",{"href":725,"dataGaName":726,"dataGaLocation":615},"/topics/devops/ai-for-coding/","ai for coding",{"text":728,"config":729},"Agentic AI",{"href":730,"dataGaName":731,"dataGaLocation":615},"/topics/agentic-ai/","agentic ai",{"title":733,"links":734},"Solutions",[735,737,739,744,748,751,755,758,760,763,766,771],{"text":265,"config":736},{"href":260,"dataGaName":265,"dataGaLocation":615},{"text":254,"config":738},{"href":237,"dataGaName":238,"dataGaLocation":615},{"text":740,"config":741},"Agile development",{"href":742,"dataGaName":743,"dataGaLocation":615},"/solutions/agile-delivery/","agile delivery",{"text":745,"config":746},"SCM",{"href":250,"dataGaName":747,"dataGaLocation":615},"source code management",{"text":694,"config":749},{"href":243,"dataGaName":750,"dataGaLocation":615},"continuous integration & delivery",{"text":752,"config":753},"Value stream management",{"href":293,"dataGaName":754,"dataGaLocation":615},"value stream management",{"text":699,"config":756},{"href":757,"dataGaName":702,"dataGaLocation":615},"/solutions/gitops/",{"text":303,"config":759},{"href":306,"dataGaName":307,"dataGaLocation":615},{"text":761,"config":762},"Small business",{"href":312,"dataGaName":313,"dataGaLocation":615},{"text":764,"config":765},"Public sector",{"href":318,"dataGaName":319,"dataGaLocation":615},{"text":767,"config":768},"Education",{"href":769,"dataGaName":770,"dataGaLocation":615},"/solutions/education/","education",{"text":772,"config":773},"Financial services",{"href":774,"dataGaName":775,"dataGaLocation":615},"/solutions/finance/","financial services",{"title":326,"links":777},[778,780,782,784,787,789,792,794,796,798,800,802,804,806],{"text":339,"config":779},{"href":341,"dataGaName":342,"dataGaLocation":615},{"text":344,"config":781},{"href":346,"dataGaName":347,"dataGaLocation":615},{"text":349,"config":783},{"href":351,"dataGaName":352,"dataGaLocation":615},{"text":354,"config":785},{"href":356,"dataGaName":786,"dataGaLocation":615},"docs",{"text":377,"config":788},{"href":379,"dataGaName":380,"dataGaLocation":615},{"text":790,"config":791},"What's new",{"href":437,"dataGaName":438,"dataGaLocation":615},{"text":372,"config":793},{"href":374,"dataGaName":375,"dataGaLocation":615},{"text":391,"config":795},{"href":393,"dataGaName":394,"dataGaLocation":615},{"text":399,"config":797},{"href":401,"dataGaName":402,"dataGaLocation":615},{"text":404,"config":799},{"href":406,"dataGaName":407,"dataGaLocation":615},{"text":409,"config":801},{"href":411,"dataGaName":412,"dataGaLocation":615},{"text":414,"config":803},{"href":416,"dataGaName":417,"dataGaLocation":615},{"text":419,"config":805},{"href":421,"dataGaName":422,"dataGaLocation":615},{"text":424,"config":807},{"href":426,"dataGaName":427,"dataGaLocation":615},{"title":440,"links":809},[810,812,814,816,818,820,824,829,831,833,835],{"text":448,"config":811},{"href":450,"dataGaName":442,"dataGaLocation":615},{"text":453,"config":813},{"href":455,"dataGaName":456,"dataGaLocation":615},{"text":461,"config":815},{"href":463,"dataGaName":464,"dataGaLocation":615},{"text":466,"config":817},{"href":468,"dataGaName":469,"dataGaLocation":615},{"text":471,"config":819},{"href":473,"dataGaName":474,"dataGaLocation":615},{"text":821,"config":822},"Sustainability",{"href":823,"dataGaName":821,"dataGaLocation":615},"/sustainability/",{"text":825,"config":826},"Diversity, inclusion and belonging (DIB)",{"href":827,"dataGaName":828,"dataGaLocation":615},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":476,"config":830},{"href":478,"dataGaName":479,"dataGaLocation":615},{"text":486,"config":832},{"href":488,"dataGaName":489,"dataGaLocation":615},{"text":491,"config":834},{"href":493,"dataGaName":494,"dataGaLocation":615},{"text":836,"config":837},"Modern Slavery Transparency Statement",{"href":838,"dataGaName":839,"dataGaLocation":615},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":841},[842,845,848],{"text":843,"config":844},"Terms",{"href":667,"dataGaName":668,"dataGaLocation":615},{"text":846,"config":847},"Cookies",{"dataGaName":677,"dataGaLocation":615,"id":678,"isOneTrustButton":155},{"text":849,"config":850},"Privacy",{"href":672,"dataGaName":673,"dataGaLocation":615},[852],{"id":853,"title":854,"body":151,"config":855,"content":857,"description":151,"extension":860,"meta":861,"navigation":155,"path":862,"seo":863,"stem":864,"__hash__":865},"blogAuthors/en-us/blog/authors/gitlab.yml","Gitlab",{"template":856},"BlogAuthor",{"name":7,"config":858},{"headshot":859,"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",[867,875,883],{"title":868,"description":869,"heroImage":870,"category":147,"date":871,"authors":872,"slug":874,"externalUrl":151},"What's new in Git 2.55.0?","Learn about the new features and changes in Git 2.55, including a new git-history(1) fixup command, an fsmonitor daemon for Linux, pushing to remote groups, and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782732487/ztwgrvlolpifo01vj8qc.png","2026-06-29",[873],"Toon Claes","whats-new-in-git-2-55-0",{"title":876,"description":877,"heroImage":878,"category":147,"date":879,"authors":880,"slug":882,"externalUrl":151},"GitLab AI Hackathon 2026: Meet the winners","Nearly 7,000 developers built 600+ AI agents and flows on GitLab Duo Agent Platform. Find out who won and what they created.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-22",[881],"Nick Veenhof","gitlab-ai-hackathon-2026-meet-the-winners",{"title":884,"description":885,"heroImage":886,"category":147,"date":887,"authors":888,"slug":890,"externalUrl":151},"What’s new in Git 2.54.0?","Learn about release contributions, including new repository maintenance, a new command to edit commit history, a replacement for git-sizer(1), and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782734716/ztwgrvlolpifo01vj8qc.png","2026-04-20",[889],"Patrick Steinhardt","whats-new-in-git-2-54-0",{"promotions":892},[893,907,919,931],{"id":894,"categories":895,"header":897,"text":898,"button":899,"image":904},"ai-modernization",[896],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":900,"config":901},"Get your AI maturity score",{"href":902,"dataGaName":903,"dataGaLocation":380},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":905},{"src":906},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":908,"categories":909,"header":911,"text":898,"button":912,"image":916},"devops-modernization",[910,716],"product","Are you just managing tools or shipping innovation?",{"text":913,"config":914},"Get your DevOps maturity score",{"href":915,"dataGaName":903,"dataGaLocation":380},"/assessments/devops-modernization-assessment/",{"config":917},{"src":918},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":920,"categories":921,"header":923,"text":898,"button":924,"image":928},"security-modernization",[922],"security","Are you trading speed for security?",{"text":925,"config":926},"Get your security maturity score",{"href":927,"dataGaName":903,"dataGaLocation":380},"/assessments/security-modernization-assessment/",{"config":929},{"src":930},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":932,"paths":933,"header":936,"text":937,"button":938,"image":943},"github-azure-migration",[934,935],"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":939,"config":940},"See how GitLab compares to GitHub",{"href":941,"dataGaName":942,"dataGaLocation":380},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":944},{"src":918},{"header":946,"blurb":947,"button":948,"secondaryButton":953},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":949,"config":950},"Get your free trial",{"href":951,"dataGaName":179,"dataGaLocation":952},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":653,"config":954},{"href":505,"dataGaName":184,"dataGaLocation":952},1786803761481]