[{"data":1,"prerenderedAt":1002},["ShallowReactive",2],{"/blog/why-now-is-the-time-for-embedded-devsecops":3,"navigation-en-us":217,"banner-en-us":644,"footer-en-us":654,"blog-post-authors-en-us-Matt DeLaney":898,"blog-related-posts-en-us-why-now-is-the-time-for-embedded-devsecops":914,"blog-promotions-en-us":939,"next-steps-en-us":992},{"id":4,"title":5,"authors":6,"body":8,"category":197,"date":198,"description":199,"extension":200,"externalUrl":201,"faq":201,"featured":202,"heroImage":203,"meta":204,"navigation":205,"path":206,"seo":207,"slug":208,"stem":209,"tags":210,"template":215,"updatedDate":201,"__hash__":216},"blogPosts/en-us/blog/why-now-is-the-time-for-embedded-devsecops.md","Why now is the time for embedded DevSecOps",[7],"Matt DeLaney",{"type":9,"value":10,"toc":181},"minimark",[11,15,18,23,26,31,47,51,54,63,67,70,89,92,96,99,103,106,117,126,130,133,152,155,159,162,166,169],[12,13,14],"p",{},"For embedded systems teams, DevSecOps has traditionally seemed like an approach better suited to SaaS applications than firmware development. But this is changing. Software is now a primary differentiator in hardware products. New market expectations demand modern development practices. In response, organizations are pursuing \"embedded DevSecOps.\"",[12,16,17],{},"What is embedded DevSecOps? The application of collaborative engineering practices, integrated toolchains, and automation for building, testing, and securing software to embedded systems development. Embedded DevSecOps includes necessary adaptations for hardware integration.",[19,20,22],"h2",{"id":21},"convergence-of-market-forces","Convergence of market forces",[12,24,25],{},"Three powerful market forces are converging to compel embedded teams to modernize their development practices.",[27,28,30],"h3",{"id":29},"_1-the-software-defined-product-revolution","1. The software-defined product revolution",[12,32,33,34,40,41,46],{},"Products once defined primarily by their hardware are now differentiated by their software capabilities. The software-defined vehicle (SDV) market tells a compelling story in this regard. It's projected to grow from $213.5 billion in 2024 to ",[35,36,39],"a",{"href":37,"rel":38},"https://www.marketsandmarkets.com/Market-Reports/software-defined-vehicles-market-187205966.html",[],"$1.24 trillion"," by 2030, a massive 34% compound annual growth rate.\nThe software content in these products is growing considerably. By the end of 2025, the average vehicle is expected to contain ",[35,42,45],{"href":43,"rel":44},"https://www.statista.com/statistics/1370978/automotive-software-average-lines-of-codes-per-vehicle-globally/",[],"650 million lines of code",". Traditional embedded development approaches cannot handle this level of software complexity.",[27,48,50],{"id":49},"_2-hardware-virtualization-as-a-technical-enabler","2. Hardware virtualization as a technical enabler",[12,52,53],{},"Hardware virtualization is a key technical enabler of embedded DevSecOps. Virtual electronic control units (vECUs), cloud-based ARM CPUs, and sophisticated simulation environments are becoming more prevalent. Virtual hardware allows testing that once required physical hardware.",[12,55,56,57,62],{},"These virtualization technologies provide a foundation for continuous integration (",[35,58,61],{"href":59,"rel":60},"https://about.gitlab.com/topics/ci-cd/",[],"CI","). But their value is fully realized only when integrated into an automated workflow. Combined with collaborative development practices and automated pipelines, virtual testing helps teams detect issues much earlier, when fixes are far less expensive. Without embedded DevSecOps practices and tooling to orchestrate these virtual resources, organizations can't capitalize on the virtualization trend.",[27,64,66],{"id":65},"_3-the-competitive-and-economic-reality","3. The competitive and economic reality",[12,68,69],{},"Three interrelated forces are reshaping the competitive landscape for embedded development:",[71,72,73,77,86],"ul",{},[74,75,76],"li",{},"The talent war has shifted decisively. As an embedded systems leader at a GitLab customer explained, “No embedded engineers graduating from college today know legacy tools like Perforce. They know Git. These young engineers will work at a company for six months on legacy tools, then quit.” Companies using outdated tools may lose their engineering future.",[74,78,79,80,85],{},"This talent advantage translates into competitive superiority. Tech-forward companies that attract top engineers with modern practices achieve remarkable results. For example, in 2024, ",[35,81,84],{"href":82,"rel":83},"https://spacenews.com/spacex-launch-surge-helps-set-new-global-launch-record-in-2024/",[],"SpaceX"," performed more orbital launches than the rest of the world combined. Tech-forward companies excel at software development and embrace a modern development culture. This, among other things, creates efficiencies that legacy companies struggle to match.",[74,87,88],{},"The rising costs of embedded development — driven by long feedback cycles — create an urgent need for embedded DevSecOps. When developers have to wait weeks to test code on hardware test benches, productivity remains inherently low. Engineers lose context and must switch contexts when results arrive. The problem worsens when defects enter the picture. Bugs become more expensive to fix the later they're discovered. Long feedback cycles magnify this problem in embedded systems.",[12,90,91],{},"Organizations are adopting embedded DevSecOps to help combat these challenges.",[19,93,95],{"id":94},"priority-transformation-areas","Priority transformation areas",[12,97,98],{},"Based on these market forces, forward-thinking embedded systems leaders are implementing embedded DevSecOps in the following ways.",[27,100,102],{"id":101},"from-hardware-bottlenecks-to-continuous-testing","From hardware bottlenecks to continuous testing",[12,104,105],{},"Hardware-testing bottlenecks represent one of the most significant constraints in traditional embedded development. These delays create the unfavorable economics described earlier — when developers wait weeks for hardware access, defect costs spiral.\nAddressing this challenge requires a multifaceted approach including:",[71,107,108,111,114],{},[74,109,110],{},"Automating the orchestration of expensive shared hardware test benches among embedded developers",[74,112,113],{},"Integrating both SIL (Software-in-the-Loop) and HIL (Hardware-in-the-Loop) testing into automated CI pipelines",[74,115,116],{},"Standardizing builds with version-controlled environments",[12,118,119,120,125],{},"Embedded developers can accomplish this with GitLab's ",[35,121,124],{"href":122,"rel":123},"https://gitlab.com/gitlab-accelerates-embedded/comp/device-cloud",[],"On-Premises Device Cloud",", a CI/CD component. Through automating the orchestration of firmware tests on virtual and real hardware, teams are better positioned to reduce feedback cycles from weeks to hours. They also can catch more bugs early on in the software development lifecycle.",[27,127,129],{"id":128},"automating-compliance-and-security-governance","Automating compliance and security governance",[12,131,132],{},"Embedded systems face strict regulatory requirements. Manual compliance processes are unsustainable.\nLeading organizations are transforming how they comply with these requirements by:",[71,134,135,143,146,149],{},[74,136,137,138],{},"Replacing manual workflows with automated ",[35,139,142],{"href":140,"rel":141},"https://about.gitlab.com/blog/introducing-custom-compliance-frameworks-in-gitlab/",[],"compliance frameworks",[74,144,145],{},"Integrating specialized functional safety, security, and code quality tools into automated continuous integration pipelines",[74,147,148],{},"Automating approval workflows, enforcing code reviews, and maintaining audit trails",[74,150,151],{},"Configuring compliance frameworks for specific standards like ISO 26262 or DO-178C",[12,153,154],{},"This approach enables greater compliance maturity without additional headcount — turning what was once a burden into a competitive advantage. One leading electric vehicle (EV) manufacturer executes 120,000 CI/CD jobs per day with GitLab, many of which include compliance checks. And they can fix and deploy bug fixes to vehicles within an hour of discovery. This level of scale and speed would be extremely difficult without automated compliance workflows.",[27,156,158],{"id":157},"enabling-collaborative-innovation","Enabling collaborative innovation",[12,160,161],{},"Historically, for valid business and technical reasons, embedded developers have largely worked alone at their desks. Collaboration has been limited. Innovative organizations break down these barriers by enabling shared code visibility through integrated source control and CI/CD workflows. These modern practices attract and retain engineers while unlocking innovation that would remain hidden in isolated workflows.\nAs one director of DevOps at a tech-forward automotive manufacturer (a GitLab customer) explains: \"It's really critical for us to have a single pane of glass that we can look at and see the statuses. The developers, when they bring a merge request, are aware of the status of a given workflow in order to move as fast as possible.\" This transparency accelerates innovation, enabling automakers to rapidly iterate on software features that differentiate their vehicles in an increasingly competitive market.",[19,163,165],{"id":164},"the-window-of-opportunity","The window of opportunity",[12,167,168],{},"Embedded systems leaders have a clear window of opportunity to gain a competitive advantage through DevSecOps adoption. But the window won't stay open forever. Software continues to become the primary differentiator in embedded products, and the gap between leaders and laggards will only widen.\nOrganizations that successfully adopt DevSecOps will reduce costs, accelerate time-to-market, and unlock innovation that differentiates them in the market. The embedded systems leaders of tomorrow are the ones embracing DevSecOps today.",[170,171,172],"blockquote",{},[12,173,174,175,180],{},"While this article explored why now is the critical time for embedded teams to adopt DevSecOps, you may be wondering about the practical steps to get started. Learn how to put these concepts into action with our guide: ",[35,176,179],{"href":177,"rel":178},"https://about.gitlab.com/blog/4-ways-to-accelerate-embedded-development-with-gitlab/",[],"4 ways to accelerate embedded development with GitLab",".",{"title":182,"searchDepth":183,"depth":183,"links":184},"",2,[185,191,196],{"id":21,"depth":183,"text":22,"children":186},[187,189,190],{"id":29,"depth":188,"text":30},3,{"id":49,"depth":188,"text":50},{"id":65,"depth":188,"text":66},{"id":94,"depth":183,"text":95,"children":192},[193,194,195],{"id":101,"depth":188,"text":102},{"id":128,"depth":188,"text":129},{"id":157,"depth":188,"text":158},{"id":164,"depth":183,"text":165},"devsecops","2025-07-01","Learn how embedded development teams address long feedback cycles, manual compliance, and isolated development with DevSecOps.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659978/Blog/Hero%20Images/automation.png",{},true,"/en-us/blog/why-now-is-the-time-for-embedded-devsecops",{"noIndex":202,"title":5,"description":199},"why-now-is-the-time-for-embedded-devsecops","en-us/blog/why-now-is-the-time-for-embedded-devsecops",[211,212,213,214],"embedded DevOps","product","CI/CD","automotive","BlogPost","La2kIzawq7IlYtjJ_BHTLt7cuybaMtmFvblvW5a3Mkk",{"logo":218,"freeTrial":223,"sales":228,"login":233,"items":238,"search":564,"minimal":595,"duo":614,"switchNav":623,"pricingDeployment":634},{"config":219},{"href":220,"dataGaName":221,"dataGaLocation":222},"/","gitlab logo","header",{"text":224,"config":225},"Get free trial",{"href":226,"dataGaName":227,"dataGaLocation":222},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":229,"config":230},"Request a demo",{"href":231,"dataGaName":232,"dataGaLocation":222},"/sales/?contact-topic=request-demo","sales",{"text":234,"config":235},"Sign in",{"href":236,"dataGaName":237,"dataGaLocation":222},"https://gitlab.com/users/sign_in/","sign in",[239,268,367,372,486,542],{"text":240,"config":241,"menu":243},"Platform",{"dataNavLevelOne":242},"platform",{"type":244,"columns":245},"cards",[246,252,260],{"title":240,"description":247,"link":248},"The intelligent orchestration platform for DevSecOps",{"text":249,"config":250},"Explore our Platform",{"href":251,"dataGaName":242,"dataGaLocation":222},"/platform/",{"title":253,"description":254,"link":255},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":256,"config":257},"Meet GitLab Duo",{"href":258,"dataGaName":259,"dataGaLocation":222},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":261,"description":262,"link":263},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":264,"config":265},"Learn more",{"href":266,"dataGaName":267,"dataGaLocation":222},"/why-gitlab/","why gitlab",{"text":269,"left":205,"config":270,"menu":272},"Product",{"dataNavLevelOne":271},"solutions",{"type":273,"link":274,"columns":278,"feature":346},"lists",{"text":275,"config":276},"View all Solutions",{"href":277,"dataGaName":271,"dataGaLocation":222},"/solutions/",[279,302,325],{"title":280,"description":281,"link":282,"items":287},"Automation","CI/CD and automation to accelerate deployment",{"config":283},{"icon":284,"href":285,"dataGaName":286,"dataGaLocation":222},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[288,291,294,298],{"text":213,"config":289},{"href":290,"dataGaLocation":222,"dataGaName":213},"/solutions/continuous-integration/",{"text":253,"config":292},{"href":258,"dataGaLocation":222,"dataGaName":293},"gitlab duo agent platform - product menu",{"text":295,"config":296},"Source Code Management",{"href":297,"dataGaLocation":222,"dataGaName":295},"/solutions/source-code-management/",{"text":299,"config":300},"Automated Software Delivery",{"href":285,"dataGaLocation":222,"dataGaName":301},"Automated software delivery",{"title":303,"description":304,"link":305,"items":310},"Security","Deliver code faster without compromising security",{"config":306},{"href":307,"dataGaName":308,"dataGaLocation":222,"icon":309},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[311,315,320],{"text":312,"config":313},"Application Security Testing",{"href":307,"dataGaName":314,"dataGaLocation":222},"Application security testing",{"text":316,"config":317},"Software Supply Chain Security",{"href":318,"dataGaLocation":222,"dataGaName":319},"/solutions/supply-chain/","Software supply chain security",{"text":321,"config":322},"Software Compliance",{"href":323,"dataGaName":324,"dataGaLocation":222},"/solutions/software-compliance/","software compliance",{"title":326,"link":327,"items":332},"Measurement",{"config":328},{"icon":329,"href":330,"dataGaName":331,"dataGaLocation":222},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[333,337,341],{"text":334,"config":335},"Visibility & Measurement",{"href":330,"dataGaLocation":222,"dataGaName":336},"Visibility and Measurement",{"text":338,"config":339},"Value Stream Management",{"href":340,"dataGaLocation":222,"dataGaName":338},"/solutions/value-stream-management/",{"text":342,"config":343},"Analytics & Insights",{"href":344,"dataGaLocation":222,"dataGaName":345},"/solutions/analytics-and-insights/","Analytics and insights",{"title":347,"type":273,"items":348},"GitLab for",[349,355,361],{"text":350,"config":351},"Enterprise",{"icon":352,"href":353,"dataGaLocation":222,"dataGaName":354},"Building","/enterprise/","enterprise",{"text":356,"config":357},"Small Business",{"icon":358,"href":359,"dataGaLocation":222,"dataGaName":360},"Work","/small-business/","small business",{"text":362,"config":363},"Public Sector",{"icon":364,"href":365,"dataGaLocation":222,"dataGaName":366},"Organization","/solutions/public-sector/","public sector",{"text":368,"config":369},"Pricing",{"href":370,"dataGaName":371,"dataGaLocation":222,"dataNavLevelOne":371},"/pricing/","pricing",{"text":373,"config":374,"menu":376},"Resources",{"dataNavLevelOne":375},"resources",{"type":273,"link":377,"columns":381,"feature":475},{"text":378,"config":379},"View all resources",{"href":380,"dataGaName":375,"dataGaLocation":222},"/resources/",[382,415,442],{"title":383,"items":384},"Getting started",[385,390,395,400,405,410],{"text":386,"config":387},"Install",{"href":388,"dataGaName":389,"dataGaLocation":222},"/install/","install",{"text":391,"config":392},"Quick start guides",{"href":393,"dataGaName":394,"dataGaLocation":222},"/get-started/","quick setup checklists",{"text":396,"config":397},"Learn",{"href":398,"dataGaLocation":222,"dataGaName":399},"https://university.gitlab.com/","learn",{"text":401,"config":402},"Product documentation",{"href":403,"dataGaName":404,"dataGaLocation":222},"https://docs.gitlab.com/","product documentation",{"text":406,"config":407},"Best practice videos",{"href":408,"dataGaName":409,"dataGaLocation":222},"/getting-started-videos/","best practice videos",{"text":411,"config":412},"Integrations",{"href":413,"dataGaName":414,"dataGaLocation":222},"/integrations/","integrations",{"title":416,"items":417},"Discover",[418,423,428,433,437],{"text":419,"config":420},"Customer success stories",{"href":421,"dataGaName":422,"dataGaLocation":222},"/customers/","customer success stories",{"text":424,"config":425},"Blog",{"href":426,"dataGaName":427,"dataGaLocation":222},"/blog/","blog",{"text":429,"config":430},"Demo Hub",{"href":431,"dataGaName":432,"dataGaLocation":222},"/demo-hub/","demo hub",{"text":434,"config":435},"The Source",{"href":436,"dataGaName":427,"dataGaLocation":222},"/the-source/",{"text":438,"config":439},"Remote",{"href":440,"dataGaName":441,"dataGaLocation":222},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":443,"items":444},"Connect",[445,450,455,460,465,470],{"text":446,"config":447},"GitLab Services",{"href":448,"dataGaName":449,"dataGaLocation":222},"/services/","services",{"text":451,"config":452},"Contribute",{"href":453,"dataGaName":454,"dataGaLocation":222},"https://contributors.gitlab.com","contribute",{"text":456,"config":457},"Community",{"href":458,"dataGaName":459,"dataGaLocation":222},"/community/","community",{"text":461,"config":462},"Forum",{"href":463,"dataGaName":464,"dataGaLocation":222},"https://forum.gitlab.com/","forum",{"text":466,"config":467},"Events",{"href":468,"dataGaName":469,"dataGaLocation":222},"/events/","events",{"text":471,"config":472},"Partners",{"href":473,"dataGaName":474,"dataGaLocation":222},"/partners/","partners",{"config":476,"title":479,"text":480,"link":481},{"background":477,"textColor":478},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":482,"config":483},"Read the latest",{"href":484,"dataGaName":485,"dataGaLocation":222},"/whats-new/","whats new",{"text":487,"config":488,"menu":490},"Company",{"dataNavLevelOne":489},"company",{"type":273,"columns":491},[492],{"items":493},[494,499,505,507,512,517,522,527,532,537],{"text":495,"config":496},"About",{"href":497,"dataGaName":498,"dataGaLocation":222},"/company/","about",{"text":500,"config":501,"footerGa":504},"Jobs",{"href":502,"dataGaName":503,"dataGaLocation":222},"/jobs/","jobs",{"dataGaName":503},{"text":466,"config":506},{"href":468,"dataGaName":469,"dataGaLocation":222},{"text":508,"config":509},"Leadership",{"href":510,"dataGaName":511,"dataGaLocation":222},"/company/team/e-group/","leadership",{"text":513,"config":514},"Handbook",{"href":515,"dataGaName":516,"dataGaLocation":222},"https://handbook.gitlab.com/","handbook",{"text":518,"config":519},"Investor relations",{"href":520,"dataGaName":521,"dataGaLocation":222},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":523,"config":524},"Trust Center",{"href":525,"dataGaName":526,"dataGaLocation":222},"/security/","trust center",{"text":528,"config":529},"AI Transparency Center",{"href":530,"dataGaName":531,"dataGaLocation":222},"/ai-transparency-center/","ai transparency center",{"text":533,"config":534},"Newsletter",{"href":535,"dataGaName":536,"dataGaLocation":222},"/company/contact/#contact-forms","newsletter",{"text":538,"config":539},"Press",{"href":540,"dataGaName":541,"dataGaLocation":222},"/press/","press",{"text":543,"config":544,"menu":545},"Contact us",{"dataNavLevelOne":489},{"type":273,"columns":546},[547],{"items":548},[549,554,559],{"text":550,"config":551},"Talk to sales",{"href":552,"dataGaName":553,"dataGaLocation":222},"/sales/","talk to sales",{"text":555,"config":556},"Support portal",{"href":557,"dataGaName":558,"dataGaLocation":222},"https://support.gitlab.com/hc/en-us","support portal",{"text":560,"config":561},"Customer portal",{"href":562,"dataGaName":563,"dataGaLocation":222},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":565,"login":566,"suggestions":573},"Close",{"text":567,"link":568},"To search repositories and projects, login to",{"text":569,"config":570},"gitlab.com",{"href":236,"dataGaName":571,"dataGaLocation":572},"search login","search",{"text":574,"default":575},"Suggestions",[576,578,582,584,588,592],{"text":253,"config":577},{"href":258,"dataGaName":253,"dataGaLocation":572},{"text":579,"config":580},"Code Suggestions (AI)",{"href":581,"dataGaName":579,"dataGaLocation":572},"/solutions/code-suggestions/",{"text":213,"config":583},{"href":290,"dataGaName":213,"dataGaLocation":572},{"text":585,"config":586},"GitLab on AWS",{"href":587,"dataGaName":585,"dataGaLocation":572},"/partners/technology-partners/aws/",{"text":589,"config":590},"GitLab on Google Cloud",{"href":591,"dataGaName":589,"dataGaLocation":572},"/partners/technology-partners/google-cloud-platform/",{"text":593,"config":594},"Why GitLab?",{"href":266,"dataGaName":593,"dataGaLocation":572},{"freeTrial":596,"mobileIcon":601,"desktopIcon":606,"secondaryButton":609},{"text":597,"config":598},"Start free trial",{"href":599,"dataGaName":227,"dataGaLocation":600},"https://gitlab.com/-/trials/new/","nav",{"altText":602,"config":603},"Gitlab Icon",{"src":604,"dataGaName":605,"dataGaLocation":600},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":602,"config":607},{"src":608,"dataGaName":605,"dataGaLocation":600},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":610,"config":611},"Get Started",{"href":612,"dataGaName":613,"dataGaLocation":600},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":615,"mobileIcon":619,"desktopIcon":621},{"text":616,"config":617},"Learn more about GitLab Duo",{"href":258,"dataGaName":618,"dataGaLocation":600},"gitlab duo",{"altText":602,"config":620},{"src":604,"dataGaName":605,"dataGaLocation":600},{"altText":602,"config":622},{"src":608,"dataGaName":605,"dataGaLocation":600},{"button":624,"mobileIcon":629,"desktopIcon":631},{"text":625,"config":626},"/switch",{"href":627,"dataGaName":628,"dataGaLocation":600},"#contact","switch",{"altText":602,"config":630},{"src":604,"dataGaName":605,"dataGaLocation":600},{"altText":602,"config":632},{"src":633,"dataGaName":605,"dataGaLocation":600},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":635,"mobileIcon":640,"desktopIcon":642},{"text":636,"config":637},"Back to pricing",{"href":370,"dataGaName":638,"dataGaLocation":600,"icon":639},"back to pricing","GoBack",{"altText":602,"config":641},{"src":604,"dataGaName":605,"dataGaLocation":600},{"altText":602,"config":643},{"src":608,"dataGaName":605,"dataGaLocation":600},{"title":645,"titleMobile":646,"button":647,"config":652},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":264,"config":648},{"href":649,"dataGaName":650,"dataGaLocation":651},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":653,"disabled":202},"release",{"data":655},{"text":656,"source":657,"edit":663,"contribute":668,"config":673,"items":678,"minimal":887},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":658,"config":659},"View page source",{"href":660,"dataGaName":661,"dataGaLocation":662},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":664,"config":665},"Edit this page",{"href":666,"dataGaName":667,"dataGaLocation":662},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":669,"config":670},"Please contribute",{"href":671,"dataGaName":672,"dataGaLocation":662},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":674,"facebook":675,"youtube":676,"linkedin":677},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[679,726,779,823,855],{"title":368,"links":680,"subMenu":695},[681,685,690],{"text":682,"config":683},"View plans",{"href":370,"dataGaName":684,"dataGaLocation":662},"view plans",{"text":686,"config":687},"Why Premium?",{"href":688,"dataGaName":689,"dataGaLocation":662},"/pricing/premium/","why premium",{"text":691,"config":692},"Why Ultimate?",{"href":693,"dataGaName":694,"dataGaLocation":662},"/pricing/ultimate/","why ultimate",[696],{"title":697,"links":698},"Contact Us",[699,702,704,706,711,716,721],{"text":700,"config":701},"Contact sales",{"href":552,"dataGaName":232,"dataGaLocation":662},{"text":555,"config":703},{"href":557,"dataGaName":558,"dataGaLocation":662},{"text":560,"config":705},{"href":562,"dataGaName":563,"dataGaLocation":662},{"text":707,"config":708},"Status",{"href":709,"dataGaName":710,"dataGaLocation":662},"https://status.gitlab.com/","status",{"text":712,"config":713},"Terms of use",{"href":714,"dataGaName":715,"dataGaLocation":662},"/terms/","terms of use",{"text":717,"config":718},"Privacy statement",{"href":719,"dataGaName":720,"dataGaLocation":662},"/privacy/","privacy statement",{"text":722,"config":723},"Cookie preferences",{"dataGaName":724,"dataGaLocation":662,"id":725,"isOneTrustButton":205},"cookie preferences","ot-sdk-btn",{"title":269,"links":727,"subMenu":736},[728,732],{"text":729,"config":730},"DevSecOps platform",{"href":251,"dataGaName":731,"dataGaLocation":662},"devsecops platform",{"text":733,"config":734},"AI-Assisted Development",{"href":258,"dataGaName":735,"dataGaLocation":662},"ai-assisted development",[737],{"title":738,"links":739},"Topics",[740,745,750,755,760,764,769,774],{"text":741,"config":742},"CICD",{"href":743,"dataGaName":744,"dataGaLocation":662},"/topics/ci-cd/","cicd",{"text":746,"config":747},"GitOps",{"href":748,"dataGaName":749,"dataGaLocation":662},"/topics/gitops/","gitops",{"text":751,"config":752},"DevOps",{"href":753,"dataGaName":754,"dataGaLocation":662},"/topics/devops/","devops",{"text":756,"config":757},"Version Control",{"href":758,"dataGaName":759,"dataGaLocation":662},"/topics/version-control/","version control",{"text":761,"config":762},"DevSecOps",{"href":763,"dataGaName":197,"dataGaLocation":662},"/topics/devsecops/",{"text":765,"config":766},"Cloud Native",{"href":767,"dataGaName":768,"dataGaLocation":662},"/topics/cloud-native/","cloud native",{"text":770,"config":771},"AI for Coding",{"href":772,"dataGaName":773,"dataGaLocation":662},"/topics/devops/ai-for-coding/","ai for coding",{"text":775,"config":776},"Agentic AI",{"href":777,"dataGaName":778,"dataGaLocation":662},"/topics/agentic-ai/","agentic ai",{"title":780,"links":781},"Solutions",[782,784,786,791,795,798,802,805,807,810,813,818],{"text":312,"config":783},{"href":307,"dataGaName":312,"dataGaLocation":662},{"text":301,"config":785},{"href":285,"dataGaName":286,"dataGaLocation":662},{"text":787,"config":788},"Agile development",{"href":789,"dataGaName":790,"dataGaLocation":662},"/solutions/agile-delivery/","agile delivery",{"text":792,"config":793},"SCM",{"href":297,"dataGaName":794,"dataGaLocation":662},"source code management",{"text":741,"config":796},{"href":290,"dataGaName":797,"dataGaLocation":662},"continuous integration & delivery",{"text":799,"config":800},"Value stream management",{"href":340,"dataGaName":801,"dataGaLocation":662},"value stream management",{"text":746,"config":803},{"href":804,"dataGaName":749,"dataGaLocation":662},"/solutions/gitops/",{"text":350,"config":806},{"href":353,"dataGaName":354,"dataGaLocation":662},{"text":808,"config":809},"Small business",{"href":359,"dataGaName":360,"dataGaLocation":662},{"text":811,"config":812},"Public sector",{"href":365,"dataGaName":366,"dataGaLocation":662},{"text":814,"config":815},"Education",{"href":816,"dataGaName":817,"dataGaLocation":662},"/solutions/education/","education",{"text":819,"config":820},"Financial services",{"href":821,"dataGaName":822,"dataGaLocation":662},"/solutions/finance/","financial services",{"title":373,"links":824},[825,827,829,831,834,836,839,841,843,845,847,849,851,853],{"text":386,"config":826},{"href":388,"dataGaName":389,"dataGaLocation":662},{"text":391,"config":828},{"href":393,"dataGaName":394,"dataGaLocation":662},{"text":396,"config":830},{"href":398,"dataGaName":399,"dataGaLocation":662},{"text":401,"config":832},{"href":403,"dataGaName":833,"dataGaLocation":662},"docs",{"text":424,"config":835},{"href":426,"dataGaName":427,"dataGaLocation":662},{"text":837,"config":838},"What's new",{"href":484,"dataGaName":485,"dataGaLocation":662},{"text":419,"config":840},{"href":421,"dataGaName":422,"dataGaLocation":662},{"text":438,"config":842},{"href":440,"dataGaName":441,"dataGaLocation":662},{"text":446,"config":844},{"href":448,"dataGaName":449,"dataGaLocation":662},{"text":451,"config":846},{"href":453,"dataGaName":454,"dataGaLocation":662},{"text":456,"config":848},{"href":458,"dataGaName":459,"dataGaLocation":662},{"text":461,"config":850},{"href":463,"dataGaName":464,"dataGaLocation":662},{"text":466,"config":852},{"href":468,"dataGaName":469,"dataGaLocation":662},{"text":471,"config":854},{"href":473,"dataGaName":474,"dataGaLocation":662},{"title":487,"links":856},[857,859,861,863,865,867,871,876,878,880,882],{"text":495,"config":858},{"href":497,"dataGaName":489,"dataGaLocation":662},{"text":500,"config":860},{"href":502,"dataGaName":503,"dataGaLocation":662},{"text":508,"config":862},{"href":510,"dataGaName":511,"dataGaLocation":662},{"text":513,"config":864},{"href":515,"dataGaName":516,"dataGaLocation":662},{"text":518,"config":866},{"href":520,"dataGaName":521,"dataGaLocation":662},{"text":868,"config":869},"Sustainability",{"href":870,"dataGaName":868,"dataGaLocation":662},"/sustainability/",{"text":872,"config":873},"Diversity, inclusion and belonging (DIB)",{"href":874,"dataGaName":875,"dataGaLocation":662},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":523,"config":877},{"href":525,"dataGaName":526,"dataGaLocation":662},{"text":533,"config":879},{"href":535,"dataGaName":536,"dataGaLocation":662},{"text":538,"config":881},{"href":540,"dataGaName":541,"dataGaLocation":662},{"text":883,"config":884},"Modern Slavery Transparency Statement",{"href":885,"dataGaName":886,"dataGaLocation":662},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":888},[889,892,895],{"text":890,"config":891},"Terms",{"href":714,"dataGaName":715,"dataGaLocation":662},{"text":893,"config":894},"Cookies",{"dataGaName":724,"dataGaLocation":662,"id":725,"isOneTrustButton":205},{"text":896,"config":897},"Privacy",{"href":719,"dataGaName":720,"dataGaLocation":662},[899],{"id":900,"title":901,"body":201,"config":902,"content":904,"description":201,"extension":908,"meta":909,"navigation":205,"path":910,"seo":911,"stem":912,"__hash__":913},"blogAuthors/en-us/blog/authors/matt-delaney.yml","Matt Delaney",{"template":903},"BlogAuthor",{"name":7,"config":905},{"headshot":906,"ctfId":907},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659749/Blog/Author%20Headshots/matt_delaney_headshot.png","6apeWdrqrZlMIdaxzV5NvZ","yml",{},"/en-us/blog/authors/matt-delaney",{},"en-us/blog/authors/matt-delaney","b9xB1BL3BNCvt-L4rxruJhCY6gCxTN4uuajDY6T9djU",[915,923,931],{"title":916,"description":917,"heroImage":918,"category":197,"date":919,"authors":920,"slug":922,"externalUrl":201},"Consolidate your GitLab stack with Gitaly on Kubernetes","Discover how to install Gitaly on Kubernetes, which is now generally available.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png","2026-05-07",[921],"Olivier Campeau","gitaly-on-kubernetes-generally-available",{"title":924,"description":925,"heroImage":926,"category":197,"date":927,"authors":928,"slug":930,"externalUrl":201},"Teaching software development the easy way using GitLab","Learn how University of Washington lecturer Stephen G. Dame uses GitLab for Education to manage student assignments, distribute course materials, and provide inline code feedback at scale.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png","2026-04-29",[929],"Rod Burns","teaching-software-development-the-easy-way-using-gitlab",{"title":932,"description":933,"heroImage":934,"category":197,"date":935,"authors":936,"slug":938,"externalUrl":201},"AI is reshaping DevSecOps: Attend GitLab Transcend to see what’s next","AI-generated code is 34% of development work. Discover how to balance productivity gains with quality, reliability, and security.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1767982271/e9ogyosmuummq7j65zqg.png","2026-01-08",[937],"Manav Khurana","ai-is-reshaping-devsecops-attend-gitlab-transcend-to-see-whats-next",{"promotions":940},[941,955,966,978],{"id":942,"categories":943,"header":945,"text":946,"button":947,"image":952},"ai-modernization",[944],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":948,"config":949},"Get your AI maturity score",{"href":950,"dataGaName":951,"dataGaLocation":427},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":953},{"src":954},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":956,"categories":957,"header":958,"text":946,"button":959,"image":963},"devops-modernization",[212,197],"Are you just managing tools or shipping innovation?",{"text":960,"config":961},"Get your DevOps maturity score",{"href":962,"dataGaName":951,"dataGaLocation":427},"/assessments/devops-modernization-assessment/",{"config":964},{"src":965},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":967,"categories":968,"header":970,"text":946,"button":971,"image":975},"security-modernization",[969],"security","Are you trading speed for security?",{"text":972,"config":973},"Get your security maturity score",{"href":974,"dataGaName":951,"dataGaLocation":427},"/assessments/security-modernization-assessment/",{"config":976},{"src":977},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":979,"paths":980,"header":983,"text":984,"button":985,"image":990},"github-azure-migration",[981,982],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":986,"config":987},"See how GitLab compares to GitHub",{"href":988,"dataGaName":989,"dataGaLocation":427},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":991},{"src":965},{"header":993,"blurb":994,"button":995,"secondaryButton":1000},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":996,"config":997},"Get your free trial",{"href":998,"dataGaName":227,"dataGaLocation":999},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":700,"config":1001},{"href":552,"dataGaName":232,"dataGaLocation":999},1786803776985]