[{"data":1,"prerenderedAt":769},["ShallowReactive",2],{"/en-us/topics/ci-cd/shift-left-devops":3,"navigation-en-us":112,"banner-en-us":509,"footer-en-us":519,"next-steps-en-us":759},{"id":4,"title":5,"body":6,"category":6,"config":6,"content":7,"description":6,"extension":104,"meta":105,"navigation":106,"path":107,"seo":108,"slug":6,"stem":110,"testContent":6,"type":6,"__hash__":111},"pages/en-us/topics/ci-cd/shift-left-devops/index.yml","",null,[8,22,30,45,67,102],{"type":9,"componentName":9,"componentContent":10},"CommonBreadcrumbs",{"crumbs":11},[12,16,20],{"title":13,"config":14},"Topics",{"href":15},"/topics/",{"title":17,"config":18},"CI/CD",{"href":19},"/topics/ci-cd/",{"title":21},"Shift left devops",{"type":23,"componentName":23,"componentContent":24},"CommonArticleHero",{"title":25,"text":26,"config":27},"How to shift left with continuous integration","Continuous integration (CI) is a process that improves code quality through deployment pipelines. Security can be integrated into these pipelines earlier in the process, helping organizations shift left.\n",{"id":28,"twoColumns":29},"how-to-shift-left-with-continuous-integration",false,{"type":31,"componentName":31,"componentContent":32},"CommonSideNavigationWithTree",{"anchors":33,"components":39},{"text":34,"data":35},"On this page",[36],{"text":25,"config":37},{"href":38},"#how-to-shift-left-with-continuous-integration",[40],{"type":41,"componentName":41,"componentContent":42},"TopicsCopy",{"header":25,"text":43,"config":44},"Shift left is an approach that moves testing to earlier in the software development lifecycle (hence, “shifting left”). If security testing happens when code is ready for production, it can be difficult to go back and correct problems, and it’s often too late to fix problems quickly. This can lead to delayed handoffs, security issues, and silos between security and the rest of the DevOps teams.\n\nAs organizations try to move to a more [DevSecOps](https://about.gitlab.com/solutions/application-security-testing/) structure, bringing security testing earlier into the development lifecycle will be critical. The way to do this is by integrating security testing into deployment pipelines so that code is continually tested, not only against other commits into the shared repository, but for security as well.\n\n[Continuous integration (CI)](/topics/ci-cd/) is a process that improves code quality through deployment pipelines. Security can be integrated into these pipelines earlier in the process, helping organizations shift left.\n\n### Integrate security into continuous integration pipelines\n\n[Static Application Security Testing](https://docs.gitlab.com/ee/user/application_security/sast/) (SAST) is one way that security is automated through continuous integration. SAST analyzes the source code and allows developers to fix problems earlier in the software development lifecycle.\n\nIn GitLab CI/CD, the deployment pipeline checks the SAST report and compares the vulnerabilities between the source and target branches. These findings appear in the merge request.\n\n[Dynamic Application Security Testing](https://docs.gitlab.com/ee/user/application_security/dast/index.html#dynamic-application-security-testing-dast) (DAST) often works in tandem with SAST. While SAST analyzes source code, DAST analyzes runtime errors in executed applications. Once an application is deployed, it is exposed to new forms of security risks, such as cross-site scripting or broken authentication flaws.\n\nLike SAST, GitLab checks the DAST report and compares the vulnerabilities between the source and target branches and displays the results, but the comparison uses only the latest pipeline executed for the target branch’s base commit.\n\nOther [types of security testing](https://www.softwaresecured.com/what-do-sast-dast-iast-and-rasp-mean-to-developers/) include Interactive Application Security Testing (IAST) and Run-Time Application Security Protection (RASP). IAST operates by placing an agent within an application and RASP is more of a security tool placed inside an application that can respond to live attacks.\n\n### Reduce toolchain complexity\n\nIn addition to time-consuming maintenance, [a complex toolchain](https://about.gitlab.com/blog/toolchain-security-with-gitlab/) can open up a system to security risks. Many DevSecOps teams use plugins, scripts, or hard-coded custom integrations to bring their tools together. Since some of these have to be done manually, it makes these toolchains subject to human error. Additionally, more tools mean more authentication, more permissions, security requirements, and less visibility into the software development lifecycle. These layers of abstraction make it harder to not only pinpoint problems, but solve them as well.\n\nA complex system incorporates multiple points of failure. If organizations want to shift left, reducing some of this complexity makes it easier for security and compliance to come into the development lifecycle. A complex toolchain or a plugin environment can also cause [brittle pipelines](https://medium.com/@steve.burton/4-reasons-your-jenkins-pipelines-are-brittle-f626186662c2) that need extra attention.\n\n### Harden your continuous integration systems\n\n[Hardening](https://en.wikipedia.org/wiki/Hardening_computing) is the process of securing a system by reducing its surface of vulnerability. Similar to reducing toolchain complexity to reduce the sources of risk, hardening checklists allow an organization to examine its internal systems to make sure they’re following security best practices.\n\nOne recommendation is to harden the [systems that host](https://about.gitlab.com/blog/secure-journey-continuous-delivery/) the source and build artifact repositories, the CI and continuous delivery (CD) servers, and the systems that host the configuration management, build, deployment, and release tools. Ensure that your team knows what is done on-premises vs. what is in the cloud, and how this impacts workflows.\n\nHardening your continuous integration system, in addition to incorporating security scans into your deployment pipelines, can make it easier for teams to shift left. [Mature DevOps teams](https://about.gitlab.com/topics/devops/build-a-devops-team/) are naturally implementing security tests into their continuous integration process and embracing the shift left approach. Rather than treating security as an afterthought, these DevSecOps teams keep security top of mind.\n",{"id":28},{"type":46,"componentName":46,"componentContent":47},"CommonFaq",{"header":48,"groups":49},"Frequently Asked Questions",[50],{"questions":51},[52,55,58,61,64],{"question":53,"answer":54},"What is shift left in CI/CD?","Shift left in CI/CD refers to the practice of integrating testing and security earlier in the software development lifecycle to identify and fix issues sooner.",{"question":56,"answer":57},"How to implement the shift left approach?","To implement the shift left approach, organizations should integrate security testing tools like SAST and DAST into their continuous integration pipelines, ensuring continuous monitoring of code as it’s developed.",{"question":59,"answer":60},"What is the shift left method?","The shift left method involves moving traditional testing activities earlier in the development process, thereby reducing the cost and effort needed to address defects and security vulnerabilities.",{"question":62,"answer":63},"How does CI/CD exemplify the shift left concept?","CI/CD exemplifies the shift left concept by automating testing and security processes within deployment pipelines, enabling immediate feedback and faster resolution of issues as code is developed.",{"question":65,"answer":66},"What are the benefits of shift left testing in software development?","The benefits of shift left testing include improved code quality, reduced costs for fixing defects, enhanced collaboration between development and security teams, and faster delivery of secure and reliable software.",{"type":68,"componentName":68,"componentContent":69},"CommonResourcesContainer",{"header":70,"tabs":71},"Suggested Content",[72],{"name":73,"items":74,"config":101},"resources",[75,85,93],{"header":76,"type":77,"image":78,"link":81},"Securing next generation software","Web",{"altText":76,"config":79},{"src":80},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749159343/Website/Topics/customers-link.jpg",{"text":82,"config":83},"Learn more",{"href":84,"icon":77,"modal":29},"/blog/ciso-secure-next-gen-software/",{"header":86,"type":77,"image":87,"link":90},"A shift left strategy for the cloud",{"altText":86,"config":88},{"src":89},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749159346/Website/Topics/cncf-case-study-image.png",{"text":82,"config":91},{"href":92,"icon":77,"modal":29},"/blog/secure-containers-devops/",{"header":94,"type":77,"image":95,"link":98},"How developer-centric AppSec testing can dramatically change your DevOps team",{"altText":94,"config":96},{"src":97},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749159360/Website/Topics/cover_image_regenhu.jpg",{"text":82,"config":99},{"href":100,"icon":77,"modal":29},"/blog/align-engineering-security-appsec-tests-in-ci/",{"key":73},{"type":103,"componentName":103},"CommonNextSteps","yml",{},true,"/en-us/topics/ci-cd/shift-left-devops",{"title":25,"ogTitle":25,"description":109,"ogDescription":109},"Learn how Continuous Integration (CI) improves code quality and integrates security earlier in pipelines to help organizations shift left!","en-us/topics/ci-cd/shift-left-devops/index","fRkX4dzj6sumnoDZkDKlPMx6c-XvRvYTNOYDIMXtq4E",{"data":113},{"logo":114,"freeTrial":119,"sales":124,"login":129,"items":134,"search":439,"minimal":470,"duo":489,"pricingDeployment":499},{"config":115},{"href":116,"dataGaName":117,"dataGaLocation":118},"/","gitlab logo","header",{"text":120,"config":121},"Get free trial",{"href":122,"dataGaName":123,"dataGaLocation":118},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":125,"config":126},"Talk to sales",{"href":127,"dataGaName":128,"dataGaLocation":118},"/sales/","sales",{"text":130,"config":131},"Sign in",{"href":132,"dataGaName":133,"dataGaLocation":118},"https://gitlab.com/users/sign_in/","sign in",[135,161,255,260,360,420],{"text":136,"config":137,"cards":139},"Platform",{"dataNavLevelOne":138},"platform",[140,146,154],{"title":136,"description":141,"link":142},"The intelligent orchestration platform for DevSecOps",{"text":143,"config":144},"Explore our Platform",{"href":145,"dataGaName":138,"dataGaLocation":118},"/platform/",{"title":147,"description":148,"link":149},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":150,"config":151},"Meet GitLab Duo",{"href":152,"dataGaName":153,"dataGaLocation":118},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":155,"description":156,"link":157},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":82,"config":158},{"href":159,"dataGaName":160,"dataGaLocation":118},"/why-gitlab/","why gitlab",{"text":162,"left":106,"config":163,"link":165,"lists":169,"footer":237},"Product",{"dataNavLevelOne":164},"solutions",{"text":166,"config":167},"View all Solutions",{"href":168,"dataGaName":164,"dataGaLocation":118},"/solutions/",[170,193,216],{"title":171,"description":172,"link":173,"items":178},"Automation","CI/CD and automation to accelerate deployment",{"config":174},{"icon":175,"href":176,"dataGaName":177,"dataGaLocation":118},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[179,182,185,189],{"text":17,"config":180},{"href":181,"dataGaLocation":118,"dataGaName":17},"/solutions/continuous-integration/",{"text":147,"config":183},{"href":152,"dataGaLocation":118,"dataGaName":184},"gitlab duo agent platform - product menu",{"text":186,"config":187},"Source Code Management",{"href":188,"dataGaLocation":118,"dataGaName":186},"/solutions/source-code-management/",{"text":190,"config":191},"Automated Software Delivery",{"href":176,"dataGaLocation":118,"dataGaName":192},"Automated software delivery",{"title":194,"description":195,"link":196,"items":201},"Security","Deliver code faster without compromising security",{"config":197},{"href":198,"dataGaName":199,"dataGaLocation":118,"icon":200},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[202,206,211],{"text":203,"config":204},"Application Security Testing",{"href":198,"dataGaName":205,"dataGaLocation":118},"Application security testing",{"text":207,"config":208},"Software Supply Chain Security",{"href":209,"dataGaLocation":118,"dataGaName":210},"/solutions/supply-chain/","Software supply chain security",{"text":212,"config":213},"Software Compliance",{"href":214,"dataGaName":215,"dataGaLocation":118},"/solutions/software-compliance/","software compliance",{"title":217,"link":218,"items":223},"Measurement",{"config":219},{"icon":220,"href":221,"dataGaName":222,"dataGaLocation":118},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[224,228,232],{"text":225,"config":226},"Visibility & Measurement",{"href":221,"dataGaLocation":118,"dataGaName":227},"Visibility and Measurement",{"text":229,"config":230},"Value Stream Management",{"href":231,"dataGaLocation":118,"dataGaName":229},"/solutions/value-stream-management/",{"text":233,"config":234},"Analytics & Insights",{"href":235,"dataGaLocation":118,"dataGaName":236},"/solutions/analytics-and-insights/","Analytics and insights",{"title":238,"items":239},"GitLab for",[240,245,250],{"text":241,"config":242},"Enterprise",{"href":243,"dataGaLocation":118,"dataGaName":244},"/enterprise/","enterprise",{"text":246,"config":247},"Small Business",{"href":248,"dataGaLocation":118,"dataGaName":249},"/small-business/","small business",{"text":251,"config":252},"Public Sector",{"href":253,"dataGaLocation":118,"dataGaName":254},"/solutions/public-sector/","public sector",{"text":256,"config":257},"Pricing",{"href":258,"dataGaName":259,"dataGaLocation":118,"dataNavLevelOne":259},"/pricing/","pricing",{"text":261,"config":262,"link":263,"lists":267,"feature":347},"Resources",{"dataNavLevelOne":73},{"text":264,"config":265},"View all resources",{"href":266,"dataGaName":73,"dataGaLocation":118},"/resources/",[268,301,319],{"title":269,"items":270},"Getting started",[271,276,281,286,291,296],{"text":272,"config":273},"Install",{"href":274,"dataGaName":275,"dataGaLocation":118},"/install/","install",{"text":277,"config":278},"Quick start guides",{"href":279,"dataGaName":280,"dataGaLocation":118},"/get-started/","quick setup checklists",{"text":282,"config":283},"Learn",{"href":284,"dataGaLocation":118,"dataGaName":285},"https://university.gitlab.com/","learn",{"text":287,"config":288},"Product documentation",{"href":289,"dataGaName":290,"dataGaLocation":118},"https://docs.gitlab.com/","product documentation",{"text":292,"config":293},"Best practice videos",{"href":294,"dataGaName":295,"dataGaLocation":118},"/getting-started-videos/","best practice videos",{"text":297,"config":298},"Integrations",{"href":299,"dataGaName":300,"dataGaLocation":118},"/integrations/","integrations",{"title":302,"items":303},"Discover",[304,309,314],{"text":305,"config":306},"Customer success stories",{"href":307,"dataGaName":308,"dataGaLocation":118},"/customers/","customer success stories",{"text":310,"config":311},"Blog",{"href":312,"dataGaName":313,"dataGaLocation":118},"/blog/","blog",{"text":315,"config":316},"Remote",{"href":317,"dataGaName":318,"dataGaLocation":118},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":320,"items":321},"Connect",[322,327,332,337,342],{"text":323,"config":324},"GitLab Services",{"href":325,"dataGaName":326,"dataGaLocation":118},"/services/","services",{"text":328,"config":329},"Community",{"href":330,"dataGaName":331,"dataGaLocation":118},"/community/","community",{"text":333,"config":334},"Forum",{"href":335,"dataGaName":336,"dataGaLocation":118},"https://forum.gitlab.com/","forum",{"text":338,"config":339},"Events",{"href":340,"dataGaName":341,"dataGaLocation":118},"/events/","events",{"text":343,"config":344},"Partners",{"href":345,"dataGaName":346,"dataGaLocation":118},"/partners/","partners",{"backgroundColor":348,"textColor":349,"text":350,"image":351,"link":355},"#2f2a6b","#fff","Insights for the future of software development",{"altText":352,"config":353},"the source promo card",{"src":354},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":356,"config":357},"Read the latest",{"href":358,"dataGaName":359,"dataGaLocation":118},"/the-source/","the source",{"text":361,"config":362,"lists":364},"Company",{"dataNavLevelOne":363},"company",[365],{"items":366},[367,372,378,380,385,390,395,400,405,410,415],{"text":368,"config":369},"About",{"href":370,"dataGaName":371,"dataGaLocation":118},"/company/","about",{"text":373,"config":374,"footerGa":377},"Jobs",{"href":375,"dataGaName":376,"dataGaLocation":118},"/jobs/","jobs",{"dataGaName":376},{"text":338,"config":379},{"href":340,"dataGaName":341,"dataGaLocation":118},{"text":381,"config":382},"Leadership",{"href":383,"dataGaName":384,"dataGaLocation":118},"/company/team/e-group/","leadership",{"text":386,"config":387},"Team",{"href":388,"dataGaName":389,"dataGaLocation":118},"/company/team/","team",{"text":391,"config":392},"Handbook",{"href":393,"dataGaName":394,"dataGaLocation":118},"https://handbook.gitlab.com/","handbook",{"text":396,"config":397},"Investor relations",{"href":398,"dataGaName":399,"dataGaLocation":118},"https://ir.gitlab.com/","investor relations",{"text":401,"config":402},"Trust Center",{"href":403,"dataGaName":404,"dataGaLocation":118},"/security/","trust center",{"text":406,"config":407},"AI Transparency Center",{"href":408,"dataGaName":409,"dataGaLocation":118},"/ai-transparency-center/","ai transparency center",{"text":411,"config":412},"Newsletter",{"href":413,"dataGaName":414,"dataGaLocation":118},"/company/contact/#contact-forms","newsletter",{"text":416,"config":417},"Press",{"href":418,"dataGaName":419,"dataGaLocation":118},"/press/","press",{"text":421,"config":422,"lists":423},"Contact us",{"dataNavLevelOne":363},[424],{"items":425},[426,429,434],{"text":125,"config":427},{"href":127,"dataGaName":428,"dataGaLocation":118},"talk to sales",{"text":430,"config":431},"Support portal",{"href":432,"dataGaName":433,"dataGaLocation":118},"https://support.gitlab.com","support portal",{"text":435,"config":436},"Customer portal",{"href":437,"dataGaName":438,"dataGaLocation":118},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":440,"login":441,"suggestions":448},"Close",{"text":442,"link":443},"To search repositories and projects, login to",{"text":444,"config":445},"gitlab.com",{"href":132,"dataGaName":446,"dataGaLocation":447},"search login","search",{"text":449,"default":450},"Suggestions",[451,453,457,459,463,467],{"text":147,"config":452},{"href":152,"dataGaName":147,"dataGaLocation":447},{"text":454,"config":455},"Code Suggestions (AI)",{"href":456,"dataGaName":454,"dataGaLocation":447},"/solutions/code-suggestions/",{"text":17,"config":458},{"href":181,"dataGaName":17,"dataGaLocation":447},{"text":460,"config":461},"GitLab on AWS",{"href":462,"dataGaName":460,"dataGaLocation":447},"/partners/technology-partners/aws/",{"text":464,"config":465},"GitLab on Google Cloud",{"href":466,"dataGaName":464,"dataGaLocation":447},"/partners/technology-partners/google-cloud-platform/",{"text":468,"config":469},"Why GitLab?",{"href":159,"dataGaName":468,"dataGaLocation":447},{"freeTrial":471,"mobileIcon":476,"desktopIcon":481,"secondaryButton":484},{"text":472,"config":473},"Start free trial",{"href":474,"dataGaName":123,"dataGaLocation":475},"https://gitlab.com/-/trials/new/","nav",{"altText":477,"config":478},"Gitlab Icon",{"src":479,"dataGaName":480,"dataGaLocation":475},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":477,"config":482},{"src":483,"dataGaName":480,"dataGaLocation":475},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":485,"config":486},"Get Started",{"href":487,"dataGaName":488,"dataGaLocation":475},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":490,"mobileIcon":495,"desktopIcon":497},{"text":491,"config":492},"Learn more about GitLab Duo",{"href":493,"dataGaName":494,"dataGaLocation":475},"/gitlab-duo/","gitlab duo",{"altText":477,"config":496},{"src":479,"dataGaName":480,"dataGaLocation":475},{"altText":477,"config":498},{"src":483,"dataGaName":480,"dataGaLocation":475},{"freeTrial":500,"mobileIcon":505,"desktopIcon":507},{"text":501,"config":502},"Back to pricing",{"href":258,"dataGaName":503,"dataGaLocation":475,"icon":504},"back to pricing","GoBack",{"altText":477,"config":506},{"src":479,"dataGaName":480,"dataGaLocation":475},{"altText":477,"config":508},{"src":483,"dataGaName":480,"dataGaLocation":475},{"title":510,"button":511,"config":516},"See how agentic AI transforms software delivery",{"text":512,"config":513},"Watch GitLab Transcend now",{"href":514,"dataGaName":515,"dataGaLocation":118},"/events/transcend/virtual/","transcend event",{"layout":517,"icon":518},"release","AiStar",{"data":520},{"text":521,"source":522,"edit":528,"contribute":533,"config":538,"items":543,"minimal":748},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":523,"config":524},"View page source",{"href":525,"dataGaName":526,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":529,"config":530},"Edit this page",{"href":531,"dataGaName":532,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":534,"config":535},"Please contribute",{"href":536,"dataGaName":537,"dataGaLocation":527},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":539,"facebook":540,"youtube":541,"linkedin":542},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[544,591,643,687,714],{"title":256,"links":545,"subMenu":560},[546,550,555],{"text":547,"config":548},"View plans",{"href":258,"dataGaName":549,"dataGaLocation":527},"view plans",{"text":551,"config":552},"Why Premium?",{"href":553,"dataGaName":554,"dataGaLocation":527},"/pricing/premium/","why premium",{"text":556,"config":557},"Why Ultimate?",{"href":558,"dataGaName":559,"dataGaLocation":527},"/pricing/ultimate/","why ultimate",[561],{"title":562,"links":563},"Contact Us",[564,567,569,571,576,581,586],{"text":565,"config":566},"Contact sales",{"href":127,"dataGaName":128,"dataGaLocation":527},{"text":430,"config":568},{"href":432,"dataGaName":433,"dataGaLocation":527},{"text":435,"config":570},{"href":437,"dataGaName":438,"dataGaLocation":527},{"text":572,"config":573},"Status",{"href":574,"dataGaName":575,"dataGaLocation":527},"https://status.gitlab.com/","status",{"text":577,"config":578},"Terms of use",{"href":579,"dataGaName":580,"dataGaLocation":527},"/terms/","terms of use",{"text":582,"config":583},"Privacy statement",{"href":584,"dataGaName":585,"dataGaLocation":527},"/privacy/","privacy statement",{"text":587,"config":588},"Cookie preferences",{"dataGaName":589,"dataGaLocation":527,"id":590,"isOneTrustButton":106},"cookie preferences","ot-sdk-btn",{"title":162,"links":592,"subMenu":601},[593,597],{"text":594,"config":595},"DevSecOps platform",{"href":145,"dataGaName":596,"dataGaLocation":527},"devsecops platform",{"text":598,"config":599},"AI-Assisted Development",{"href":493,"dataGaName":600,"dataGaLocation":527},"ai-assisted development",[602],{"title":13,"links":603},[604,608,613,618,623,628,633,638],{"text":605,"config":606},"CICD",{"href":19,"dataGaName":607,"dataGaLocation":527},"cicd",{"text":609,"config":610},"GitOps",{"href":611,"dataGaName":612,"dataGaLocation":527},"/topics/gitops/","gitops",{"text":614,"config":615},"DevOps",{"href":616,"dataGaName":617,"dataGaLocation":527},"/topics/devops/","devops",{"text":619,"config":620},"Version Control",{"href":621,"dataGaName":622,"dataGaLocation":527},"/topics/version-control/","version control",{"text":624,"config":625},"DevSecOps",{"href":626,"dataGaName":627,"dataGaLocation":527},"/topics/devsecops/","devsecops",{"text":629,"config":630},"Cloud Native",{"href":631,"dataGaName":632,"dataGaLocation":527},"/topics/cloud-native/","cloud native",{"text":634,"config":635},"AI for Coding",{"href":636,"dataGaName":637,"dataGaLocation":527},"/topics/devops/ai-for-coding/","ai for coding",{"text":639,"config":640},"Agentic AI",{"href":641,"dataGaName":642,"dataGaLocation":527},"/topics/agentic-ai/","agentic ai",{"title":644,"links":645},"Solutions",[646,648,650,655,659,662,666,669,671,674,677,682],{"text":203,"config":647},{"href":198,"dataGaName":203,"dataGaLocation":527},{"text":192,"config":649},{"href":176,"dataGaName":177,"dataGaLocation":527},{"text":651,"config":652},"Agile development",{"href":653,"dataGaName":654,"dataGaLocation":527},"/solutions/agile-delivery/","agile delivery",{"text":656,"config":657},"SCM",{"href":188,"dataGaName":658,"dataGaLocation":527},"source code management",{"text":605,"config":660},{"href":181,"dataGaName":661,"dataGaLocation":527},"continuous integration & delivery",{"text":663,"config":664},"Value stream management",{"href":231,"dataGaName":665,"dataGaLocation":527},"value stream management",{"text":609,"config":667},{"href":668,"dataGaName":612,"dataGaLocation":527},"/solutions/gitops/",{"text":241,"config":670},{"href":243,"dataGaName":244,"dataGaLocation":527},{"text":672,"config":673},"Small business",{"href":248,"dataGaName":249,"dataGaLocation":527},{"text":675,"config":676},"Public sector",{"href":253,"dataGaName":254,"dataGaLocation":527},{"text":678,"config":679},"Education",{"href":680,"dataGaName":681,"dataGaLocation":527},"/solutions/education/","education",{"text":683,"config":684},"Financial services",{"href":685,"dataGaName":686,"dataGaLocation":527},"/solutions/finance/","financial services",{"title":261,"links":688},[689,691,693,695,698,700,702,704,706,708,710,712],{"text":272,"config":690},{"href":274,"dataGaName":275,"dataGaLocation":527},{"text":277,"config":692},{"href":279,"dataGaName":280,"dataGaLocation":527},{"text":282,"config":694},{"href":284,"dataGaName":285,"dataGaLocation":527},{"text":287,"config":696},{"href":289,"dataGaName":697,"dataGaLocation":527},"docs",{"text":310,"config":699},{"href":312,"dataGaName":313,"dataGaLocation":527},{"text":305,"config":701},{"href":307,"dataGaName":308,"dataGaLocation":527},{"text":315,"config":703},{"href":317,"dataGaName":318,"dataGaLocation":527},{"text":323,"config":705},{"href":325,"dataGaName":326,"dataGaLocation":527},{"text":328,"config":707},{"href":330,"dataGaName":331,"dataGaLocation":527},{"text":333,"config":709},{"href":335,"dataGaName":336,"dataGaLocation":527},{"text":338,"config":711},{"href":340,"dataGaName":341,"dataGaLocation":527},{"text":343,"config":713},{"href":345,"dataGaName":346,"dataGaLocation":527},{"title":361,"links":715},[716,718,720,722,724,726,728,732,737,739,741,743],{"text":368,"config":717},{"href":370,"dataGaName":363,"dataGaLocation":527},{"text":373,"config":719},{"href":375,"dataGaName":376,"dataGaLocation":527},{"text":381,"config":721},{"href":383,"dataGaName":384,"dataGaLocation":527},{"text":386,"config":723},{"href":388,"dataGaName":389,"dataGaLocation":527},{"text":391,"config":725},{"href":393,"dataGaName":394,"dataGaLocation":527},{"text":396,"config":727},{"href":398,"dataGaName":399,"dataGaLocation":527},{"text":729,"config":730},"Sustainability",{"href":731,"dataGaName":729,"dataGaLocation":527},"/sustainability/",{"text":733,"config":734},"Diversity, inclusion and belonging (DIB)",{"href":735,"dataGaName":736,"dataGaLocation":527},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":401,"config":738},{"href":403,"dataGaName":404,"dataGaLocation":527},{"text":411,"config":740},{"href":413,"dataGaName":414,"dataGaLocation":527},{"text":416,"config":742},{"href":418,"dataGaName":419,"dataGaLocation":527},{"text":744,"config":745},"Modern Slavery Transparency Statement",{"href":746,"dataGaName":747,"dataGaLocation":527},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":749},[750,753,756],{"text":751,"config":752},"Terms",{"href":579,"dataGaName":580,"dataGaLocation":527},{"text":754,"config":755},"Cookies",{"dataGaName":589,"dataGaLocation":527,"id":590,"isOneTrustButton":106},{"text":757,"config":758},"Privacy",{"href":584,"dataGaName":585,"dataGaLocation":527},{"header":760,"blurb":761,"button":762,"secondaryButton":767},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":763,"config":764},"Get your free trial",{"href":765,"dataGaName":123,"dataGaLocation":766},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":565,"config":768},{"href":127,"dataGaName":128,"dataGaLocation":766},1772652115280]