[{"data":1,"prerenderedAt":699},["ShallowReactive",2],{"/en-us/blog/continuous-integration-delivery-and-deployment-with-gitlab/":3,"navigation-en-us":31,"banner-en-us":448,"footer-en-us":460,"Marcia Ramos":671,"next-steps-en-us":684},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":15,"config":21,"_id":24,"_type":25,"title":26,"_source":27,"_file":28,"_stem":29,"_extension":30},"/en-us/blog/continuous-integration-delivery-and-deployment-with-gitlab","blog",false,"",{"title":9,"ogTitle":9,"noIndex":6,"ogImage":10,"ogUrl":11,"ogSiteName":12,"ogType":13,"canonicalUrls":11,"schema":14},"Continuous Integration, Delivery, and Deployment with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667509/Blog/Hero%20Images/continuous-integration-from-jenkins-to-gitlab-using-docker.jpg","https://about.gitlab.com/blog/continuous-integration-delivery-and-deployment-with-gitlab","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Continuous Integration, Delivery, and Deployment with GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Marcia Ramos\"}],\n        \"datePublished\": \"2016-08-05\",\n      }",{"title":9,"authors":16,"heroImage":10,"date":18,"body":19,"category":20},[17],"Marcia Ramos","2016-08-05","Can you imagine having [Continuous Integration, Continuous Delivery, and Continuous Deployment](/topics/ci-cd/)\nwithin the same web interface? With **GitLab**, you can!\n\nAfter a brief introduction to these topics,\nand a short walk through of some use-cases for these development practices, we'll present you\nwith a **video** illustrating the capability of going **from idea to production faster** with\nGitLab. Check how you can easily deploy your app automatically from GitLab to Docker Cloud.\n\n\u003C!-- more -->\n\n## Continuous Integration\n\n**[Continuous Integration][ci]** is a software development practice in which you **build and test** software\nevery time a developer pushes code to the application, and it happens several times a day.\n\nContinuous Integration: TEST - BUILD\n{: .alert .alert-warning .yellow}\n\nFor example, our developers push code to [GitLab CE][ce-repo]\nand [GitLab EE][ee-repo] every day, multiple times per day.\nFor every commit, we use [GitLab CI] to **test and build** our software. We run unit tests to make sure\nsome change didn't break other parts of the software. [Every push triggers multiple tests][ce-pipes],\nmaking it easier to identify where the error is when a test happens to fail.\nBut we **do not deploy to production often**, making both GitLab CE and EE cases\nof **Continuous Integration** only.\n\n## Continuous Delivery\n\n**[Continuous Delivery][cd]** is a software engineering approach in which **continuous integration**, **automated\ntesting**, and **automated deployment** capabilities allow software to be developed and [deployed rapidly],\nreliably and repeatedly with minimal human intervention. Still, the **deployment to production** is defined strategically\nand **triggered manually**.\n\nContinuous Delivery: TEST - BUILD - \u003Ci class=\"far fa-hand-pointer\" aria-hidden=\"true\" style=\"color: rgb(252,109,38) !important;\">\u003C/i> - DEPLOY\n{: .alert .alert-warning .yellow}\n\n[Mozilla Firefox][moz] and [Envato] are good examples of Continuous Delivery. They both get their product\n**deployed to production** as soon as it's ready with as little human intervention as possible.\n\n## Continuous Deployment\n\n**[Continuous Deployment][cdp]** is a software development practice in which every code change goes through\nthe entire pipeline and is put **into production automatically**, resulting in many production\ndeployments every day. It does everything that Continuous Delivery does, but the process is fully automated,\nthere's **no human intervention at all**.\n\nContinuous Deployment: TEST - BUILD - \u003Ci class=\"fas fa-cogs\" aria-hidden=\"true\" style=\"color: rgb(252,109,38) !important\">\u003C/i> - DEPLOY\n{: .alert .alert-warning .yellow}\n\nFor example, our website [about.GitLab.com], is **continuously deployed**. We commit multiple times a day to\nfeature-branches, and every push triggers a [parallel][doc-stages] **test and build**. Every time we merge to the\n`master` branch (and we do that a lot, every day), the code is tested, built, and **deployed to\nthe production** [environment][env], passing through the entire [pipeline][com-pipe].\nThere's **no further manual action** that triggers the deployment: it is an automated process, controlled by GitLab CI.\n\n## Challenges\n\n[Perforce performed a study][perforce] that revealed that most of the companies surveyed are using Continuous\nDelivery methods to ship their products:\n\n> _The [study] indicates that Continuous Delivery has really taken off: 65% say their companies have migrated at\nleast one project/team to Continuous Delivery practices._\n>\n_80% of SaaS companies are doing Continuous Delivery, compared to 51% of non-SaaS companies (like boxed or on-premise software, embedded systems or hardware, industrial goods, etc.)_\n>\n_Nearly everyone agrees on the vital role of the collaboration platform (version management, build automation, code review, etc.) in achieving Continuous Delivery. 96% said it’s important and 40% said it’s critical. No argument here._\n{: .justify}\n\nAnd they raised an interesting question:\n\nWhat’s the hardest thing about **Continuous Delivery**?\n{: .alert .alert-info}\n\nThe answer was:\n\nFor non-SaaS companies, it’s getting **automation technologies to integrate**.\n{: .alert .alert-success}\n\nWell, with GitLab, you have all of this, **fully-integrated into one single UI**. From [GitLab 8.10] on,\nyou can [perform Manual Actions][manual] and manually deploy your application with the click of a button,\nmaking Continuous Delivery easier than ever. Take a look.\n\nYou can manually **deploy** to staging:\n\n![Continuous Delivery - deploy to staging]{: .shadow}\n\nYou can also manually **deploy** to production:\n\n![Continuous Delivery - deploy to production]{: .shadow}\n\nAnd you are free to **rollback** to the previous state with the click of a button:\n\n![Continuous Delivery - rollback]{: .shadow}\n\n## From idea to production with GitLab\n\nOur Head of Product, [Mark Pundsack], created a demonstration which illustrates our built-in capabilities\nwith **GitLab CI**, **Continuous Deployment**, and **[Container Registry]** together, to develop **faster\nfrom idea to production**.\n\nIn his video, you can see how it's possible, within one single interface (GitLab), to do everything:\n\n- \u003Ci class=\"fas fa-info-circle fa-fw\" aria-hidden=\"true\">\u003C/i> Have an idea\n- \u003Ci class=\"fas fa-exclamation-circle fa-fw\" aria-hidden=\"true\">\u003C/i> Create an issue to discuss it with your team\n- \u003Ci class=\"fas fa-code fa-fw\" aria-hidden=\"true\">\u003C/i> Ship the code within a merge request\n- \u003Ci class=\"fas fa-terminal fa-fw\" aria-hidden=\"true\">\u003C/i> Run automated scripts (sequential or parallel)\n   - Build, test **and deploy** to a **staging environment**\n   - Preview the changes\n- \u003Ci class=\"far fa-edit fa-fw\" aria-hidden=\"true\">\u003C/i> Review the code and get it approved\n- \u003Ci class=\"fas fa-code-branch fa-fw\" aria-hidden=\"true\">\u003C/i> Merge the feature-branch into `master`\n   - **Deploy** your changes **automatically** to a **production environment**\n- \u003Ci class=\"fas fa-undo fa-fw\" aria-hidden=\"true\">\u003C/i> Rollback if something goes wrong\n{: .list-icons}\n\nThe most amazing thing is, you can track the entire process. Everything is\nfully-integrated with GitLab already; you don't need any other tools to deliver your software, nor jump\nbetween different applications and interfaces to track the process.\n\nThe full spectrum is clearly visible: the issue, the commits to the merge request, the reviews, the builds, the tests,\nthe deploys, the deployment history, the [container history], the environments and the [pipelines][mark-pipes].\n\nFurthermore, for this example demo configuration, every time you push code to the repository, even if it's\nto feature-branches, the pipeline runs **from build to deployment**. But instead of deploying to production,\nthese branches deploy to a staging environment. Production is only affected by the `master` branch.\n\nFor this particular case, Mark used [Docker Cloud] to deploy his app, but you are free to use your creativity to\noptimize your software development process with GitLab and its built-in development tools.\n\nCheck it out; it's awesome!\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/pY4IbEXxxGY\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n**Note:** we assume you know what Docker is, how to use it and how to deploy an app to [Docker Cloud].\n{: .note}\n\n## Conclusion\n\nThe terms Continuous **Delivery** and Continuous **Deployment** are confusing, but now hopefully you\nunderstand the difference between them. The goal is pushing code frequently, and having it tested,\nbuilt, and deployed. If you prefer having the human decision before deploying to production, GitLab\nallows you to do that with [Manual Actions][manual]. If you want a fully-automated process, with GitLab you\ncan do that too. Whatever strategy your company chooses, GitLab does the job, and does it well!\n\nOur development team works hard to offer the best solution for modern software development tools and techniques. We ship a new\nversion once a month, every 22nd, with more features and improvements, for making development faster and better.\n\nGitLab is unique: we go [from idea to production][direction] using one single interface that integrates all the tools we need!\n\nFollow [@GitLab] on Twitter and stay tuned for updates!","engineering",{"slug":22,"featured":6,"template":23},"continuous-integration-delivery-and-deployment-with-gitlab","BlogPost","content:en-us:blog:continuous-integration-delivery-and-deployment-with-gitlab.yml","yaml","Continuous Integration Delivery And Deployment With Gitlab","content","en-us/blog/continuous-integration-delivery-and-deployment-with-gitlab.yml","en-us/blog/continuous-integration-delivery-and-deployment-with-gitlab","yml",{"_path":32,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"data":34,"_id":444,"_type":25,"title":445,"_source":27,"_file":446,"_stem":447,"_extension":30},"/shared/en-us/main-navigation","en-us",{"logo":35,"freeTrial":40,"sales":45,"login":50,"items":55,"search":385,"minimal":416,"duo":435},{"config":36},{"href":37,"dataGaName":38,"dataGaLocation":39},"/","gitlab logo","header",{"text":41,"config":42},"Get free trial",{"href":43,"dataGaName":44,"dataGaLocation":39},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":46,"config":47},"Talk to sales",{"href":48,"dataGaName":49,"dataGaLocation":39},"/sales/","sales",{"text":51,"config":52},"Sign in",{"href":53,"dataGaName":54,"dataGaLocation":39},"https://gitlab.com/users/sign_in/","sign in",[56,100,196,201,306,366],{"text":57,"config":58,"cards":60,"footer":83},"Platform",{"dataNavLevelOne":59},"platform",[61,67,75],{"title":57,"description":62,"link":63},"The most comprehensive AI-powered DevSecOps Platform",{"text":64,"config":65},"Explore our Platform",{"href":66,"dataGaName":59,"dataGaLocation":39},"/platform/",{"title":68,"description":69,"link":70},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":71,"config":72},"Meet GitLab Duo",{"href":73,"dataGaName":74,"dataGaLocation":39},"/gitlab-duo/","gitlab duo ai",{"title":76,"description":77,"link":78},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":79,"config":80},"Learn more",{"href":81,"dataGaName":82,"dataGaLocation":39},"/why-gitlab/","why gitlab",{"title":84,"items":85},"Get started with",[86,91,96],{"text":87,"config":88},"Platform Engineering",{"href":89,"dataGaName":90,"dataGaLocation":39},"/solutions/platform-engineering/","platform engineering",{"text":92,"config":93},"Developer Experience",{"href":94,"dataGaName":95,"dataGaLocation":39},"/developer-experience/","Developer experience",{"text":97,"config":98},"MLOps",{"href":99,"dataGaName":97,"dataGaLocation":39},"/topics/devops/the-role-of-ai-in-devops/",{"text":101,"left":102,"config":103,"link":105,"lists":109,"footer":178},"Product",true,{"dataNavLevelOne":104},"solutions",{"text":106,"config":107},"View all Solutions",{"href":108,"dataGaName":104,"dataGaLocation":39},"/solutions/",[110,135,157],{"title":111,"description":112,"link":113,"items":118},"Automation","CI/CD and automation to accelerate deployment",{"config":114},{"icon":115,"href":116,"dataGaName":117,"dataGaLocation":39},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[119,123,127,131],{"text":120,"config":121},"CI/CD",{"href":122,"dataGaLocation":39,"dataGaName":120},"/solutions/continuous-integration/",{"text":124,"config":125},"AI-Assisted Development",{"href":73,"dataGaLocation":39,"dataGaName":126},"AI assisted development",{"text":128,"config":129},"Source Code Management",{"href":130,"dataGaLocation":39,"dataGaName":128},"/solutions/source-code-management/",{"text":132,"config":133},"Automated Software Delivery",{"href":116,"dataGaLocation":39,"dataGaName":134},"Automated software delivery",{"title":136,"description":137,"link":138,"items":143},"Security","Deliver code faster without compromising security",{"config":139},{"href":140,"dataGaName":141,"dataGaLocation":39,"icon":142},"/solutions/security-compliance/","security and compliance","ShieldCheckLight",[144,147,152],{"text":145,"config":146},"Security & Compliance",{"href":140,"dataGaLocation":39,"dataGaName":145},{"text":148,"config":149},"Software Supply Chain Security",{"href":150,"dataGaLocation":39,"dataGaName":151},"/solutions/supply-chain/","Software supply chain security",{"text":153,"config":154},"Compliance & Governance",{"href":155,"dataGaLocation":39,"dataGaName":156},"/solutions/continuous-software-compliance/","Compliance and governance",{"title":158,"link":159,"items":164},"Measurement",{"config":160},{"icon":161,"href":162,"dataGaName":163,"dataGaLocation":39},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[165,169,173],{"text":166,"config":167},"Visibility & Measurement",{"href":162,"dataGaLocation":39,"dataGaName":168},"Visibility and Measurement",{"text":170,"config":171},"Value Stream Management",{"href":172,"dataGaLocation":39,"dataGaName":170},"/solutions/value-stream-management/",{"text":174,"config":175},"Analytics & Insights",{"href":176,"dataGaLocation":39,"dataGaName":177},"/solutions/analytics-and-insights/","Analytics and insights",{"title":179,"items":180},"GitLab for",[181,186,191],{"text":182,"config":183},"Enterprise",{"href":184,"dataGaLocation":39,"dataGaName":185},"/enterprise/","enterprise",{"text":187,"config":188},"Small Business",{"href":189,"dataGaLocation":39,"dataGaName":190},"/small-business/","small business",{"text":192,"config":193},"Public Sector",{"href":194,"dataGaLocation":39,"dataGaName":195},"/solutions/public-sector/","public sector",{"text":197,"config":198},"Pricing",{"href":199,"dataGaName":200,"dataGaLocation":39,"dataNavLevelOne":200},"/pricing/","pricing",{"text":202,"config":203,"link":205,"lists":209,"feature":293},"Resources",{"dataNavLevelOne":204},"resources",{"text":206,"config":207},"View all resources",{"href":208,"dataGaName":204,"dataGaLocation":39},"/resources/",[210,243,265],{"title":211,"items":212},"Getting started",[213,218,223,228,233,238],{"text":214,"config":215},"Install",{"href":216,"dataGaName":217,"dataGaLocation":39},"/install/","install",{"text":219,"config":220},"Quick start guides",{"href":221,"dataGaName":222,"dataGaLocation":39},"/get-started/","quick setup checklists",{"text":224,"config":225},"Learn",{"href":226,"dataGaLocation":39,"dataGaName":227},"https://university.gitlab.com/","learn",{"text":229,"config":230},"Product documentation",{"href":231,"dataGaName":232,"dataGaLocation":39},"https://docs.gitlab.com/","product documentation",{"text":234,"config":235},"Best practice videos",{"href":236,"dataGaName":237,"dataGaLocation":39},"/getting-started-videos/","best practice videos",{"text":239,"config":240},"Integrations",{"href":241,"dataGaName":242,"dataGaLocation":39},"/integrations/","integrations",{"title":244,"items":245},"Discover",[246,251,255,260],{"text":247,"config":248},"Customer success stories",{"href":249,"dataGaName":250,"dataGaLocation":39},"/customers/","customer success stories",{"text":252,"config":253},"Blog",{"href":254,"dataGaName":5,"dataGaLocation":39},"/blog/",{"text":256,"config":257},"Remote",{"href":258,"dataGaName":259,"dataGaLocation":39},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":261,"config":262},"TeamOps",{"href":263,"dataGaName":264,"dataGaLocation":39},"/teamops/","teamops",{"title":266,"items":267},"Connect",[268,273,278,283,288],{"text":269,"config":270},"GitLab Services",{"href":271,"dataGaName":272,"dataGaLocation":39},"/services/","services",{"text":274,"config":275},"Community",{"href":276,"dataGaName":277,"dataGaLocation":39},"/community/","community",{"text":279,"config":280},"Forum",{"href":281,"dataGaName":282,"dataGaLocation":39},"https://forum.gitlab.com/","forum",{"text":284,"config":285},"Events",{"href":286,"dataGaName":287,"dataGaLocation":39},"/events/","events",{"text":289,"config":290},"Partners",{"href":291,"dataGaName":292,"dataGaLocation":39},"/partners/","partners",{"backgroundColor":294,"textColor":295,"text":296,"image":297,"link":301},"#2f2a6b","#fff","Insights for the future of software development",{"altText":298,"config":299},"the source promo card",{"src":300},"/images/navigation/the-source-promo-card.svg",{"text":302,"config":303},"Read the latest",{"href":304,"dataGaName":305,"dataGaLocation":39},"/the-source/","the source",{"text":307,"config":308,"lists":310},"Company",{"dataNavLevelOne":309},"company",[311],{"items":312},[313,318,324,326,331,336,341,346,351,356,361],{"text":314,"config":315},"About",{"href":316,"dataGaName":317,"dataGaLocation":39},"/company/","about",{"text":319,"config":320,"footerGa":323},"Jobs",{"href":321,"dataGaName":322,"dataGaLocation":39},"/jobs/","jobs",{"dataGaName":322},{"text":284,"config":325},{"href":286,"dataGaName":287,"dataGaLocation":39},{"text":327,"config":328},"Leadership",{"href":329,"dataGaName":330,"dataGaLocation":39},"/company/team/e-group/","leadership",{"text":332,"config":333},"Team",{"href":334,"dataGaName":335,"dataGaLocation":39},"/company/team/","team",{"text":337,"config":338},"Handbook",{"href":339,"dataGaName":340,"dataGaLocation":39},"https://handbook.gitlab.com/","handbook",{"text":342,"config":343},"Investor relations",{"href":344,"dataGaName":345,"dataGaLocation":39},"https://ir.gitlab.com/","investor relations",{"text":347,"config":348},"Trust Center",{"href":349,"dataGaName":350,"dataGaLocation":39},"/security/","trust center",{"text":352,"config":353},"AI Transparency Center",{"href":354,"dataGaName":355,"dataGaLocation":39},"/ai-transparency-center/","ai transparency center",{"text":357,"config":358},"Newsletter",{"href":359,"dataGaName":360,"dataGaLocation":39},"/company/contact/","newsletter",{"text":362,"config":363},"Press",{"href":364,"dataGaName":365,"dataGaLocation":39},"/press/","press",{"text":367,"config":368,"lists":369},"Contact us",{"dataNavLevelOne":309},[370],{"items":371},[372,375,380],{"text":46,"config":373},{"href":48,"dataGaName":374,"dataGaLocation":39},"talk to sales",{"text":376,"config":377},"Get help",{"href":378,"dataGaName":379,"dataGaLocation":39},"/support/","get help",{"text":381,"config":382},"Customer portal",{"href":383,"dataGaName":384,"dataGaLocation":39},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":386,"login":387,"suggestions":394},"Close",{"text":388,"link":389},"To search repositories and projects, login to",{"text":390,"config":391},"gitlab.com",{"href":53,"dataGaName":392,"dataGaLocation":393},"search login","search",{"text":395,"default":396},"Suggestions",[397,399,403,405,409,413],{"text":68,"config":398},{"href":73,"dataGaName":68,"dataGaLocation":393},{"text":400,"config":401},"Code Suggestions (AI)",{"href":402,"dataGaName":400,"dataGaLocation":393},"/solutions/code-suggestions/",{"text":120,"config":404},{"href":122,"dataGaName":120,"dataGaLocation":393},{"text":406,"config":407},"GitLab on AWS",{"href":408,"dataGaName":406,"dataGaLocation":393},"/partners/technology-partners/aws/",{"text":410,"config":411},"GitLab on Google Cloud",{"href":412,"dataGaName":410,"dataGaLocation":393},"/partners/technology-partners/google-cloud-platform/",{"text":414,"config":415},"Why GitLab?",{"href":81,"dataGaName":414,"dataGaLocation":393},{"freeTrial":417,"mobileIcon":422,"desktopIcon":427,"secondaryButton":430},{"text":418,"config":419},"Start free trial",{"href":420,"dataGaName":44,"dataGaLocation":421},"https://gitlab.com/-/trials/new/","nav",{"altText":423,"config":424},"Gitlab Icon",{"src":425,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-tanuki.svg","gitlab icon",{"altText":423,"config":428},{"src":429,"dataGaName":426,"dataGaLocation":421},"/images/brand/gitlab-logo-type.svg",{"text":431,"config":432},"Get Started",{"href":433,"dataGaName":434,"dataGaLocation":421},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":436,"mobileIcon":440,"desktopIcon":442},{"text":437,"config":438},"Learn more about GitLab Duo",{"href":73,"dataGaName":439,"dataGaLocation":421},"gitlab duo",{"altText":423,"config":441},{"src":425,"dataGaName":426,"dataGaLocation":421},{"altText":423,"config":443},{"src":429,"dataGaName":426,"dataGaLocation":421},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":449,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"title":450,"button":451,"config":455,"_id":457,"_type":25,"_source":27,"_file":458,"_stem":459,"_extension":30},"/shared/en-us/banner","GitLab Duo Agent Platform is now in public beta!",{"text":79,"config":452},{"href":453,"dataGaName":454,"dataGaLocation":39},"/gitlab-duo/agent-platform/","duo banner",{"layout":456},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":461,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"data":462,"_id":667,"_type":25,"title":668,"_source":27,"_file":669,"_stem":670,"_extension":30},"/shared/en-us/main-footer",{"text":463,"source":464,"edit":470,"contribute":475,"config":480,"items":485,"minimal":659},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":465,"config":466},"View page source",{"href":467,"dataGaName":468,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":471,"config":472},"Edit this page",{"href":473,"dataGaName":474,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":476,"config":477},"Please contribute",{"href":478,"dataGaName":479,"dataGaLocation":469},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":481,"facebook":482,"youtube":483,"linkedin":484},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[486,509,566,595,629],{"title":57,"links":487,"subMenu":492},[488],{"text":489,"config":490},"DevSecOps platform",{"href":66,"dataGaName":491,"dataGaLocation":469},"devsecops platform",[493],{"title":197,"links":494},[495,499,504],{"text":496,"config":497},"View plans",{"href":199,"dataGaName":498,"dataGaLocation":469},"view plans",{"text":500,"config":501},"Why Premium?",{"href":502,"dataGaName":503,"dataGaLocation":469},"/pricing/premium/","why premium",{"text":505,"config":506},"Why Ultimate?",{"href":507,"dataGaName":508,"dataGaLocation":469},"/pricing/ultimate/","why ultimate",{"title":510,"links":511},"Solutions",[512,517,520,522,527,532,536,539,543,548,550,553,556,561],{"text":513,"config":514},"Digital transformation",{"href":515,"dataGaName":516,"dataGaLocation":469},"/topics/digital-transformation/","digital transformation",{"text":145,"config":518},{"href":140,"dataGaName":519,"dataGaLocation":469},"security & compliance",{"text":134,"config":521},{"href":116,"dataGaName":117,"dataGaLocation":469},{"text":523,"config":524},"Agile development",{"href":525,"dataGaName":526,"dataGaLocation":469},"/solutions/agile-delivery/","agile delivery",{"text":528,"config":529},"Cloud transformation",{"href":530,"dataGaName":531,"dataGaLocation":469},"/topics/cloud-native/","cloud transformation",{"text":533,"config":534},"SCM",{"href":130,"dataGaName":535,"dataGaLocation":469},"source code management",{"text":120,"config":537},{"href":122,"dataGaName":538,"dataGaLocation":469},"continuous integration & delivery",{"text":540,"config":541},"Value stream management",{"href":172,"dataGaName":542,"dataGaLocation":469},"value stream management",{"text":544,"config":545},"GitOps",{"href":546,"dataGaName":547,"dataGaLocation":469},"/solutions/gitops/","gitops",{"text":182,"config":549},{"href":184,"dataGaName":185,"dataGaLocation":469},{"text":551,"config":552},"Small business",{"href":189,"dataGaName":190,"dataGaLocation":469},{"text":554,"config":555},"Public sector",{"href":194,"dataGaName":195,"dataGaLocation":469},{"text":557,"config":558},"Education",{"href":559,"dataGaName":560,"dataGaLocation":469},"/solutions/education/","education",{"text":562,"config":563},"Financial services",{"href":564,"dataGaName":565,"dataGaLocation":469},"/solutions/finance/","financial services",{"title":202,"links":567},[568,570,572,574,577,579,581,583,585,587,589,591,593],{"text":214,"config":569},{"href":216,"dataGaName":217,"dataGaLocation":469},{"text":219,"config":571},{"href":221,"dataGaName":222,"dataGaLocation":469},{"text":224,"config":573},{"href":226,"dataGaName":227,"dataGaLocation":469},{"text":229,"config":575},{"href":231,"dataGaName":576,"dataGaLocation":469},"docs",{"text":252,"config":578},{"href":254,"dataGaName":5,"dataGaLocation":469},{"text":247,"config":580},{"href":249,"dataGaName":250,"dataGaLocation":469},{"text":256,"config":582},{"href":258,"dataGaName":259,"dataGaLocation":469},{"text":269,"config":584},{"href":271,"dataGaName":272,"dataGaLocation":469},{"text":261,"config":586},{"href":263,"dataGaName":264,"dataGaLocation":469},{"text":274,"config":588},{"href":276,"dataGaName":277,"dataGaLocation":469},{"text":279,"config":590},{"href":281,"dataGaName":282,"dataGaLocation":469},{"text":284,"config":592},{"href":286,"dataGaName":287,"dataGaLocation":469},{"text":289,"config":594},{"href":291,"dataGaName":292,"dataGaLocation":469},{"title":307,"links":596},[597,599,601,603,605,607,609,613,618,620,622,624],{"text":314,"config":598},{"href":316,"dataGaName":309,"dataGaLocation":469},{"text":319,"config":600},{"href":321,"dataGaName":322,"dataGaLocation":469},{"text":327,"config":602},{"href":329,"dataGaName":330,"dataGaLocation":469},{"text":332,"config":604},{"href":334,"dataGaName":335,"dataGaLocation":469},{"text":337,"config":606},{"href":339,"dataGaName":340,"dataGaLocation":469},{"text":342,"config":608},{"href":344,"dataGaName":345,"dataGaLocation":469},{"text":610,"config":611},"Sustainability",{"href":612,"dataGaName":610,"dataGaLocation":469},"/sustainability/",{"text":614,"config":615},"Diversity, inclusion and belonging (DIB)",{"href":616,"dataGaName":617,"dataGaLocation":469},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":347,"config":619},{"href":349,"dataGaName":350,"dataGaLocation":469},{"text":357,"config":621},{"href":359,"dataGaName":360,"dataGaLocation":469},{"text":362,"config":623},{"href":364,"dataGaName":365,"dataGaLocation":469},{"text":625,"config":626},"Modern Slavery Transparency Statement",{"href":627,"dataGaName":628,"dataGaLocation":469},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":630,"links":631},"Contact Us",[632,635,637,639,644,649,654],{"text":633,"config":634},"Contact an expert",{"href":48,"dataGaName":49,"dataGaLocation":469},{"text":376,"config":636},{"href":378,"dataGaName":379,"dataGaLocation":469},{"text":381,"config":638},{"href":383,"dataGaName":384,"dataGaLocation":469},{"text":640,"config":641},"Status",{"href":642,"dataGaName":643,"dataGaLocation":469},"https://status.gitlab.com/","status",{"text":645,"config":646},"Terms of use",{"href":647,"dataGaName":648,"dataGaLocation":469},"/terms/","terms of use",{"text":650,"config":651},"Privacy statement",{"href":652,"dataGaName":653,"dataGaLocation":469},"/privacy/","privacy statement",{"text":655,"config":656},"Cookie preferences",{"dataGaName":657,"dataGaLocation":469,"id":658,"isOneTrustButton":102},"cookie preferences","ot-sdk-btn",{"items":660},[661,663,665],{"text":645,"config":662},{"href":647,"dataGaName":648,"dataGaLocation":469},{"text":650,"config":664},{"href":652,"dataGaName":653,"dataGaLocation":469},{"text":655,"config":666},{"dataGaName":657,"dataGaLocation":469,"id":658,"isOneTrustButton":102},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",[672],{"_path":673,"_dir":674,"_draft":6,"_partial":6,"_locale":7,"content":675,"config":679,"_id":681,"_type":25,"title":17,"_source":27,"_file":682,"_stem":683,"_extension":30},"/en-us/blog/authors/marcia-ramos","authors",{"name":17,"config":676},{"headshot":677,"ctfId":678},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","Marcia-Ramos",{"template":680},"BlogAuthor","content:en-us:blog:authors:marcia-ramos.yml","en-us/blog/authors/marcia-ramos.yml","en-us/blog/authors/marcia-ramos",{"_path":685,"_dir":33,"_draft":6,"_partial":6,"_locale":7,"header":686,"eyebrow":687,"blurb":688,"button":689,"secondaryButton":693,"_id":695,"_type":25,"title":696,"_source":27,"_file":697,"_stem":698,"_extension":30},"/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":41,"config":690},{"href":691,"dataGaName":44,"dataGaLocation":692},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":46,"config":694},{"href":48,"dataGaName":49,"dataGaLocation":692},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",1753475326779]