[{"data":1,"prerenderedAt":943},["ShallowReactive",2],{"/blog/gitlab-serverless-with-cloudrun-for-anthos":3,"navigation-en-us":163,"banner-en-us":588,"footer-en-us":598,"blog-post-authors-en-us-Mayank Tahilramani":840,"blog-related-posts-en-us-gitlab-serverless-with-cloudrun-for-anthos":854,"blog-promotions-en-us":879,"next-steps-en-us":933},{"id":4,"title":5,"authors":6,"body":8,"category":140,"date":141,"description":142,"extension":143,"externalUrl":144,"faq":144,"featured":145,"heroImage":146,"meta":147,"navigation":148,"path":149,"seo":150,"slug":154,"stem":155,"tags":156,"template":161,"updatedDate":144,"__hash__":162},"blogPosts/en-us/blog/gitlab-serverless-with-cloudrun-for-anthos.md","Announcing GitLab Serverless deploying to Cloud Run for Anthos",[7],"Mayank Tahilramani",{"type":9,"value":10,"toc":134},"minimark",[11,32,45,50,64,103,107],[12,13,14,15,20,21,26,27,31],"p",{},"This week at Google Cloud Next ’19 UK, Google Cloud grew its Anthos product portfolio with the addition of Cloud Run for Anthos running on-prem. I’m excited to share that GitLab has been collaborating with Google Cloud product teams to support this launch and enable customers with CI/CD and ",[16,17,19],"a",{"href":18},"/topics/serverless/","GitLab Serverless"," capabilities for quicker and easier adoption of serverless solutions. In the spirit of our partnership, our support for ",[16,22,25],{"href":23,"rel":24},"https://cloud.google.com/run",[],"Cloud Run for Anthos"," is a continuation of our collaboration ",[16,28,30],{"href":29},"/blog/running-a-consistent-serverless-platform/","announced earlier this year at Google Cloud Next ’19 in San Francisco",", where we showed how you can deploy a serverless function to Cloud Run using the same developer workflow you’re already familiar with in GitLab. Now, we’re looking to bring that same UX and workflow consistency to Cloud Run deployments on Anthos running on-premise. Overall, together, GitLab and Google Cloud are aiming to lower the barrier of adoption for customers looking to architect scalable, cloud native solutions.",[12,33,34,35,40,41,44],{},"However, when discussing cloud native, oftentimes ‘public cloud infrastructure’ comes to mind. But when I think of cloud native, I think of the various, modern ways of architecting scalable solutions, backed by managed services to make operations more convenient. Until very recently, infrastructure-centric managed services like Google Kubernetes Engine (GKE), Cloud Run, StackDriver, etc. have been traditionally associated with workloads running within cloud data centers. Given the recent announcements of ",[16,36,39],{"href":37,"rel":38},"https://cloud.google.com/blog/products/serverless/knative-based-cloud-run-services-are-ga",[],"Google Cloud Anthos",", Google is clearly broadening the boundaries of cloud native across hybrid and heterogeneous environments, including customer data centers. As the infrastructure landscape diversifies, as application development intertwines with abstraction layers of managed services, and as workload flexibility becomes inherent with microservice containerization, the one thing you can rely on staying consistent is GitLab’s developer workflow to supplement all the above. In the context of all things ",[16,42,43],{"href":18},"serverless",", let's take a closer look at what’s available today, what we’re still working on, and what that means for our users.",[46,47,49],"h2",{"id":48},"whats-available-today","What’s available today",[12,51,52,53,57,58,63],{},"GitLab serves as a single application for all of ",[16,54,56],{"href":55},"/topics/devops/","DevOps",", which includes building, deploying, and managing serverless applications. GitLab serverless enables developers to focus on writing application code without having to worry about Kubernetes or Knative YAML configuration. GitLab provides templates allowing developers to easily build and deploy Knative services that can be deployed to Cloud Run. Here is a ",[16,59,62],{"href":60,"rel":61},"https://youtu.be/IIM8JWhAbNk?t=210",[],"quick video walkthrough on the anatomy of a serverless project hosted in GitLab and deployed to Knative",". With Google, you have a few options on how to leverage Cloud Run as a deployment target for GitLab CI/CD. As of this week, you can run Cloud Run in three different flavors:",[65,66,67,80,91],"ol",{},[68,69,70,74,75,79],"li",{},[71,72,73],"strong",{},"Cloud Run",": This is a fully managed cloud service powered by Knative for serverless apps. GitLab supports deploying to Cloud Run and the full CI/CD workflow to leverage GitLab Runners to build and test functions. GitLab takes in the ",[76,77,78],"code",{},"serverless.yml"," file within the root of your source code repository to define and deploy to Cloud Run.",[68,81,82,85,86,90],{},[71,83,84],{},"Cloud Run for Anthos running on Google Cloud",": This is a managed deployment of Knative on Anthos GKE clusters running on Google Cloud Platform. This enables you to install a managed Cloud Run deployment on top of your own Kubernetes cluster. Similar to above, GitLab also supports deploying to Cloud Run via the full CI/CD workflow, but as of right now, the highest version of Knative supported by GitLab is 0.7. Latest version support for Knative is coming in ",[16,87,89],{"href":88},"/whats-new/","GitLab 12.6"," on Dec. 22, 2019.",[68,92,93,96,97,102],{},[71,94,95],{},"Cloud Run for Anthos running on-premise",": Similar to above, this flavor of Cloud Run enables users to run a managed Cloud Run deployment on top of Anthos GKE On-Prem in your own data center. Currently, Knative v.0.9 is deployed in GKE-OP clusters. GitLab is soon to release support for Knative v0.9 and users can track the progress of this work in ",[16,98,101],{"href":99,"rel":100},"https://gitlab.com/gitlab-org/gitlabktl/issues/55",[],"this open issue"," today. If you like what we’re working on, stop by and give us a thumbs up for feedback. So far, internal testing has been very positive and we look forward to formally supporting Cloud Run for Anthos running on-premise in the coming months/releases. The user experience will be almost identical to the prior two use cases listed above as you would expect.",[46,104,106],{"id":105},"where-to-get-started","Where to get started",[12,108,109,110,115,116,121,122,127,128,133],{},"If you’re interested in getting started with some sample code, check out our documentation and ",[16,111,114],{"href":112,"rel":113},"https://gitlab.com/knative-examples/functions",[],"sample app project"," for reference. Additionally, ",[16,117,120],{"href":118,"rel":119},"https://youtu.be/lb_bRRAgEyc?t=1103",[],"here is a walkthrough of deploying a demo app to Cloud Run from GitLab",". If you’re looking to get started with Serverless on Google Cloud Platform, ",[16,123,126],{"href":124,"rel":125},"https://gitlab.com/users/sign_up",[],"sign up for GitLab.com here"," and then ",[16,129,132],{"href":130,"rel":131},"https://cloud.google.com/partners/partnercredit/?PCN=a0n60000006Vpz4AAC",[],"sign up for $200 additional free GCP credits",".",{"title":135,"searchDepth":136,"depth":136,"links":137},"",2,[138,139],{"id":48,"depth":136,"text":49},{"id":105,"depth":136,"text":106},"open-source","2019-11-19","Discover how we're making it easier to deploy serverless workloads on-premise with Anthos.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666851/Blog/Hero%20Images/gitlab-serverless-blog.png",{},true,"/en-us/blog/gitlab-serverless-with-cloudrun-for-anthos",{"title":5,"description":142,"ogTitle":5,"ogDescription":142,"noIndex":145,"ogImage":146,"ogUrl":151,"ogSiteName":152,"ogType":153,"canonicalUrls":151},"https://about.gitlab.com/blog/gitlab-serverless-with-cloudrun-for-anthos","https://about.gitlab.com","article","gitlab-serverless-with-cloudrun-for-anthos","en-us/blog/gitlab-serverless-with-cloudrun-for-anthos",[157,158,56,159,160],"CI/CD","cloud native","integrations","careers","BlogPost","TYhnnKfRBYgl0cJZjq5obfEoG1hcdXeDTtVkmIVB630",{"logo":164,"freeTrial":169,"sales":174,"login":179,"items":184,"search":508,"minimal":539,"duo":558,"switchNav":567,"pricingDeployment":578},{"config":165},{"href":166,"dataGaName":167,"dataGaLocation":168},"/","gitlab logo","header",{"text":170,"config":171},"Get free trial",{"href":172,"dataGaName":173,"dataGaLocation":168},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":175,"config":176},"Request a demo",{"href":177,"dataGaName":178,"dataGaLocation":168},"/sales/?contact-topic=request-demo","sales",{"text":180,"config":181},"Sign in",{"href":182,"dataGaName":183,"dataGaLocation":168},"https://gitlab.com/users/sign_in/","sign in",[185,214,313,318,430,486],{"text":186,"config":187,"menu":189},"Platform",{"dataNavLevelOne":188},"platform",{"type":190,"columns":191},"cards",[192,198,206],{"title":186,"description":193,"link":194},"The intelligent orchestration platform for DevSecOps",{"text":195,"config":196},"Explore our Platform",{"href":197,"dataGaName":188,"dataGaLocation":168},"/platform/",{"title":199,"description":200,"link":201},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":202,"config":203},"Meet GitLab Duo",{"href":204,"dataGaName":205,"dataGaLocation":168},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":207,"description":208,"link":209},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":210,"config":211},"Learn more",{"href":212,"dataGaName":213,"dataGaLocation":168},"/why-gitlab/","why gitlab",{"text":215,"left":148,"config":216,"menu":218},"Product",{"dataNavLevelOne":217},"solutions",{"type":219,"link":220,"columns":224,"feature":292},"lists",{"text":221,"config":222},"View all Solutions",{"href":223,"dataGaName":217,"dataGaLocation":168},"/solutions/",[225,248,271],{"title":226,"description":227,"link":228,"items":233},"Automation","CI/CD and automation to accelerate deployment",{"config":229},{"icon":230,"href":231,"dataGaName":232,"dataGaLocation":168},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[234,237,240,244],{"text":157,"config":235},{"href":236,"dataGaLocation":168,"dataGaName":157},"/solutions/continuous-integration/",{"text":199,"config":238},{"href":204,"dataGaLocation":168,"dataGaName":239},"gitlab duo agent platform - product menu",{"text":241,"config":242},"Source Code Management",{"href":243,"dataGaLocation":168,"dataGaName":241},"/solutions/source-code-management/",{"text":245,"config":246},"Automated Software Delivery",{"href":231,"dataGaLocation":168,"dataGaName":247},"Automated software delivery",{"title":249,"description":250,"link":251,"items":256},"Security","Deliver code faster without compromising security",{"config":252},{"href":253,"dataGaName":254,"dataGaLocation":168,"icon":255},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[257,261,266],{"text":258,"config":259},"Application Security Testing",{"href":253,"dataGaName":260,"dataGaLocation":168},"Application security testing",{"text":262,"config":263},"Software Supply Chain Security",{"href":264,"dataGaLocation":168,"dataGaName":265},"/solutions/supply-chain/","Software supply chain security",{"text":267,"config":268},"Software Compliance",{"href":269,"dataGaName":270,"dataGaLocation":168},"/solutions/software-compliance/","software compliance",{"title":272,"link":273,"items":278},"Measurement",{"config":274},{"icon":275,"href":276,"dataGaName":277,"dataGaLocation":168},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[279,283,287],{"text":280,"config":281},"Visibility & Measurement",{"href":276,"dataGaLocation":168,"dataGaName":282},"Visibility and Measurement",{"text":284,"config":285},"Value Stream Management",{"href":286,"dataGaLocation":168,"dataGaName":284},"/solutions/value-stream-management/",{"text":288,"config":289},"Analytics & Insights",{"href":290,"dataGaLocation":168,"dataGaName":291},"/solutions/analytics-and-insights/","Analytics and insights",{"title":293,"type":219,"items":294},"GitLab for",[295,301,307],{"text":296,"config":297},"Enterprise",{"icon":298,"href":299,"dataGaLocation":168,"dataGaName":300},"Building","/enterprise/","enterprise",{"text":302,"config":303},"Small Business",{"icon":304,"href":305,"dataGaLocation":168,"dataGaName":306},"Work","/small-business/","small business",{"text":308,"config":309},"Public Sector",{"icon":310,"href":311,"dataGaLocation":168,"dataGaName":312},"Organization","/solutions/public-sector/","public sector",{"text":314,"config":315},"Pricing",{"href":316,"dataGaName":317,"dataGaLocation":168,"dataNavLevelOne":317},"/pricing/","pricing",{"text":319,"config":320,"menu":322},"Resources",{"dataNavLevelOne":321},"resources",{"type":219,"link":323,"columns":327,"feature":420},{"text":324,"config":325},"View all resources",{"href":326,"dataGaName":321,"dataGaLocation":168},"/resources/",[328,360,387],{"title":329,"items":330},"Getting started",[331,336,341,346,351,356],{"text":332,"config":333},"Install",{"href":334,"dataGaName":335,"dataGaLocation":168},"/install/","install",{"text":337,"config":338},"Quick start guides",{"href":339,"dataGaName":340,"dataGaLocation":168},"/get-started/","quick setup checklists",{"text":342,"config":343},"Learn",{"href":344,"dataGaLocation":168,"dataGaName":345},"https://university.gitlab.com/","learn",{"text":347,"config":348},"Product documentation",{"href":349,"dataGaName":350,"dataGaLocation":168},"https://docs.gitlab.com/","product documentation",{"text":352,"config":353},"Best practice videos",{"href":354,"dataGaName":355,"dataGaLocation":168},"/getting-started-videos/","best practice videos",{"text":357,"config":358},"Integrations",{"href":359,"dataGaName":159,"dataGaLocation":168},"/integrations/",{"title":361,"items":362},"Discover",[363,368,373,378,382],{"text":364,"config":365},"Customer success stories",{"href":366,"dataGaName":367,"dataGaLocation":168},"/customers/","customer success stories",{"text":369,"config":370},"Blog",{"href":371,"dataGaName":372,"dataGaLocation":168},"/blog/","blog",{"text":374,"config":375},"Demo Hub",{"href":376,"dataGaName":377,"dataGaLocation":168},"/demo-hub/","demo hub",{"text":379,"config":380},"The Source",{"href":381,"dataGaName":372,"dataGaLocation":168},"/the-source/",{"text":383,"config":384},"Remote",{"href":385,"dataGaName":386,"dataGaLocation":168},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":388,"items":389},"Connect",[390,395,400,405,410,415],{"text":391,"config":392},"GitLab Services",{"href":393,"dataGaName":394,"dataGaLocation":168},"/services/","services",{"text":396,"config":397},"Contribute",{"href":398,"dataGaName":399,"dataGaLocation":168},"https://contributors.gitlab.com","contribute",{"text":401,"config":402},"Community",{"href":403,"dataGaName":404,"dataGaLocation":168},"/community/","community",{"text":406,"config":407},"Forum",{"href":408,"dataGaName":409,"dataGaLocation":168},"https://forum.gitlab.com/","forum",{"text":411,"config":412},"Events",{"href":413,"dataGaName":414,"dataGaLocation":168},"/events/","events",{"text":416,"config":417},"Partners",{"href":418,"dataGaName":419,"dataGaLocation":168},"/partners/","partners",{"config":421,"title":424,"text":425,"link":426},{"background":422,"textColor":423},"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":427,"config":428},"Read the latest",{"href":88,"dataGaName":429,"dataGaLocation":168},"whats new",{"text":431,"config":432,"menu":434},"Company",{"dataNavLevelOne":433},"company",{"type":219,"columns":435},[436],{"items":437},[438,443,449,451,456,461,466,471,476,481],{"text":439,"config":440},"About",{"href":441,"dataGaName":442,"dataGaLocation":168},"/company/","about",{"text":444,"config":445,"footerGa":448},"Jobs",{"href":446,"dataGaName":447,"dataGaLocation":168},"/jobs/","jobs",{"dataGaName":447},{"text":411,"config":450},{"href":413,"dataGaName":414,"dataGaLocation":168},{"text":452,"config":453},"Leadership",{"href":454,"dataGaName":455,"dataGaLocation":168},"/company/team/e-group/","leadership",{"text":457,"config":458},"Handbook",{"href":459,"dataGaName":460,"dataGaLocation":168},"https://handbook.gitlab.com/","handbook",{"text":462,"config":463},"Investor relations",{"href":464,"dataGaName":465,"dataGaLocation":168},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":467,"config":468},"Trust Center",{"href":469,"dataGaName":470,"dataGaLocation":168},"/security/","trust center",{"text":472,"config":473},"AI Transparency Center",{"href":474,"dataGaName":475,"dataGaLocation":168},"/ai-transparency-center/","ai transparency center",{"text":477,"config":478},"Newsletter",{"href":479,"dataGaName":480,"dataGaLocation":168},"/company/contact/#contact-forms","newsletter",{"text":482,"config":483},"Press",{"href":484,"dataGaName":485,"dataGaLocation":168},"/press/","press",{"text":487,"config":488,"menu":489},"Contact us",{"dataNavLevelOne":433},{"type":219,"columns":490},[491],{"items":492},[493,498,503],{"text":494,"config":495},"Talk to sales",{"href":496,"dataGaName":497,"dataGaLocation":168},"/sales/","talk to sales",{"text":499,"config":500},"Support portal",{"href":501,"dataGaName":502,"dataGaLocation":168},"https://support.gitlab.com/hc/en-us","support portal",{"text":504,"config":505},"Customer portal",{"href":506,"dataGaName":507,"dataGaLocation":168},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":509,"login":510,"suggestions":517},"Close",{"text":511,"link":512},"To search repositories and projects, login to",{"text":513,"config":514},"gitlab.com",{"href":182,"dataGaName":515,"dataGaLocation":516},"search login","search",{"text":518,"default":519},"Suggestions",[520,522,526,528,532,536],{"text":199,"config":521},{"href":204,"dataGaName":199,"dataGaLocation":516},{"text":523,"config":524},"Code Suggestions (AI)",{"href":525,"dataGaName":523,"dataGaLocation":516},"/solutions/code-suggestions/",{"text":157,"config":527},{"href":236,"dataGaName":157,"dataGaLocation":516},{"text":529,"config":530},"GitLab on AWS",{"href":531,"dataGaName":529,"dataGaLocation":516},"/partners/technology-partners/aws/",{"text":533,"config":534},"GitLab on Google Cloud",{"href":535,"dataGaName":533,"dataGaLocation":516},"/partners/technology-partners/google-cloud-platform/",{"text":537,"config":538},"Why GitLab?",{"href":212,"dataGaName":537,"dataGaLocation":516},{"freeTrial":540,"mobileIcon":545,"desktopIcon":550,"secondaryButton":553},{"text":541,"config":542},"Start free trial",{"href":543,"dataGaName":173,"dataGaLocation":544},"https://gitlab.com/-/trials/new/","nav",{"altText":546,"config":547},"Gitlab Icon",{"src":548,"dataGaName":549,"dataGaLocation":544},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":546,"config":551},{"src":552,"dataGaName":549,"dataGaLocation":544},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":554,"config":555},"Get Started",{"href":556,"dataGaName":557,"dataGaLocation":544},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":559,"mobileIcon":563,"desktopIcon":565},{"text":560,"config":561},"Learn more about GitLab Duo",{"href":204,"dataGaName":562,"dataGaLocation":544},"gitlab duo",{"altText":546,"config":564},{"src":548,"dataGaName":549,"dataGaLocation":544},{"altText":546,"config":566},{"src":552,"dataGaName":549,"dataGaLocation":544},{"button":568,"mobileIcon":573,"desktopIcon":575},{"text":569,"config":570},"/switch",{"href":571,"dataGaName":572,"dataGaLocation":544},"#contact","switch",{"altText":546,"config":574},{"src":548,"dataGaName":549,"dataGaLocation":544},{"altText":546,"config":576},{"src":577,"dataGaName":549,"dataGaLocation":544},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":579,"mobileIcon":584,"desktopIcon":586},{"text":580,"config":581},"Back to pricing",{"href":316,"dataGaName":582,"dataGaLocation":544,"icon":583},"back to pricing","GoBack",{"altText":546,"config":585},{"src":548,"dataGaName":549,"dataGaLocation":544},{"altText":546,"config":587},{"src":552,"dataGaName":549,"dataGaLocation":544},{"title":589,"titleMobile":590,"button":591,"config":596},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":210,"config":592},{"href":593,"dataGaName":594,"dataGaLocation":595},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":597,"disabled":145},"release",{"data":599},{"text":600,"source":601,"edit":607,"contribute":612,"config":617,"items":622,"minimal":829},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":602,"config":603},"View page source",{"href":604,"dataGaName":605,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":608,"config":609},"Edit this page",{"href":610,"dataGaName":611,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":613,"config":614},"Please contribute",{"href":615,"dataGaName":616,"dataGaLocation":606},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":618,"facebook":619,"youtube":620,"linkedin":621},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[623,670,721,765,797],{"title":314,"links":624,"subMenu":639},[625,629,634],{"text":626,"config":627},"View plans",{"href":316,"dataGaName":628,"dataGaLocation":606},"view plans",{"text":630,"config":631},"Why Premium?",{"href":632,"dataGaName":633,"dataGaLocation":606},"/pricing/premium/","why premium",{"text":635,"config":636},"Why Ultimate?",{"href":637,"dataGaName":638,"dataGaLocation":606},"/pricing/ultimate/","why ultimate",[640],{"title":641,"links":642},"Contact Us",[643,646,648,650,655,660,665],{"text":644,"config":645},"Contact sales",{"href":496,"dataGaName":178,"dataGaLocation":606},{"text":499,"config":647},{"href":501,"dataGaName":502,"dataGaLocation":606},{"text":504,"config":649},{"href":506,"dataGaName":507,"dataGaLocation":606},{"text":651,"config":652},"Status",{"href":653,"dataGaName":654,"dataGaLocation":606},"https://status.gitlab.com/","status",{"text":656,"config":657},"Terms of use",{"href":658,"dataGaName":659,"dataGaLocation":606},"/terms/","terms of use",{"text":661,"config":662},"Privacy statement",{"href":663,"dataGaName":664,"dataGaLocation":606},"/privacy/","privacy statement",{"text":666,"config":667},"Cookie preferences",{"dataGaName":668,"dataGaLocation":606,"id":669,"isOneTrustButton":148},"cookie preferences","ot-sdk-btn",{"title":215,"links":671,"subMenu":680},[672,676],{"text":673,"config":674},"DevSecOps platform",{"href":197,"dataGaName":675,"dataGaLocation":606},"devsecops platform",{"text":677,"config":678},"AI-Assisted Development",{"href":204,"dataGaName":679,"dataGaLocation":606},"ai-assisted development",[681],{"title":682,"links":683},"Topics",[684,689,694,697,702,707,711,716],{"text":685,"config":686},"CICD",{"href":687,"dataGaName":688,"dataGaLocation":606},"/topics/ci-cd/","cicd",{"text":690,"config":691},"GitOps",{"href":692,"dataGaName":693,"dataGaLocation":606},"/topics/gitops/","gitops",{"text":56,"config":695},{"href":55,"dataGaName":696,"dataGaLocation":606},"devops",{"text":698,"config":699},"Version Control",{"href":700,"dataGaName":701,"dataGaLocation":606},"/topics/version-control/","version control",{"text":703,"config":704},"DevSecOps",{"href":705,"dataGaName":706,"dataGaLocation":606},"/topics/devsecops/","devsecops",{"text":708,"config":709},"Cloud Native",{"href":710,"dataGaName":158,"dataGaLocation":606},"/topics/cloud-native/",{"text":712,"config":713},"AI for Coding",{"href":714,"dataGaName":715,"dataGaLocation":606},"/topics/devops/ai-for-coding/","ai for coding",{"text":717,"config":718},"Agentic AI",{"href":719,"dataGaName":720,"dataGaLocation":606},"/topics/agentic-ai/","agentic ai",{"title":722,"links":723},"Solutions",[724,726,728,733,737,740,744,747,749,752,755,760],{"text":258,"config":725},{"href":253,"dataGaName":258,"dataGaLocation":606},{"text":247,"config":727},{"href":231,"dataGaName":232,"dataGaLocation":606},{"text":729,"config":730},"Agile development",{"href":731,"dataGaName":732,"dataGaLocation":606},"/solutions/agile-delivery/","agile delivery",{"text":734,"config":735},"SCM",{"href":243,"dataGaName":736,"dataGaLocation":606},"source code management",{"text":685,"config":738},{"href":236,"dataGaName":739,"dataGaLocation":606},"continuous integration & delivery",{"text":741,"config":742},"Value stream management",{"href":286,"dataGaName":743,"dataGaLocation":606},"value stream management",{"text":690,"config":745},{"href":746,"dataGaName":693,"dataGaLocation":606},"/solutions/gitops/",{"text":296,"config":748},{"href":299,"dataGaName":300,"dataGaLocation":606},{"text":750,"config":751},"Small business",{"href":305,"dataGaName":306,"dataGaLocation":606},{"text":753,"config":754},"Public sector",{"href":311,"dataGaName":312,"dataGaLocation":606},{"text":756,"config":757},"Education",{"href":758,"dataGaName":759,"dataGaLocation":606},"/solutions/education/","education",{"text":761,"config":762},"Financial services",{"href":763,"dataGaName":764,"dataGaLocation":606},"/solutions/finance/","financial services",{"title":319,"links":766},[767,769,771,773,776,778,781,783,785,787,789,791,793,795],{"text":332,"config":768},{"href":334,"dataGaName":335,"dataGaLocation":606},{"text":337,"config":770},{"href":339,"dataGaName":340,"dataGaLocation":606},{"text":342,"config":772},{"href":344,"dataGaName":345,"dataGaLocation":606},{"text":347,"config":774},{"href":349,"dataGaName":775,"dataGaLocation":606},"docs",{"text":369,"config":777},{"href":371,"dataGaName":372,"dataGaLocation":606},{"text":779,"config":780},"What's new",{"href":88,"dataGaName":429,"dataGaLocation":606},{"text":364,"config":782},{"href":366,"dataGaName":367,"dataGaLocation":606},{"text":383,"config":784},{"href":385,"dataGaName":386,"dataGaLocation":606},{"text":391,"config":786},{"href":393,"dataGaName":394,"dataGaLocation":606},{"text":396,"config":788},{"href":398,"dataGaName":399,"dataGaLocation":606},{"text":401,"config":790},{"href":403,"dataGaName":404,"dataGaLocation":606},{"text":406,"config":792},{"href":408,"dataGaName":409,"dataGaLocation":606},{"text":411,"config":794},{"href":413,"dataGaName":414,"dataGaLocation":606},{"text":416,"config":796},{"href":418,"dataGaName":419,"dataGaLocation":606},{"title":431,"links":798},[799,801,803,805,807,809,813,818,820,822,824],{"text":439,"config":800},{"href":441,"dataGaName":433,"dataGaLocation":606},{"text":444,"config":802},{"href":446,"dataGaName":447,"dataGaLocation":606},{"text":452,"config":804},{"href":454,"dataGaName":455,"dataGaLocation":606},{"text":457,"config":806},{"href":459,"dataGaName":460,"dataGaLocation":606},{"text":462,"config":808},{"href":464,"dataGaName":465,"dataGaLocation":606},{"text":810,"config":811},"Sustainability",{"href":812,"dataGaName":810,"dataGaLocation":606},"/sustainability/",{"text":814,"config":815},"Diversity, inclusion and belonging (DIB)",{"href":816,"dataGaName":817,"dataGaLocation":606},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":467,"config":819},{"href":469,"dataGaName":470,"dataGaLocation":606},{"text":477,"config":821},{"href":479,"dataGaName":480,"dataGaLocation":606},{"text":482,"config":823},{"href":484,"dataGaName":485,"dataGaLocation":606},{"text":825,"config":826},"Modern Slavery Transparency Statement",{"href":827,"dataGaName":828,"dataGaLocation":606},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":830},[831,834,837],{"text":832,"config":833},"Terms",{"href":658,"dataGaName":659,"dataGaLocation":606},{"text":835,"config":836},"Cookies",{"dataGaName":668,"dataGaLocation":606,"id":669,"isOneTrustButton":148},{"text":838,"config":839},"Privacy",{"href":663,"dataGaName":664,"dataGaLocation":606},[841],{"id":842,"title":7,"body":144,"config":843,"content":845,"description":144,"extension":848,"meta":849,"navigation":148,"path":850,"seo":851,"stem":852,"__hash__":853},"blogAuthors/en-us/blog/authors/mayank-tahilramani.yml",{"template":844},"BlogAuthor",{"name":7,"config":846},{"headshot":135,"ctfId":847},"mayanktahil","yml",{},"/en-us/blog/authors/mayank-tahilramani",{},"en-us/blog/authors/mayank-tahilramani","YZhaYiOtwRzJ0532HfFOngG-2r89Os1I-PF7dS7RsIA",[855,863,871],{"title":856,"description":857,"heroImage":858,"category":140,"date":859,"authors":860,"slug":862,"externalUrl":144},"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",[861],"Toon Claes","whats-new-in-git-2-55-0",{"title":864,"description":865,"heroImage":866,"category":140,"date":867,"authors":868,"slug":870,"externalUrl":144},"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",[869],"Nick Veenhof","gitlab-ai-hackathon-2026-meet-the-winners",{"title":872,"description":873,"heroImage":874,"category":140,"date":875,"authors":876,"slug":878,"externalUrl":144},"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",[877],"Patrick Steinhardt","whats-new-in-git-2-54-0",{"promotions":880},[881,895,907,919],{"id":882,"categories":883,"header":885,"text":886,"button":887,"image":892},"ai-modernization",[884],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":888,"config":889},"Get your AI maturity score",{"href":890,"dataGaName":891,"dataGaLocation":372},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":893},{"src":894},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":896,"categories":897,"header":899,"text":886,"button":900,"image":904},"devops-modernization",[898,706],"product","Are you just managing tools or shipping innovation?",{"text":901,"config":902},"Get your DevOps maturity score",{"href":903,"dataGaName":891,"dataGaLocation":372},"/assessments/devops-modernization-assessment/",{"config":905},{"src":906},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":908,"categories":909,"header":911,"text":886,"button":912,"image":916},"security-modernization",[910],"security","Are you trading speed for security?",{"text":913,"config":914},"Get your security maturity score",{"href":915,"dataGaName":891,"dataGaLocation":372},"/assessments/security-modernization-assessment/",{"config":917},{"src":918},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":920,"paths":921,"header":924,"text":925,"button":926,"image":931},"github-azure-migration",[922,923],"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":927,"config":928},"See how GitLab compares to GitHub",{"href":929,"dataGaName":930,"dataGaLocation":372},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":932},{"src":906},{"header":934,"blurb":935,"button":936,"secondaryButton":941},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":937,"config":938},"Get your free trial",{"href":939,"dataGaName":173,"dataGaLocation":940},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":644,"config":942},{"href":496,"dataGaName":178,"dataGaLocation":940},1786734924361]