[{"data":1,"prerenderedAt":732},["ShallowReactive",2],{"/en-us/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci/":3,"navigation-en-us":41,"banner-en-us":468,"footer-en-us":485,"Sarah Matthies-Noah Ing":694,"next-steps-en-us":717},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":31,"_id":34,"_type":35,"title":36,"_source":37,"_file":38,"_stem":39,"_extension":40},"/en-us/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"Provision group runners with Google Cloud Platform and GitLab CI","This tutorial will teach you how to set up a new group runner on GitLab.com using Google Cloud Platform in less than 10 minutes.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098300/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_623844718_4E5Fx1Q0DHikigzCsQWhOG_1750098300048.jpg","https://about.gitlab.com/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Provision group runners with Google Cloud Platform and GitLab CI\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sarah Matthies\"},{\"@type\":\"Person\",\"name\":\"Noah Ing\"}],\n        \"datePublished\": \"2024-11-19\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":20,"body":21,"category":22,"tags":23},[18,19],"Sarah Matthies","Noah Ing","2024-11-19","Are you interested in hosting your own servers to run your GitLab CI/CD\npipelines but don’t know where to begin? Setting up a GitLab Runner to run\nyour pipelines on your own infrastructure can seem like a daunting task as\nit requires infrastructure knowledge and the know-how to maintain that\ninfrastructure. Typically this process requires the provision of\ninfrastructure, the installing of dependency, and testing that it works with\nyour GitLab instance.\n\n\nThis article highlights how easy it is to easily spin up a GitLab Runner of\nyour own utilizing GitLab’s Google Cloud Integration. Follow this tutorial\nand it will teach you how to set up a new group runner on GitLab.com using\nGoogle Cloud Platform in less than 10 minutes!\n\n\nYou will learn how to:\n\n\n- Create a new group runner.\n\n- Configure the new group runner’s tags and description.\n\n- Register the new group runner by adding in configurations.\n\n- Provision the GitLab Runner utilizing `gcloud cli` and Terraform.\n\n- Have your GitLab Runner pick up its first GitLab CI job.\n\n\n## Prerequisites\n\n- A terminal with Bash installed\n\n- Owner access on a Google Cloud Platform project\n\n- Terraform (or OpenTofu) [Version\n1.5](https://releases.hashicorp.com/terraform/1.5.7/) or greater \n\n- [gcloud CLI](https://cloud.google.com/sdk/docs/install) \n\n- 10 minutes\n\n\n## Tutorial\n\n1. Create a new group runner under __Build > Runners > New Group Runner__.\n\n\n__Note:__ Navigate to the group level.\n\n\n![GitLab Runner setup\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image7_aHR0cHM6_1750098317126.png)\n\n\n2. Configure the new group runner's tags, description, and any additional\nconfigurations.\n\n\n![New Group Runner\nsetup](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image4_aHR0cHM6_1750098317127.png)\n\n\n3. Select __Google Cloud__.\n\n\n![Select Google Cloud\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image3_aHR0cHM6_1750098317129.png)\n\n\n4. Copy your project ID from Google Cloud Platform.\n\n\n![Copy project ID from GCP\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098317131.png)\n\n\n5. Fill out your Google Cloud project ID and choose a region, zone, and type\nof machine you want to use.\n\n\n![Screen to fill out Google Cloud\ninformation](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image8_aHR0cHM6_1750098317132.png)\n\n\n6\\. Once this information is filled out, click **Setup instructions**.\n\n\nRun the bash script provided in Step 1 above.\n\n\n**Note:** This script was saved to a file called `setup.sh` for ease of use.\nYou may copy this right into your terminal if you are confident in\ndebugging.\n\n\n![Setup instructions\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image6_aHR0cHM6_1750098317134.png)\n\n\n![Script for GitLab\nRunner](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image10_aHR0cHM6_1750098317135.png)\n\n\n7\\. Create a `main.tf` file and follow the instructions in GitLab.\n\n\n**Note:** If you want to use OpenTofu instead of Terraform, you can still\ncopy the code and only have to adjust the Terraform commands for applying\nthe configuration. \n\n\n![Install and register GitLab Runner\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image9_aHR0cHM6_1750098317136.png)\n\n\nOnce successfully provisioned, you should be see the following:\n\n\n![GitLab Runner\ncode](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image5_aHR0cHM6_1750098317137.png)\n\n\n8\\. If you close the instructions and click the **View runners** button, you\nwill now have a newly provisioned runner present with \"Never contacted\" as\nits status.\n\n\n![Newly provisioned runner on\nscreen](https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098317/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750098317139.png)\n\n\n9\\. In any project, add the following `.gitlab-ci.yml`.\n\n\n```  \n\nstages:  \n  - greet\n\nhello_job:  \n  stage: greet  \n  tags:  \n    - gcp-runner  \n  script:  \n    - echo \"hello\"  \n```\n\n\nVolia! You have set up your first GitLab Runner utilizing Google Cloud\nPlatform.\n\n\n# Next steps\n\n\nNow that you have provisioned your very own GitLab Runner, consider\noptimizing it for your specific use case. Some things to consider with your\nrunner moving forward:\n\n\n- Is the runner I provisioned the right size? Does it need additional\nresources for my use case? \n\n- Does the GitLab Runner contain all the dependency my builds need?  \n\n- How can I store the GitLab Runner as infrastructure as code?\n\n\n> Make sure to bookmark the [Provisioning runners in Google Cloud\ndocumentation](https://docs.gitlab.com/ee/ci/runners/provision_runners_google_cloud.html)\nfor easy reference.\n","engineering",[24,25,26,27,28,29,30],"tutorial","DevSecOps platform","CI","CI/CD","solutions architecture","google","integrations",{"slug":32,"featured":6,"template":33},"provision-group-runners-with-google-cloud-platform-and-gitlab-ci","BlogPost","content:en-us:blog:provision-group-runners-with-google-cloud-platform-and-gitlab-ci.yml","yaml","Provision Group Runners With Google Cloud Platform And Gitlab Ci","content","en-us/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci.yml","en-us/blog/provision-group-runners-with-google-cloud-platform-and-gitlab-ci","yml",{"_path":42,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"data":44,"_id":464,"_type":35,"title":465,"_source":37,"_file":466,"_stem":467,"_extension":40},"/shared/en-us/main-navigation","en-us",{"logo":45,"freeTrial":50,"sales":55,"login":60,"items":65,"search":395,"minimal":426,"duo":445,"pricingDeployment":454},{"config":46},{"href":47,"dataGaName":48,"dataGaLocation":49},"/","gitlab logo","header",{"text":51,"config":52},"Get free trial",{"href":53,"dataGaName":54,"dataGaLocation":49},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":56,"config":57},"Talk to sales",{"href":58,"dataGaName":59,"dataGaLocation":49},"/sales/","sales",{"text":61,"config":62},"Sign in",{"href":63,"dataGaName":64,"dataGaLocation":49},"https://gitlab.com/users/sign_in/","sign in",[66,110,207,212,316,376],{"text":67,"config":68,"cards":70,"footer":93},"Platform",{"dataNavLevelOne":69},"platform",[71,77,85],{"title":67,"description":72,"link":73},"The most comprehensive AI-powered DevSecOps Platform",{"text":74,"config":75},"Explore our Platform",{"href":76,"dataGaName":69,"dataGaLocation":49},"/platform/",{"title":78,"description":79,"link":80},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":81,"config":82},"Meet GitLab Duo",{"href":83,"dataGaName":84,"dataGaLocation":49},"/gitlab-duo/","gitlab duo ai",{"title":86,"description":87,"link":88},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":89,"config":90},"Learn more",{"href":91,"dataGaName":92,"dataGaLocation":49},"/why-gitlab/","why gitlab",{"title":94,"items":95},"Get started with",[96,101,106],{"text":97,"config":98},"Platform Engineering",{"href":99,"dataGaName":100,"dataGaLocation":49},"/solutions/platform-engineering/","platform engineering",{"text":102,"config":103},"Developer Experience",{"href":104,"dataGaName":105,"dataGaLocation":49},"/developer-experience/","Developer experience",{"text":107,"config":108},"MLOps",{"href":109,"dataGaName":107,"dataGaLocation":49},"/topics/devops/the-role-of-ai-in-devops/",{"text":111,"left":112,"config":113,"link":115,"lists":119,"footer":189},"Product",true,{"dataNavLevelOne":114},"solutions",{"text":116,"config":117},"View all Solutions",{"href":118,"dataGaName":114,"dataGaLocation":49},"/solutions/",[120,144,168],{"title":121,"description":122,"link":123,"items":128},"Automation","CI/CD and automation to accelerate deployment",{"config":124},{"icon":125,"href":126,"dataGaName":127,"dataGaLocation":49},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[129,132,136,140],{"text":27,"config":130},{"href":131,"dataGaLocation":49,"dataGaName":27},"/solutions/continuous-integration/",{"text":133,"config":134},"AI-Assisted Development",{"href":83,"dataGaLocation":49,"dataGaName":135},"AI assisted development",{"text":137,"config":138},"Source Code Management",{"href":139,"dataGaLocation":49,"dataGaName":137},"/solutions/source-code-management/",{"text":141,"config":142},"Automated Software Delivery",{"href":126,"dataGaLocation":49,"dataGaName":143},"Automated software delivery",{"title":145,"description":146,"link":147,"items":152},"Security","Deliver code faster without compromising security",{"config":148},{"href":149,"dataGaName":150,"dataGaLocation":49,"icon":151},"/solutions/security-compliance/","security and compliance","ShieldCheckLight",[153,158,163],{"text":154,"config":155},"Application Security Testing",{"href":156,"dataGaName":157,"dataGaLocation":49},"/solutions/application-security-testing/","Application security testing",{"text":159,"config":160},"Software Supply Chain Security",{"href":161,"dataGaLocation":49,"dataGaName":162},"/solutions/supply-chain/","Software supply chain security",{"text":164,"config":165},"Software Compliance",{"href":166,"dataGaName":167,"dataGaLocation":49},"/solutions/software-compliance/","software compliance",{"title":169,"link":170,"items":175},"Measurement",{"config":171},{"icon":172,"href":173,"dataGaName":174,"dataGaLocation":49},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[176,180,184],{"text":177,"config":178},"Visibility & Measurement",{"href":173,"dataGaLocation":49,"dataGaName":179},"Visibility and Measurement",{"text":181,"config":182},"Value Stream Management",{"href":183,"dataGaLocation":49,"dataGaName":181},"/solutions/value-stream-management/",{"text":185,"config":186},"Analytics & Insights",{"href":187,"dataGaLocation":49,"dataGaName":188},"/solutions/analytics-and-insights/","Analytics and insights",{"title":190,"items":191},"GitLab for",[192,197,202],{"text":193,"config":194},"Enterprise",{"href":195,"dataGaLocation":49,"dataGaName":196},"/enterprise/","enterprise",{"text":198,"config":199},"Small Business",{"href":200,"dataGaLocation":49,"dataGaName":201},"/small-business/","small business",{"text":203,"config":204},"Public Sector",{"href":205,"dataGaLocation":49,"dataGaName":206},"/solutions/public-sector/","public sector",{"text":208,"config":209},"Pricing",{"href":210,"dataGaName":211,"dataGaLocation":49,"dataNavLevelOne":211},"/pricing/","pricing",{"text":213,"config":214,"link":216,"lists":220,"feature":303},"Resources",{"dataNavLevelOne":215},"resources",{"text":217,"config":218},"View all resources",{"href":219,"dataGaName":215,"dataGaLocation":49},"/resources/",[221,253,275],{"title":222,"items":223},"Getting started",[224,229,234,239,244,249],{"text":225,"config":226},"Install",{"href":227,"dataGaName":228,"dataGaLocation":49},"/install/","install",{"text":230,"config":231},"Quick start guides",{"href":232,"dataGaName":233,"dataGaLocation":49},"/get-started/","quick setup checklists",{"text":235,"config":236},"Learn",{"href":237,"dataGaLocation":49,"dataGaName":238},"https://university.gitlab.com/","learn",{"text":240,"config":241},"Product documentation",{"href":242,"dataGaName":243,"dataGaLocation":49},"https://docs.gitlab.com/","product documentation",{"text":245,"config":246},"Best practice videos",{"href":247,"dataGaName":248,"dataGaLocation":49},"/getting-started-videos/","best practice videos",{"text":250,"config":251},"Integrations",{"href":252,"dataGaName":30,"dataGaLocation":49},"/integrations/",{"title":254,"items":255},"Discover",[256,261,265,270],{"text":257,"config":258},"Customer success stories",{"href":259,"dataGaName":260,"dataGaLocation":49},"/customers/","customer success stories",{"text":262,"config":263},"Blog",{"href":264,"dataGaName":5,"dataGaLocation":49},"/blog/",{"text":266,"config":267},"Remote",{"href":268,"dataGaName":269,"dataGaLocation":49},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":271,"config":272},"TeamOps",{"href":273,"dataGaName":274,"dataGaLocation":49},"/teamops/","teamops",{"title":276,"items":277},"Connect",[278,283,288,293,298],{"text":279,"config":280},"GitLab Services",{"href":281,"dataGaName":282,"dataGaLocation":49},"/services/","services",{"text":284,"config":285},"Community",{"href":286,"dataGaName":287,"dataGaLocation":49},"/community/","community",{"text":289,"config":290},"Forum",{"href":291,"dataGaName":292,"dataGaLocation":49},"https://forum.gitlab.com/","forum",{"text":294,"config":295},"Events",{"href":296,"dataGaName":297,"dataGaLocation":49},"/events/","events",{"text":299,"config":300},"Partners",{"href":301,"dataGaName":302,"dataGaLocation":49},"/partners/","partners",{"backgroundColor":304,"textColor":305,"text":306,"image":307,"link":311},"#2f2a6b","#fff","Insights for the future of software development",{"altText":308,"config":309},"the source promo card",{"src":310},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":312,"config":313},"Read the latest",{"href":314,"dataGaName":315,"dataGaLocation":49},"/the-source/","the source",{"text":317,"config":318,"lists":320},"Company",{"dataNavLevelOne":319},"company",[321],{"items":322},[323,328,334,336,341,346,351,356,361,366,371],{"text":324,"config":325},"About",{"href":326,"dataGaName":327,"dataGaLocation":49},"/company/","about",{"text":329,"config":330,"footerGa":333},"Jobs",{"href":331,"dataGaName":332,"dataGaLocation":49},"/jobs/","jobs",{"dataGaName":332},{"text":294,"config":335},{"href":296,"dataGaName":297,"dataGaLocation":49},{"text":337,"config":338},"Leadership",{"href":339,"dataGaName":340,"dataGaLocation":49},"/company/team/e-group/","leadership",{"text":342,"config":343},"Team",{"href":344,"dataGaName":345,"dataGaLocation":49},"/company/team/","team",{"text":347,"config":348},"Handbook",{"href":349,"dataGaName":350,"dataGaLocation":49},"https://handbook.gitlab.com/","handbook",{"text":352,"config":353},"Investor relations",{"href":354,"dataGaName":355,"dataGaLocation":49},"https://ir.gitlab.com/","investor relations",{"text":357,"config":358},"Trust Center",{"href":359,"dataGaName":360,"dataGaLocation":49},"/security/","trust center",{"text":362,"config":363},"AI Transparency Center",{"href":364,"dataGaName":365,"dataGaLocation":49},"/ai-transparency-center/","ai transparency center",{"text":367,"config":368},"Newsletter",{"href":369,"dataGaName":370,"dataGaLocation":49},"/company/contact/","newsletter",{"text":372,"config":373},"Press",{"href":374,"dataGaName":375,"dataGaLocation":49},"/press/","press",{"text":377,"config":378,"lists":379},"Contact us",{"dataNavLevelOne":319},[380],{"items":381},[382,385,390],{"text":56,"config":383},{"href":58,"dataGaName":384,"dataGaLocation":49},"talk to sales",{"text":386,"config":387},"Get help",{"href":388,"dataGaName":389,"dataGaLocation":49},"/support/","get help",{"text":391,"config":392},"Customer portal",{"href":393,"dataGaName":394,"dataGaLocation":49},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":396,"login":397,"suggestions":404},"Close",{"text":398,"link":399},"To search repositories and projects, login to",{"text":400,"config":401},"gitlab.com",{"href":63,"dataGaName":402,"dataGaLocation":403},"search login","search",{"text":405,"default":406},"Suggestions",[407,409,413,415,419,423],{"text":78,"config":408},{"href":83,"dataGaName":78,"dataGaLocation":403},{"text":410,"config":411},"Code Suggestions (AI)",{"href":412,"dataGaName":410,"dataGaLocation":403},"/solutions/code-suggestions/",{"text":27,"config":414},{"href":131,"dataGaName":27,"dataGaLocation":403},{"text":416,"config":417},"GitLab on AWS",{"href":418,"dataGaName":416,"dataGaLocation":403},"/partners/technology-partners/aws/",{"text":420,"config":421},"GitLab on Google Cloud",{"href":422,"dataGaName":420,"dataGaLocation":403},"/partners/technology-partners/google-cloud-platform/",{"text":424,"config":425},"Why GitLab?",{"href":91,"dataGaName":424,"dataGaLocation":403},{"freeTrial":427,"mobileIcon":432,"desktopIcon":437,"secondaryButton":440},{"text":428,"config":429},"Start free trial",{"href":430,"dataGaName":54,"dataGaLocation":431},"https://gitlab.com/-/trials/new/","nav",{"altText":433,"config":434},"Gitlab Icon",{"src":435,"dataGaName":436,"dataGaLocation":431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":433,"config":438},{"src":439,"dataGaName":436,"dataGaLocation":431},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":441,"config":442},"Get Started",{"href":443,"dataGaName":444,"dataGaLocation":431},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":446,"mobileIcon":450,"desktopIcon":452},{"text":447,"config":448},"Learn more about GitLab Duo",{"href":83,"dataGaName":449,"dataGaLocation":431},"gitlab duo",{"altText":433,"config":451},{"src":435,"dataGaName":436,"dataGaLocation":431},{"altText":433,"config":453},{"src":439,"dataGaName":436,"dataGaLocation":431},{"freeTrial":455,"mobileIcon":460,"desktopIcon":462},{"text":456,"config":457},"Back to pricing",{"href":210,"dataGaName":458,"dataGaLocation":431,"icon":459},"back to pricing","GoBack",{"altText":433,"config":461},{"src":435,"dataGaName":436,"dataGaLocation":431},{"altText":433,"config":463},{"src":439,"dataGaName":436,"dataGaLocation":431},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":469,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"title":470,"button":471,"image":476,"config":480,"_id":482,"_type":35,"_source":37,"_file":483,"_stem":484,"_extension":40},"/shared/en-us/banner","is now in public beta!",{"text":472,"config":473},"Try the Beta",{"href":474,"dataGaName":475,"dataGaLocation":49},"/gitlab-duo/agent-platform/","duo banner",{"altText":477,"config":478},"GitLab Duo Agent Platform",{"src":479},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1753720689/somrf9zaunk0xlt7ne4x.svg",{"layout":481},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":486,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"data":487,"_id":690,"_type":35,"title":691,"_source":37,"_file":692,"_stem":693,"_extension":40},"/shared/en-us/main-footer",{"text":488,"source":489,"edit":495,"contribute":500,"config":505,"items":510,"minimal":682},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":490,"config":491},"View page source",{"href":492,"dataGaName":493,"dataGaLocation":494},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":496,"config":497},"Edit this page",{"href":498,"dataGaName":499,"dataGaLocation":494},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":501,"config":502},"Please contribute",{"href":503,"dataGaName":504,"dataGaLocation":494},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":506,"facebook":507,"youtube":508,"linkedin":509},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[511,533,589,618,652],{"title":67,"links":512,"subMenu":516},[513],{"text":25,"config":514},{"href":76,"dataGaName":515,"dataGaLocation":494},"devsecops platform",[517],{"title":208,"links":518},[519,523,528],{"text":520,"config":521},"View plans",{"href":210,"dataGaName":522,"dataGaLocation":494},"view plans",{"text":524,"config":525},"Why Premium?",{"href":526,"dataGaName":527,"dataGaLocation":494},"/pricing/premium/","why premium",{"text":529,"config":530},"Why Ultimate?",{"href":531,"dataGaName":532,"dataGaLocation":494},"/pricing/ultimate/","why ultimate",{"title":534,"links":535},"Solutions",[536,541,543,545,550,555,559,562,566,571,573,576,579,584],{"text":537,"config":538},"Digital transformation",{"href":539,"dataGaName":540,"dataGaLocation":494},"/topics/digital-transformation/","digital transformation",{"text":154,"config":542},{"href":156,"dataGaName":154,"dataGaLocation":494},{"text":143,"config":544},{"href":126,"dataGaName":127,"dataGaLocation":494},{"text":546,"config":547},"Agile development",{"href":548,"dataGaName":549,"dataGaLocation":494},"/solutions/agile-delivery/","agile delivery",{"text":551,"config":552},"Cloud transformation",{"href":553,"dataGaName":554,"dataGaLocation":494},"/topics/cloud-native/","cloud transformation",{"text":556,"config":557},"SCM",{"href":139,"dataGaName":558,"dataGaLocation":494},"source code management",{"text":27,"config":560},{"href":131,"dataGaName":561,"dataGaLocation":494},"continuous integration & delivery",{"text":563,"config":564},"Value stream management",{"href":183,"dataGaName":565,"dataGaLocation":494},"value stream management",{"text":567,"config":568},"GitOps",{"href":569,"dataGaName":570,"dataGaLocation":494},"/solutions/gitops/","gitops",{"text":193,"config":572},{"href":195,"dataGaName":196,"dataGaLocation":494},{"text":574,"config":575},"Small business",{"href":200,"dataGaName":201,"dataGaLocation":494},{"text":577,"config":578},"Public sector",{"href":205,"dataGaName":206,"dataGaLocation":494},{"text":580,"config":581},"Education",{"href":582,"dataGaName":583,"dataGaLocation":494},"/solutions/education/","education",{"text":585,"config":586},"Financial services",{"href":587,"dataGaName":588,"dataGaLocation":494},"/solutions/finance/","financial services",{"title":213,"links":590},[591,593,595,597,600,602,604,606,608,610,612,614,616],{"text":225,"config":592},{"href":227,"dataGaName":228,"dataGaLocation":494},{"text":230,"config":594},{"href":232,"dataGaName":233,"dataGaLocation":494},{"text":235,"config":596},{"href":237,"dataGaName":238,"dataGaLocation":494},{"text":240,"config":598},{"href":242,"dataGaName":599,"dataGaLocation":494},"docs",{"text":262,"config":601},{"href":264,"dataGaName":5,"dataGaLocation":494},{"text":257,"config":603},{"href":259,"dataGaName":260,"dataGaLocation":494},{"text":266,"config":605},{"href":268,"dataGaName":269,"dataGaLocation":494},{"text":279,"config":607},{"href":281,"dataGaName":282,"dataGaLocation":494},{"text":271,"config":609},{"href":273,"dataGaName":274,"dataGaLocation":494},{"text":284,"config":611},{"href":286,"dataGaName":287,"dataGaLocation":494},{"text":289,"config":613},{"href":291,"dataGaName":292,"dataGaLocation":494},{"text":294,"config":615},{"href":296,"dataGaName":297,"dataGaLocation":494},{"text":299,"config":617},{"href":301,"dataGaName":302,"dataGaLocation":494},{"title":317,"links":619},[620,622,624,626,628,630,632,636,641,643,645,647],{"text":324,"config":621},{"href":326,"dataGaName":319,"dataGaLocation":494},{"text":329,"config":623},{"href":331,"dataGaName":332,"dataGaLocation":494},{"text":337,"config":625},{"href":339,"dataGaName":340,"dataGaLocation":494},{"text":342,"config":627},{"href":344,"dataGaName":345,"dataGaLocation":494},{"text":347,"config":629},{"href":349,"dataGaName":350,"dataGaLocation":494},{"text":352,"config":631},{"href":354,"dataGaName":355,"dataGaLocation":494},{"text":633,"config":634},"Sustainability",{"href":635,"dataGaName":633,"dataGaLocation":494},"/sustainability/",{"text":637,"config":638},"Diversity, inclusion and belonging (DIB)",{"href":639,"dataGaName":640,"dataGaLocation":494},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":357,"config":642},{"href":359,"dataGaName":360,"dataGaLocation":494},{"text":367,"config":644},{"href":369,"dataGaName":370,"dataGaLocation":494},{"text":372,"config":646},{"href":374,"dataGaName":375,"dataGaLocation":494},{"text":648,"config":649},"Modern Slavery Transparency Statement",{"href":650,"dataGaName":651,"dataGaLocation":494},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":653,"links":654},"Contact Us",[655,658,660,662,667,672,677],{"text":656,"config":657},"Contact an expert",{"href":58,"dataGaName":59,"dataGaLocation":494},{"text":386,"config":659},{"href":388,"dataGaName":389,"dataGaLocation":494},{"text":391,"config":661},{"href":393,"dataGaName":394,"dataGaLocation":494},{"text":663,"config":664},"Status",{"href":665,"dataGaName":666,"dataGaLocation":494},"https://status.gitlab.com/","status",{"text":668,"config":669},"Terms of use",{"href":670,"dataGaName":671,"dataGaLocation":494},"/terms/","terms of use",{"text":673,"config":674},"Privacy statement",{"href":675,"dataGaName":676,"dataGaLocation":494},"/privacy/","privacy statement",{"text":678,"config":679},"Cookie preferences",{"dataGaName":680,"dataGaLocation":494,"id":681,"isOneTrustButton":112},"cookie preferences","ot-sdk-btn",{"items":683},[684,686,688],{"text":668,"config":685},{"href":670,"dataGaName":671,"dataGaLocation":494},{"text":673,"config":687},{"href":675,"dataGaName":676,"dataGaLocation":494},{"text":678,"config":689},{"dataGaName":680,"dataGaLocation":494,"id":681,"isOneTrustButton":112},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",[695,707],{"_path":696,"_dir":697,"_draft":6,"_partial":6,"_locale":7,"content":698,"config":702,"_id":704,"_type":35,"title":18,"_source":37,"_file":705,"_stem":706,"_extension":40},"/en-us/blog/authors/sarah-matthies","authors",{"name":18,"config":699},{"headshot":700,"ctfId":701},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664405/Blog/Author%20Headshots/Screenshot_2024-11-19_at_9.50.14_AM.png","2Giv8NnS4VVAq9RsHYqHkg",{"template":703},"BlogAuthor","content:en-us:blog:authors:sarah-matthies.yml","en-us/blog/authors/sarah-matthies.yml","en-us/blog/authors/sarah-matthies",{"_path":708,"_dir":697,"_draft":6,"_partial":6,"_locale":7,"content":709,"config":713,"_id":714,"_type":35,"title":19,"_source":37,"_file":715,"_stem":716,"_extension":40},"/en-us/blog/authors/noah-ing",{"name":19,"config":710},{"headshot":711,"ctfId":712},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664410/Blog/Author%20Headshots/noahing.png","noahing",{"template":703},"content:en-us:blog:authors:noah-ing.yml","en-us/blog/authors/noah-ing.yml","en-us/blog/authors/noah-ing",{"_path":718,"_dir":43,"_draft":6,"_partial":6,"_locale":7,"header":719,"eyebrow":720,"blurb":721,"button":722,"secondaryButton":726,"_id":728,"_type":35,"title":729,"_source":37,"_file":730,"_stem":731,"_extension":40},"/shared/en-us/next-steps","Start shipping better software faster","50%+ of the Fortune 100 trust GitLab","See what your team can do with the intelligent\n\n\nDevSecOps platform.\n",{"text":51,"config":723},{"href":724,"dataGaName":54,"dataGaLocation":725},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":56,"config":727},{"href":58,"dataGaName":59,"dataGaLocation":725},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",1758326269793]