[{"data":1,"prerenderedAt":700},["ShallowReactive",2],{"/en-us/blog/gitlab-in-case-you-missed-it/":3,"navigation-en-us":32,"banner-en-us":449,"footer-en-us":461,"Ivan Nemytchenko":672,"next-steps-en-us":685},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":16,"config":22,"_id":25,"_type":26,"title":27,"_source":28,"_file":29,"_stem":30,"_extension":31},"/en-us/blog/gitlab-in-case-you-missed-it","blog",false,"",{"title":9,"description":10,"ogTitle":9,"ogDescription":10,"noIndex":6,"ogImage":11,"ogUrl":12,"ogSiteName":13,"ogType":14,"canonicalUrls":12,"schema":15},"GitLab: In case you missed it","The first two weeks working with GitLab have been full of pleasant surprises and dispelled delusions. If you haven't been following GitLab for the last two years, this post is for you.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684623/Blog/Hero%20Images/key-concepts.jpg","https://about.gitlab.com/blog/gitlab-in-case-you-missed-it","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab: In case you missed it\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Ivan Nemytchenko\"}],\n        \"datePublished\": \"2016-03-14\",\n      }",{"title":9,"description":10,"authors":17,"heroImage":11,"date":19,"body":20,"category":21},[18],"Ivan Nemytchenko","2016-03-14","\n\nI've recently joined GitLab as a Developer Advocate. \nPart of my role will be traveling to community events where I hope we'll meet in person. \nI'm also an experienced Ruby developer. \nAs a rubyist, naturally, I've heard about GitLab and even used it couple of times.\n\nThe first two weeks working with GitLab have been full of pleasant surprises and dispelled delusions. \nIf you haven't been following GitLab for the last two years, this post is for you.\n\n\u003C!--more-->\n\n## GitLab.com\n\nYou don't have to download and install GitLab nowadays. \nYou can simply [sign up for GitLab.com](https://gitlab.com/users/sign_in) and host your own repositories. \nEven the private ones. \nYes, for free and without any restrictions. \nNo, there is no catch.\n\nIt should be noted that repositories are actually called \"projects\". \n\nAnd that is not the only thing that catches your eye at first. \nAs it turns out, the terminology is justified.\n\n## The terminology \n\nThese aren't just fancy terms to stand out from the crowd. \nI strongly recommend reading the article about [GitLab, GitHub and Bitbucket and terms comparison](/blog/comparing-terms-gitlab-github-bitbucket/), if you wish to sort out the details. \nI'd like to bring up the \"Merge requests\" topic, as it's the most controversial.\n\nMy initial reaction, naturally, was rejection. Most of us are accustomed to\n\"Pull requests\", so what's the big idea?\nBut then I remembered that the title \"Pull request\" never did make perfect\nsense to me because closing a pull request actually does branch merging.\n\nAs it turns out, there is a command [`git request-pull`](https://git-scm.com/docs/git-request-pull),\nhence the feature title.\n\nPull requests have nothing in common with this git command. So, technically the correct name is \"merge request\". \n[Learn more](/blog/comparing-terms-gitlab-github-bitbucket/) on terminology differences, if you're interested.\n\nThe terminology was just a part of the deal. \nWhen reading the documentation, I discovered something called \"omnibus\" and\nfound some mysterious \"runners\" and \"shared runners\" in the settings. \nBut first things first. \nRunners are connected to CI. \nOmnibus is related to GitLab installation on your own server.\n\n## Continuous Integration (CI)\n\nContinuous Integration is a best practice in software development.\nFor example, a CI server runs your tests every time you push changes to the repository.\n\nA lot of companies have a separate CI service but in GitLab, [CI is embedded](https://docs.gitlab.com/ee/ci/).\n\nIf you had to manually connect two services before, it just works on its own in GitLab.\nThough you can still use other continuous integration services such as [Jenkins](http://doc.gitlab.com/ee/integration/jenkins.html).\n\nAnd it works through runners.\n\n## Runners\n\nA runner is a virtual machine that runs your tests, builds your builds or generates static files for your websites. \nGitLab.com users are able to make use of a special [Shared Runners](http://doc.gitlab.com/ce/ci/quick_start/README.html#shared-runners) pool to simply make everything work. \n\nSince the pool is shared across all projects on GitLab.com, sometimes it can\ntake a while to wait for your project's build to be processed.\n\nIf you are not satisfied with the Shared runners performance, you can\n[set up a runner](/blog/gitlab-runner-with-docker/)\non your own server and connect it to one or more projects.\n\nDon't forget that you can install GitLab on your own server as well. \n\n## GitLab installation with Omnibus\n\n\nIn the past, GitLab was installed manually. \nNow you can install and update the service from packages thanks to Omnibus.\n[Omnibus](http://doc.gitlab.com/omnibus) is a tool developed by Chef\nthat helps to create installation packages for complex software with a lot of\ncomponents for various platforms.\n\nAny installation using Omnibus lasts for 2-6 minutes tops, depending on your server performance. \nThis is what GitLab installation looks like on Ubuntu 14.04 using a relatively slow VPS with 2Gb running memory:\n\u003Cscript type=\"text/javascript\" src=\"https://asciinema.org/a/39151.js\" id=\"asciicast-39151\" async>\u003C/script>\n\nHint: in case you'd prefer not to mess with console installation and updates at\nall, you can simply rent a GitLab server on [Githost.io](https://githost.io/)\n\nBoth Omnibus and built-in CI are just a portion of what is being done to make developers' jobs easier.\nLet us review a few features.\n\n## Small features that make a difference\n\n### Merge when build succeeds\n\nWith GitLab, you don't have to wait for your build to turn green to finally merge the branch. \nYou can simply ask GitLab to do that for you.\n\n![Merge when build succeeds](https://about.gitlab.com/images/automerge.jpg)\n\n### Publishing with GitLab Pages\n\nGitLab Pages runs on top of the built-in CI.\nThanks to the feature, you can host websites created by any static site generators on GitLab.\n\nFork a repo from [GitLab examples](https://gitlab.com/groups/gitlab-examples?utf8=%E2%9C%93&filter_projects=pages-)\nor figure out GitLab CI settings to forget all about the manual static generation.\nYou simply push your changes to the repository and GitLab generates and deploys everything on its own.\n\nCustom CNAME and TLS [are supported](http://doc.gitlab.com/ee/pages/README.html#add-a-custom-domain-to-your-pages-website).\n\nThese kinds of features have become possible due to the synergy between system components.\nThere's much more coming.\n\n## GitLab Direction\n\nPlease don't be surprised once a crashed build creates a TODO automatically or GitLab introduces built-in chat.\n\nIf you want to know where GitLab is heading, keep an eye on the [Direction page](/direction/).\nThis includes not only the short term objectives for the next release, but also the long-range vision.\n\n* * * \n\nHopefully, this article has helped you to fill in the gaps in understanding what GitLab is now. \nI'm planning to write two more articles: about migrating personal projects to GitLab and about contributing to GitLab.\nStay tuned and [follow me on Twitter](https://twitter.com/inemation).\n\nI'm always happy to answer your questions in comments or personally.\nOver the next several weeks I will be speaking at the following Ukrainian Ruby-meetups, where we can catch up:\n\n- [Ruby Meditation, Kiev](https://www.facebook.com/events/406794219490854/) (March 18)\n- [Pivorak, Lviv](https://www.facebook.com/pivorak/) (March 26)\n\n## Join our webcast about GitLab CI.\n\nI mentioned Gitlab CI a few times in this blog post. If you're interested,\nwe'll have a live webcast all about GitLab CI.\n\n- Date: Thursday, April 14, 2016 \n- Time: 5pm (17:00) UTC; 12pm EST; 9am PST \n- [Register here][webcast]\n\nCan't make these times? Register anyway, and we'll send you a link to watch later.\n[webcast]: http://page.gitlab.com/apr-2016-gitlab-intro-ci-webcast.html\n","insights",{"slug":23,"featured":6,"template":24},"gitlab-in-case-you-missed-it","BlogPost","content:en-us:blog:gitlab-in-case-you-missed-it.yml","yaml","Gitlab In Case You Missed It","content","en-us/blog/gitlab-in-case-you-missed-it.yml","en-us/blog/gitlab-in-case-you-missed-it","yml",{"_path":33,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":35,"_id":445,"_type":26,"title":446,"_source":28,"_file":447,"_stem":448,"_extension":31},"/shared/en-us/main-navigation","en-us",{"logo":36,"freeTrial":41,"sales":46,"login":51,"items":56,"search":386,"minimal":417,"duo":436},{"config":37},{"href":38,"dataGaName":39,"dataGaLocation":40},"/","gitlab logo","header",{"text":42,"config":43},"Get free trial",{"href":44,"dataGaName":45,"dataGaLocation":40},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":47,"config":48},"Talk to sales",{"href":49,"dataGaName":50,"dataGaLocation":40},"/sales/","sales",{"text":52,"config":53},"Sign in",{"href":54,"dataGaName":55,"dataGaLocation":40},"https://gitlab.com/users/sign_in/","sign in",[57,101,197,202,307,367],{"text":58,"config":59,"cards":61,"footer":84},"Platform",{"dataNavLevelOne":60},"platform",[62,68,76],{"title":58,"description":63,"link":64},"The most comprehensive AI-powered DevSecOps Platform",{"text":65,"config":66},"Explore our Platform",{"href":67,"dataGaName":60,"dataGaLocation":40},"/platform/",{"title":69,"description":70,"link":71},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":72,"config":73},"Meet GitLab Duo",{"href":74,"dataGaName":75,"dataGaLocation":40},"/gitlab-duo/","gitlab duo ai",{"title":77,"description":78,"link":79},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":80,"config":81},"Learn more",{"href":82,"dataGaName":83,"dataGaLocation":40},"/why-gitlab/","why gitlab",{"title":85,"items":86},"Get started with",[87,92,97],{"text":88,"config":89},"Platform Engineering",{"href":90,"dataGaName":91,"dataGaLocation":40},"/solutions/platform-engineering/","platform engineering",{"text":93,"config":94},"Developer Experience",{"href":95,"dataGaName":96,"dataGaLocation":40},"/developer-experience/","Developer experience",{"text":98,"config":99},"MLOps",{"href":100,"dataGaName":98,"dataGaLocation":40},"/topics/devops/the-role-of-ai-in-devops/",{"text":102,"left":103,"config":104,"link":106,"lists":110,"footer":179},"Product",true,{"dataNavLevelOne":105},"solutions",{"text":107,"config":108},"View all Solutions",{"href":109,"dataGaName":105,"dataGaLocation":40},"/solutions/",[111,136,158],{"title":112,"description":113,"link":114,"items":119},"Automation","CI/CD and automation to accelerate deployment",{"config":115},{"icon":116,"href":117,"dataGaName":118,"dataGaLocation":40},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[120,124,128,132],{"text":121,"config":122},"CI/CD",{"href":123,"dataGaLocation":40,"dataGaName":121},"/solutions/continuous-integration/",{"text":125,"config":126},"AI-Assisted Development",{"href":74,"dataGaLocation":40,"dataGaName":127},"AI assisted development",{"text":129,"config":130},"Source Code Management",{"href":131,"dataGaLocation":40,"dataGaName":129},"/solutions/source-code-management/",{"text":133,"config":134},"Automated Software Delivery",{"href":117,"dataGaLocation":40,"dataGaName":135},"Automated software delivery",{"title":137,"description":138,"link":139,"items":144},"Security","Deliver code faster without compromising security",{"config":140},{"href":141,"dataGaName":142,"dataGaLocation":40,"icon":143},"/solutions/security-compliance/","security and compliance","ShieldCheckLight",[145,148,153],{"text":146,"config":147},"Security & Compliance",{"href":141,"dataGaLocation":40,"dataGaName":146},{"text":149,"config":150},"Software Supply Chain Security",{"href":151,"dataGaLocation":40,"dataGaName":152},"/solutions/supply-chain/","Software supply chain security",{"text":154,"config":155},"Compliance & Governance",{"href":156,"dataGaLocation":40,"dataGaName":157},"/solutions/continuous-software-compliance/","Compliance and governance",{"title":159,"link":160,"items":165},"Measurement",{"config":161},{"icon":162,"href":163,"dataGaName":164,"dataGaLocation":40},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[166,170,174],{"text":167,"config":168},"Visibility & Measurement",{"href":163,"dataGaLocation":40,"dataGaName":169},"Visibility and Measurement",{"text":171,"config":172},"Value Stream Management",{"href":173,"dataGaLocation":40,"dataGaName":171},"/solutions/value-stream-management/",{"text":175,"config":176},"Analytics & Insights",{"href":177,"dataGaLocation":40,"dataGaName":178},"/solutions/analytics-and-insights/","Analytics and insights",{"title":180,"items":181},"GitLab for",[182,187,192],{"text":183,"config":184},"Enterprise",{"href":185,"dataGaLocation":40,"dataGaName":186},"/enterprise/","enterprise",{"text":188,"config":189},"Small Business",{"href":190,"dataGaLocation":40,"dataGaName":191},"/small-business/","small business",{"text":193,"config":194},"Public Sector",{"href":195,"dataGaLocation":40,"dataGaName":196},"/solutions/public-sector/","public sector",{"text":198,"config":199},"Pricing",{"href":200,"dataGaName":201,"dataGaLocation":40,"dataNavLevelOne":201},"/pricing/","pricing",{"text":203,"config":204,"link":206,"lists":210,"feature":294},"Resources",{"dataNavLevelOne":205},"resources",{"text":207,"config":208},"View all resources",{"href":209,"dataGaName":205,"dataGaLocation":40},"/resources/",[211,244,266],{"title":212,"items":213},"Getting started",[214,219,224,229,234,239],{"text":215,"config":216},"Install",{"href":217,"dataGaName":218,"dataGaLocation":40},"/install/","install",{"text":220,"config":221},"Quick start guides",{"href":222,"dataGaName":223,"dataGaLocation":40},"/get-started/","quick setup checklists",{"text":225,"config":226},"Learn",{"href":227,"dataGaLocation":40,"dataGaName":228},"https://university.gitlab.com/","learn",{"text":230,"config":231},"Product documentation",{"href":232,"dataGaName":233,"dataGaLocation":40},"https://docs.gitlab.com/","product documentation",{"text":235,"config":236},"Best practice videos",{"href":237,"dataGaName":238,"dataGaLocation":40},"/getting-started-videos/","best practice videos",{"text":240,"config":241},"Integrations",{"href":242,"dataGaName":243,"dataGaLocation":40},"/integrations/","integrations",{"title":245,"items":246},"Discover",[247,252,256,261],{"text":248,"config":249},"Customer success stories",{"href":250,"dataGaName":251,"dataGaLocation":40},"/customers/","customer success stories",{"text":253,"config":254},"Blog",{"href":255,"dataGaName":5,"dataGaLocation":40},"/blog/",{"text":257,"config":258},"Remote",{"href":259,"dataGaName":260,"dataGaLocation":40},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":262,"config":263},"TeamOps",{"href":264,"dataGaName":265,"dataGaLocation":40},"/teamops/","teamops",{"title":267,"items":268},"Connect",[269,274,279,284,289],{"text":270,"config":271},"GitLab Services",{"href":272,"dataGaName":273,"dataGaLocation":40},"/services/","services",{"text":275,"config":276},"Community",{"href":277,"dataGaName":278,"dataGaLocation":40},"/community/","community",{"text":280,"config":281},"Forum",{"href":282,"dataGaName":283,"dataGaLocation":40},"https://forum.gitlab.com/","forum",{"text":285,"config":286},"Events",{"href":287,"dataGaName":288,"dataGaLocation":40},"/events/","events",{"text":290,"config":291},"Partners",{"href":292,"dataGaName":293,"dataGaLocation":40},"/partners/","partners",{"backgroundColor":295,"textColor":296,"text":297,"image":298,"link":302},"#2f2a6b","#fff","Insights for the future of software development",{"altText":299,"config":300},"the source promo card",{"src":301},"/images/navigation/the-source-promo-card.svg",{"text":303,"config":304},"Read the latest",{"href":305,"dataGaName":306,"dataGaLocation":40},"/the-source/","the source",{"text":308,"config":309,"lists":311},"Company",{"dataNavLevelOne":310},"company",[312],{"items":313},[314,319,325,327,332,337,342,347,352,357,362],{"text":315,"config":316},"About",{"href":317,"dataGaName":318,"dataGaLocation":40},"/company/","about",{"text":320,"config":321,"footerGa":324},"Jobs",{"href":322,"dataGaName":323,"dataGaLocation":40},"/jobs/","jobs",{"dataGaName":323},{"text":285,"config":326},{"href":287,"dataGaName":288,"dataGaLocation":40},{"text":328,"config":329},"Leadership",{"href":330,"dataGaName":331,"dataGaLocation":40},"/company/team/e-group/","leadership",{"text":333,"config":334},"Team",{"href":335,"dataGaName":336,"dataGaLocation":40},"/company/team/","team",{"text":338,"config":339},"Handbook",{"href":340,"dataGaName":341,"dataGaLocation":40},"https://handbook.gitlab.com/","handbook",{"text":343,"config":344},"Investor relations",{"href":345,"dataGaName":346,"dataGaLocation":40},"https://ir.gitlab.com/","investor relations",{"text":348,"config":349},"Trust Center",{"href":350,"dataGaName":351,"dataGaLocation":40},"/security/","trust center",{"text":353,"config":354},"AI Transparency Center",{"href":355,"dataGaName":356,"dataGaLocation":40},"/ai-transparency-center/","ai transparency center",{"text":358,"config":359},"Newsletter",{"href":360,"dataGaName":361,"dataGaLocation":40},"/company/contact/","newsletter",{"text":363,"config":364},"Press",{"href":365,"dataGaName":366,"dataGaLocation":40},"/press/","press",{"text":368,"config":369,"lists":370},"Contact us",{"dataNavLevelOne":310},[371],{"items":372},[373,376,381],{"text":47,"config":374},{"href":49,"dataGaName":375,"dataGaLocation":40},"talk to sales",{"text":377,"config":378},"Get help",{"href":379,"dataGaName":380,"dataGaLocation":40},"/support/","get help",{"text":382,"config":383},"Customer portal",{"href":384,"dataGaName":385,"dataGaLocation":40},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":387,"login":388,"suggestions":395},"Close",{"text":389,"link":390},"To search repositories and projects, login to",{"text":391,"config":392},"gitlab.com",{"href":54,"dataGaName":393,"dataGaLocation":394},"search login","search",{"text":396,"default":397},"Suggestions",[398,400,404,406,410,414],{"text":69,"config":399},{"href":74,"dataGaName":69,"dataGaLocation":394},{"text":401,"config":402},"Code Suggestions (AI)",{"href":403,"dataGaName":401,"dataGaLocation":394},"/solutions/code-suggestions/",{"text":121,"config":405},{"href":123,"dataGaName":121,"dataGaLocation":394},{"text":407,"config":408},"GitLab on AWS",{"href":409,"dataGaName":407,"dataGaLocation":394},"/partners/technology-partners/aws/",{"text":411,"config":412},"GitLab on Google Cloud",{"href":413,"dataGaName":411,"dataGaLocation":394},"/partners/technology-partners/google-cloud-platform/",{"text":415,"config":416},"Why GitLab?",{"href":82,"dataGaName":415,"dataGaLocation":394},{"freeTrial":418,"mobileIcon":423,"desktopIcon":428,"secondaryButton":431},{"text":419,"config":420},"Start free trial",{"href":421,"dataGaName":45,"dataGaLocation":422},"https://gitlab.com/-/trials/new/","nav",{"altText":424,"config":425},"Gitlab Icon",{"src":426,"dataGaName":427,"dataGaLocation":422},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":424,"config":429},{"src":430,"dataGaName":427,"dataGaLocation":422},"/images/brand/gitlab-logo-type.svg",{"text":432,"config":433},"Get Started",{"href":434,"dataGaName":435,"dataGaLocation":422},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":437,"mobileIcon":441,"desktopIcon":443},{"text":438,"config":439},"Learn more about GitLab Duo",{"href":74,"dataGaName":440,"dataGaLocation":422},"gitlab duo",{"altText":424,"config":442},{"src":426,"dataGaName":427,"dataGaLocation":422},{"altText":424,"config":444},{"src":430,"dataGaName":427,"dataGaLocation":422},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":450,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"title":451,"button":452,"config":456,"_id":458,"_type":26,"_source":28,"_file":459,"_stem":460,"_extension":31},"/shared/en-us/banner","GitLab Duo Agent Platform is now in public beta!",{"text":80,"config":453},{"href":454,"dataGaName":455,"dataGaLocation":40},"/gitlab-duo/agent-platform/","duo banner",{"layout":457},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":462,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"data":463,"_id":668,"_type":26,"title":669,"_source":28,"_file":670,"_stem":671,"_extension":31},"/shared/en-us/main-footer",{"text":464,"source":465,"edit":471,"contribute":476,"config":481,"items":486,"minimal":660},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":466,"config":467},"View page source",{"href":468,"dataGaName":469,"dataGaLocation":470},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":472,"config":473},"Edit this page",{"href":474,"dataGaName":475,"dataGaLocation":470},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":477,"config":478},"Please contribute",{"href":479,"dataGaName":480,"dataGaLocation":470},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":482,"facebook":483,"youtube":484,"linkedin":485},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[487,510,567,596,630],{"title":58,"links":488,"subMenu":493},[489],{"text":490,"config":491},"DevSecOps platform",{"href":67,"dataGaName":492,"dataGaLocation":470},"devsecops platform",[494],{"title":198,"links":495},[496,500,505],{"text":497,"config":498},"View plans",{"href":200,"dataGaName":499,"dataGaLocation":470},"view plans",{"text":501,"config":502},"Why Premium?",{"href":503,"dataGaName":504,"dataGaLocation":470},"/pricing/premium/","why premium",{"text":506,"config":507},"Why Ultimate?",{"href":508,"dataGaName":509,"dataGaLocation":470},"/pricing/ultimate/","why ultimate",{"title":511,"links":512},"Solutions",[513,518,521,523,528,533,537,540,544,549,551,554,557,562],{"text":514,"config":515},"Digital transformation",{"href":516,"dataGaName":517,"dataGaLocation":470},"/topics/digital-transformation/","digital transformation",{"text":146,"config":519},{"href":141,"dataGaName":520,"dataGaLocation":470},"security & compliance",{"text":135,"config":522},{"href":117,"dataGaName":118,"dataGaLocation":470},{"text":524,"config":525},"Agile development",{"href":526,"dataGaName":527,"dataGaLocation":470},"/solutions/agile-delivery/","agile delivery",{"text":529,"config":530},"Cloud transformation",{"href":531,"dataGaName":532,"dataGaLocation":470},"/topics/cloud-native/","cloud transformation",{"text":534,"config":535},"SCM",{"href":131,"dataGaName":536,"dataGaLocation":470},"source code management",{"text":121,"config":538},{"href":123,"dataGaName":539,"dataGaLocation":470},"continuous integration & delivery",{"text":541,"config":542},"Value stream management",{"href":173,"dataGaName":543,"dataGaLocation":470},"value stream management",{"text":545,"config":546},"GitOps",{"href":547,"dataGaName":548,"dataGaLocation":470},"/solutions/gitops/","gitops",{"text":183,"config":550},{"href":185,"dataGaName":186,"dataGaLocation":470},{"text":552,"config":553},"Small business",{"href":190,"dataGaName":191,"dataGaLocation":470},{"text":555,"config":556},"Public sector",{"href":195,"dataGaName":196,"dataGaLocation":470},{"text":558,"config":559},"Education",{"href":560,"dataGaName":561,"dataGaLocation":470},"/solutions/education/","education",{"text":563,"config":564},"Financial services",{"href":565,"dataGaName":566,"dataGaLocation":470},"/solutions/finance/","financial services",{"title":203,"links":568},[569,571,573,575,578,580,582,584,586,588,590,592,594],{"text":215,"config":570},{"href":217,"dataGaName":218,"dataGaLocation":470},{"text":220,"config":572},{"href":222,"dataGaName":223,"dataGaLocation":470},{"text":225,"config":574},{"href":227,"dataGaName":228,"dataGaLocation":470},{"text":230,"config":576},{"href":232,"dataGaName":577,"dataGaLocation":470},"docs",{"text":253,"config":579},{"href":255,"dataGaName":5,"dataGaLocation":470},{"text":248,"config":581},{"href":250,"dataGaName":251,"dataGaLocation":470},{"text":257,"config":583},{"href":259,"dataGaName":260,"dataGaLocation":470},{"text":270,"config":585},{"href":272,"dataGaName":273,"dataGaLocation":470},{"text":262,"config":587},{"href":264,"dataGaName":265,"dataGaLocation":470},{"text":275,"config":589},{"href":277,"dataGaName":278,"dataGaLocation":470},{"text":280,"config":591},{"href":282,"dataGaName":283,"dataGaLocation":470},{"text":285,"config":593},{"href":287,"dataGaName":288,"dataGaLocation":470},{"text":290,"config":595},{"href":292,"dataGaName":293,"dataGaLocation":470},{"title":308,"links":597},[598,600,602,604,606,608,610,614,619,621,623,625],{"text":315,"config":599},{"href":317,"dataGaName":310,"dataGaLocation":470},{"text":320,"config":601},{"href":322,"dataGaName":323,"dataGaLocation":470},{"text":328,"config":603},{"href":330,"dataGaName":331,"dataGaLocation":470},{"text":333,"config":605},{"href":335,"dataGaName":336,"dataGaLocation":470},{"text":338,"config":607},{"href":340,"dataGaName":341,"dataGaLocation":470},{"text":343,"config":609},{"href":345,"dataGaName":346,"dataGaLocation":470},{"text":611,"config":612},"Sustainability",{"href":613,"dataGaName":611,"dataGaLocation":470},"/sustainability/",{"text":615,"config":616},"Diversity, inclusion and belonging (DIB)",{"href":617,"dataGaName":618,"dataGaLocation":470},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":348,"config":620},{"href":350,"dataGaName":351,"dataGaLocation":470},{"text":358,"config":622},{"href":360,"dataGaName":361,"dataGaLocation":470},{"text":363,"config":624},{"href":365,"dataGaName":366,"dataGaLocation":470},{"text":626,"config":627},"Modern Slavery Transparency Statement",{"href":628,"dataGaName":629,"dataGaLocation":470},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":631,"links":632},"Contact Us",[633,636,638,640,645,650,655],{"text":634,"config":635},"Contact an expert",{"href":49,"dataGaName":50,"dataGaLocation":470},{"text":377,"config":637},{"href":379,"dataGaName":380,"dataGaLocation":470},{"text":382,"config":639},{"href":384,"dataGaName":385,"dataGaLocation":470},{"text":641,"config":642},"Status",{"href":643,"dataGaName":644,"dataGaLocation":470},"https://status.gitlab.com/","status",{"text":646,"config":647},"Terms of use",{"href":648,"dataGaName":649,"dataGaLocation":470},"/terms/","terms of use",{"text":651,"config":652},"Privacy statement",{"href":653,"dataGaName":654,"dataGaLocation":470},"/privacy/","privacy statement",{"text":656,"config":657},"Cookie preferences",{"dataGaName":658,"dataGaLocation":470,"id":659,"isOneTrustButton":103},"cookie preferences","ot-sdk-btn",{"items":661},[662,664,666],{"text":646,"config":663},{"href":648,"dataGaName":649,"dataGaLocation":470},{"text":651,"config":665},{"href":653,"dataGaName":654,"dataGaLocation":470},{"text":656,"config":667},{"dataGaName":658,"dataGaLocation":470,"id":659,"isOneTrustButton":103},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",[673],{"_path":674,"_dir":675,"_draft":6,"_partial":6,"_locale":7,"content":676,"config":680,"_id":682,"_type":26,"title":18,"_source":28,"_file":683,"_stem":684,"_extension":31},"/en-us/blog/authors/ivan-nemytchenko","authors",{"name":18,"config":677},{"headshot":678,"ctfId":679},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Ivan-Nemytchenko",{"template":681},"BlogAuthor","content:en-us:blog:authors:ivan-nemytchenko.yml","en-us/blog/authors/ivan-nemytchenko.yml","en-us/blog/authors/ivan-nemytchenko",{"_path":686,"_dir":34,"_draft":6,"_partial":6,"_locale":7,"header":687,"eyebrow":688,"blurb":689,"button":690,"secondaryButton":694,"_id":696,"_type":26,"title":697,"_source":28,"_file":698,"_stem":699,"_extension":31},"/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":42,"config":691},{"href":692,"dataGaName":45,"dataGaLocation":693},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":47,"config":695},{"href":49,"dataGaName":50,"dataGaLocation":693},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",1753475368035]