[{"data":1,"prerenderedAt":858},["ShallowReactive",2],{"/blog/authors/darwin-sanoy":3,"navigation-en-us":22,"banner-en-us":450,"footer-en-us":461,"blog-author-posts-en-us-darwin-sanoy":706},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":15,"meta":16,"navigation":17,"path":18,"seo":19,"stem":20,"__hash__":21},"blogAuthors/en-us/blog/authors/darwin-sanoy.yml","Darwin Sanoy",null,{"template":8},"BlogAuthor",{"role":10,"name":5,"config":11},"Field Chief Cloud Architect",{"headshot":12,"linkedin":13,"ctfId":14},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659751/Blog/Author%20Headshots/Darwin-Sanoy-headshot-395-square-gitlab-teampage-avatar.png","https://linkedin.com/in/darwinsanoy","DarwinJS","yml",{},true,"/en-us/blog/authors/darwin-sanoy",{},"en-us/blog/authors/darwin-sanoy","UkMMwmU5o2e6Y-wBltA9E_z96LvHuB-bG6VW9DsLzIY",{"logo":23,"freeTrial":28,"sales":33,"login":38,"items":43,"search":370,"minimal":401,"duo":420,"switchNav":429,"pricingDeployment":440},{"config":24},{"href":25,"dataGaName":26,"dataGaLocation":27},"/","gitlab logo","header",{"text":29,"config":30},"Get free trial",{"href":31,"dataGaName":32,"dataGaLocation":27},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":34,"config":35},"Request a demo",{"href":36,"dataGaName":37,"dataGaLocation":27},"/sales/?contact-topic=request-demo","sales",{"text":39,"config":40},"Sign in",{"href":41,"dataGaName":42,"dataGaLocation":27},"https://gitlab.com/users/sign_in/","sign in",[44,73,173,178,292,348],{"text":45,"config":46,"menu":48},"Platform",{"dataNavLevelOne":47},"platform",{"type":49,"columns":50},"cards",[51,57,65],{"title":45,"description":52,"link":53},"The intelligent orchestration platform for DevSecOps",{"text":54,"config":55},"Explore our Platform",{"href":56,"dataGaName":47,"dataGaLocation":27},"/platform/",{"title":58,"description":59,"link":60},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":61,"config":62},"Meet GitLab Duo",{"href":63,"dataGaName":64,"dataGaLocation":27},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":66,"description":67,"link":68},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":69,"config":70},"Learn more",{"href":71,"dataGaName":72,"dataGaLocation":27},"/why-gitlab/","why gitlab",{"text":74,"left":17,"config":75,"menu":77},"Product",{"dataNavLevelOne":76},"solutions",{"type":78,"link":79,"columns":83,"feature":152},"lists",{"text":80,"config":81},"View all Solutions",{"href":82,"dataGaName":76,"dataGaLocation":27},"/solutions/",[84,108,131],{"title":85,"description":86,"link":87,"items":92},"Automation","CI/CD and automation to accelerate deployment",{"config":88},{"icon":89,"href":90,"dataGaName":91,"dataGaLocation":27},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[93,97,100,104],{"text":94,"config":95},"CI/CD",{"href":96,"dataGaLocation":27,"dataGaName":94},"/solutions/continuous-integration/",{"text":58,"config":98},{"href":63,"dataGaLocation":27,"dataGaName":99},"gitlab duo agent platform - product menu",{"text":101,"config":102},"Source Code Management",{"href":103,"dataGaLocation":27,"dataGaName":101},"/solutions/source-code-management/",{"text":105,"config":106},"Automated Software Delivery",{"href":90,"dataGaLocation":27,"dataGaName":107},"Automated software delivery",{"title":109,"description":110,"link":111,"items":116},"Security","Deliver code faster without compromising security",{"config":112},{"href":113,"dataGaName":114,"dataGaLocation":27,"icon":115},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[117,121,126],{"text":118,"config":119},"Application Security Testing",{"href":113,"dataGaName":120,"dataGaLocation":27},"Application security testing",{"text":122,"config":123},"Software Supply Chain Security",{"href":124,"dataGaLocation":27,"dataGaName":125},"/solutions/supply-chain/","Software supply chain security",{"text":127,"config":128},"Software Compliance",{"href":129,"dataGaName":130,"dataGaLocation":27},"/solutions/software-compliance/","software compliance",{"title":132,"link":133,"items":138},"Measurement",{"config":134},{"icon":135,"href":136,"dataGaName":137,"dataGaLocation":27},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[139,143,147],{"text":140,"config":141},"Visibility & Measurement",{"href":136,"dataGaLocation":27,"dataGaName":142},"Visibility and Measurement",{"text":144,"config":145},"Value Stream Management",{"href":146,"dataGaLocation":27,"dataGaName":144},"/solutions/value-stream-management/",{"text":148,"config":149},"Analytics & Insights",{"href":150,"dataGaLocation":27,"dataGaName":151},"/solutions/analytics-and-insights/","Analytics and insights",{"title":153,"type":78,"items":154},"GitLab for",[155,161,167],{"text":156,"config":157},"Enterprise",{"icon":158,"href":159,"dataGaLocation":27,"dataGaName":160},"Building","/enterprise/","enterprise",{"text":162,"config":163},"Small Business",{"icon":164,"href":165,"dataGaLocation":27,"dataGaName":166},"Work","/small-business/","small business",{"text":168,"config":169},"Public Sector",{"icon":170,"href":171,"dataGaLocation":27,"dataGaName":172},"Organization","/solutions/public-sector/","public sector",{"text":174,"config":175},"Pricing",{"href":176,"dataGaName":177,"dataGaLocation":27,"dataNavLevelOne":177},"/pricing/","pricing",{"text":179,"config":180,"menu":182},"Resources",{"dataNavLevelOne":181},"resources",{"type":78,"link":183,"columns":187,"feature":281},{"text":184,"config":185},"View all resources",{"href":186,"dataGaName":181,"dataGaLocation":27},"/resources/",[188,221,248],{"title":189,"items":190},"Getting started",[191,196,201,206,211,216],{"text":192,"config":193},"Install",{"href":194,"dataGaName":195,"dataGaLocation":27},"/install/","install",{"text":197,"config":198},"Quick start guides",{"href":199,"dataGaName":200,"dataGaLocation":27},"/get-started/","quick setup checklists",{"text":202,"config":203},"Learn",{"href":204,"dataGaLocation":27,"dataGaName":205},"https://university.gitlab.com/","learn",{"text":207,"config":208},"Product documentation",{"href":209,"dataGaName":210,"dataGaLocation":27},"https://docs.gitlab.com/","product documentation",{"text":212,"config":213},"Best practice videos",{"href":214,"dataGaName":215,"dataGaLocation":27},"/getting-started-videos/","best practice videos",{"text":217,"config":218},"Integrations",{"href":219,"dataGaName":220,"dataGaLocation":27},"/integrations/","integrations",{"title":222,"items":223},"Discover",[224,229,234,239,243],{"text":225,"config":226},"Customer success stories",{"href":227,"dataGaName":228,"dataGaLocation":27},"/customers/","customer success stories",{"text":230,"config":231},"Blog",{"href":232,"dataGaName":233,"dataGaLocation":27},"/blog/","blog",{"text":235,"config":236},"Demo Hub",{"href":237,"dataGaName":238,"dataGaLocation":27},"/demo-hub/","demo hub",{"text":240,"config":241},"The Source",{"href":242,"dataGaName":233,"dataGaLocation":27},"/the-source/",{"text":244,"config":245},"Remote",{"href":246,"dataGaName":247,"dataGaLocation":27},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":249,"items":250},"Connect",[251,256,261,266,271,276],{"text":252,"config":253},"GitLab Services",{"href":254,"dataGaName":255,"dataGaLocation":27},"/services/","services",{"text":257,"config":258},"Contribute",{"href":259,"dataGaName":260,"dataGaLocation":27},"https://contributors.gitlab.com","contribute",{"text":262,"config":263},"Community",{"href":264,"dataGaName":265,"dataGaLocation":27},"/community/","community",{"text":267,"config":268},"Forum",{"href":269,"dataGaName":270,"dataGaLocation":27},"https://forum.gitlab.com/","forum",{"text":272,"config":273},"Events",{"href":274,"dataGaName":275,"dataGaLocation":27},"/events/","events",{"text":277,"config":278},"Partners",{"href":279,"dataGaName":280,"dataGaLocation":27},"/partners/","partners",{"config":282,"title":285,"text":286,"link":287},{"background":283,"textColor":284},"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":288,"config":289},"Read the latest",{"href":290,"dataGaName":291,"dataGaLocation":27},"/whats-new/","whats new",{"text":293,"config":294,"menu":296},"Company",{"dataNavLevelOne":295},"company",{"type":78,"columns":297},[298],{"items":299},[300,305,311,313,318,323,328,333,338,343],{"text":301,"config":302},"About",{"href":303,"dataGaName":304,"dataGaLocation":27},"/company/","about",{"text":306,"config":307,"footerGa":310},"Jobs",{"href":308,"dataGaName":309,"dataGaLocation":27},"/jobs/","jobs",{"dataGaName":309},{"text":272,"config":312},{"href":274,"dataGaName":275,"dataGaLocation":27},{"text":314,"config":315},"Leadership",{"href":316,"dataGaName":317,"dataGaLocation":27},"/company/team/e-group/","leadership",{"text":319,"config":320},"Handbook",{"href":321,"dataGaName":322,"dataGaLocation":27},"https://handbook.gitlab.com/","handbook",{"text":324,"config":325},"Investor relations",{"href":326,"dataGaName":327,"dataGaLocation":27},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":329,"config":330},"Trust Center",{"href":331,"dataGaName":332,"dataGaLocation":27},"/security/","trust center",{"text":334,"config":335},"AI Transparency Center",{"href":336,"dataGaName":337,"dataGaLocation":27},"/ai-transparency-center/","ai transparency center",{"text":339,"config":340},"Newsletter",{"href":341,"dataGaName":342,"dataGaLocation":27},"/company/contact/#contact-forms","newsletter",{"text":344,"config":345},"Press",{"href":346,"dataGaName":347,"dataGaLocation":27},"/press/","press",{"text":349,"config":350,"menu":351},"Contact us",{"dataNavLevelOne":295},{"type":78,"columns":352},[353],{"items":354},[355,360,365],{"text":356,"config":357},"Talk to sales",{"href":358,"dataGaName":359,"dataGaLocation":27},"/sales/","talk to sales",{"text":361,"config":362},"Support portal",{"href":363,"dataGaName":364,"dataGaLocation":27},"https://support.gitlab.com/hc/en-us","support portal",{"text":366,"config":367},"Customer portal",{"href":368,"dataGaName":369,"dataGaLocation":27},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":371,"login":372,"suggestions":379},"Close",{"text":373,"link":374},"To search repositories and projects, login to",{"text":375,"config":376},"gitlab.com",{"href":41,"dataGaName":377,"dataGaLocation":378},"search login","search",{"text":380,"default":381},"Suggestions",[382,384,388,390,394,398],{"text":58,"config":383},{"href":63,"dataGaName":58,"dataGaLocation":378},{"text":385,"config":386},"Code Suggestions (AI)",{"href":387,"dataGaName":385,"dataGaLocation":378},"/solutions/code-suggestions/",{"text":94,"config":389},{"href":96,"dataGaName":94,"dataGaLocation":378},{"text":391,"config":392},"GitLab on AWS",{"href":393,"dataGaName":391,"dataGaLocation":378},"/partners/technology-partners/aws/",{"text":395,"config":396},"GitLab on Google Cloud",{"href":397,"dataGaName":395,"dataGaLocation":378},"/partners/technology-partners/google-cloud-platform/",{"text":399,"config":400},"Why GitLab?",{"href":71,"dataGaName":399,"dataGaLocation":378},{"freeTrial":402,"mobileIcon":407,"desktopIcon":412,"secondaryButton":415},{"text":403,"config":404},"Start free trial",{"href":405,"dataGaName":32,"dataGaLocation":406},"https://gitlab.com/-/trials/new/","nav",{"altText":408,"config":409},"Gitlab Icon",{"src":410,"dataGaName":411,"dataGaLocation":406},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":408,"config":413},{"src":414,"dataGaName":411,"dataGaLocation":406},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":416,"config":417},"Get Started",{"href":418,"dataGaName":419,"dataGaLocation":406},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":421,"mobileIcon":425,"desktopIcon":427},{"text":422,"config":423},"Learn more about GitLab Duo",{"href":63,"dataGaName":424,"dataGaLocation":406},"gitlab duo",{"altText":408,"config":426},{"src":410,"dataGaName":411,"dataGaLocation":406},{"altText":408,"config":428},{"src":414,"dataGaName":411,"dataGaLocation":406},{"button":430,"mobileIcon":435,"desktopIcon":437},{"text":431,"config":432},"/switch",{"href":433,"dataGaName":434,"dataGaLocation":406},"#contact","switch",{"altText":408,"config":436},{"src":410,"dataGaName":411,"dataGaLocation":406},{"altText":408,"config":438},{"src":439,"dataGaName":411,"dataGaLocation":406},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":441,"mobileIcon":446,"desktopIcon":448},{"text":442,"config":443},"Back to pricing",{"href":176,"dataGaName":444,"dataGaLocation":406,"icon":445},"back to pricing","GoBack",{"altText":408,"config":447},{"src":410,"dataGaName":411,"dataGaLocation":406},{"altText":408,"config":449},{"src":414,"dataGaName":411,"dataGaLocation":406},{"title":451,"titleMobile":452,"button":453,"config":458},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":69,"config":454},{"href":455,"dataGaName":456,"dataGaLocation":457},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":459,"disabled":460},"release",false,{"data":462},{"text":463,"source":464,"edit":470,"contribute":475,"config":480,"items":485,"minimal":695},"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,533,587,631,663],{"title":174,"links":487,"subMenu":502},[488,492,497],{"text":489,"config":490},"View plans",{"href":176,"dataGaName":491,"dataGaLocation":469},"view plans",{"text":493,"config":494},"Why Premium?",{"href":495,"dataGaName":496,"dataGaLocation":469},"/pricing/premium/","why premium",{"text":498,"config":499},"Why Ultimate?",{"href":500,"dataGaName":501,"dataGaLocation":469},"/pricing/ultimate/","why ultimate",[503],{"title":504,"links":505},"Contact Us",[506,509,511,513,518,523,528],{"text":507,"config":508},"Contact sales",{"href":358,"dataGaName":37,"dataGaLocation":469},{"text":361,"config":510},{"href":363,"dataGaName":364,"dataGaLocation":469},{"text":366,"config":512},{"href":368,"dataGaName":369,"dataGaLocation":469},{"text":514,"config":515},"Status",{"href":516,"dataGaName":517,"dataGaLocation":469},"https://status.gitlab.com/","status",{"text":519,"config":520},"Terms of use",{"href":521,"dataGaName":522,"dataGaLocation":469},"/terms/","terms of use",{"text":524,"config":525},"Privacy statement",{"href":526,"dataGaName":527,"dataGaLocation":469},"/privacy/","privacy statement",{"text":529,"config":530},"Cookie preferences",{"dataGaName":531,"dataGaLocation":469,"id":532,"isOneTrustButton":17},"cookie preferences","ot-sdk-btn",{"title":74,"links":534,"subMenu":543},[535,539],{"text":536,"config":537},"DevSecOps platform",{"href":56,"dataGaName":538,"dataGaLocation":469},"devsecops platform",{"text":540,"config":541},"AI-Assisted Development",{"href":63,"dataGaName":542,"dataGaLocation":469},"ai-assisted development",[544],{"title":545,"links":546},"Topics",[547,552,557,562,567,572,577,582],{"text":548,"config":549},"CICD",{"href":550,"dataGaName":551,"dataGaLocation":469},"/topics/ci-cd/","cicd",{"text":553,"config":554},"GitOps",{"href":555,"dataGaName":556,"dataGaLocation":469},"/topics/gitops/","gitops",{"text":558,"config":559},"DevOps",{"href":560,"dataGaName":561,"dataGaLocation":469},"/topics/devops/","devops",{"text":563,"config":564},"Version Control",{"href":565,"dataGaName":566,"dataGaLocation":469},"/topics/version-control/","version control",{"text":568,"config":569},"DevSecOps",{"href":570,"dataGaName":571,"dataGaLocation":469},"/topics/devsecops/","devsecops",{"text":573,"config":574},"Cloud Native",{"href":575,"dataGaName":576,"dataGaLocation":469},"/topics/cloud-native/","cloud native",{"text":578,"config":579},"AI for Coding",{"href":580,"dataGaName":581,"dataGaLocation":469},"/topics/devops/ai-for-coding/","ai for coding",{"text":583,"config":584},"Agentic AI",{"href":585,"dataGaName":586,"dataGaLocation":469},"/topics/agentic-ai/","agentic ai",{"title":588,"links":589},"Solutions",[590,592,594,599,603,606,610,613,615,618,621,626],{"text":118,"config":591},{"href":113,"dataGaName":118,"dataGaLocation":469},{"text":107,"config":593},{"href":90,"dataGaName":91,"dataGaLocation":469},{"text":595,"config":596},"Agile development",{"href":597,"dataGaName":598,"dataGaLocation":469},"/solutions/agile-delivery/","agile delivery",{"text":600,"config":601},"SCM",{"href":103,"dataGaName":602,"dataGaLocation":469},"source code management",{"text":548,"config":604},{"href":96,"dataGaName":605,"dataGaLocation":469},"continuous integration & delivery",{"text":607,"config":608},"Value stream management",{"href":146,"dataGaName":609,"dataGaLocation":469},"value stream management",{"text":553,"config":611},{"href":612,"dataGaName":556,"dataGaLocation":469},"/solutions/gitops/",{"text":156,"config":614},{"href":159,"dataGaName":160,"dataGaLocation":469},{"text":616,"config":617},"Small business",{"href":165,"dataGaName":166,"dataGaLocation":469},{"text":619,"config":620},"Public sector",{"href":171,"dataGaName":172,"dataGaLocation":469},{"text":622,"config":623},"Education",{"href":624,"dataGaName":625,"dataGaLocation":469},"/solutions/education/","education",{"text":627,"config":628},"Financial services",{"href":629,"dataGaName":630,"dataGaLocation":469},"/solutions/finance/","financial services",{"title":179,"links":632},[633,635,637,639,642,644,647,649,651,653,655,657,659,661],{"text":192,"config":634},{"href":194,"dataGaName":195,"dataGaLocation":469},{"text":197,"config":636},{"href":199,"dataGaName":200,"dataGaLocation":469},{"text":202,"config":638},{"href":204,"dataGaName":205,"dataGaLocation":469},{"text":207,"config":640},{"href":209,"dataGaName":641,"dataGaLocation":469},"docs",{"text":230,"config":643},{"href":232,"dataGaName":233,"dataGaLocation":469},{"text":645,"config":646},"What's new",{"href":290,"dataGaName":291,"dataGaLocation":469},{"text":225,"config":648},{"href":227,"dataGaName":228,"dataGaLocation":469},{"text":244,"config":650},{"href":246,"dataGaName":247,"dataGaLocation":469},{"text":252,"config":652},{"href":254,"dataGaName":255,"dataGaLocation":469},{"text":257,"config":654},{"href":259,"dataGaName":260,"dataGaLocation":469},{"text":262,"config":656},{"href":264,"dataGaName":265,"dataGaLocation":469},{"text":267,"config":658},{"href":269,"dataGaName":270,"dataGaLocation":469},{"text":272,"config":660},{"href":274,"dataGaName":275,"dataGaLocation":469},{"text":277,"config":662},{"href":279,"dataGaName":280,"dataGaLocation":469},{"title":293,"links":664},[665,667,669,671,673,675,679,684,686,688,690],{"text":301,"config":666},{"href":303,"dataGaName":295,"dataGaLocation":469},{"text":306,"config":668},{"href":308,"dataGaName":309,"dataGaLocation":469},{"text":314,"config":670},{"href":316,"dataGaName":317,"dataGaLocation":469},{"text":319,"config":672},{"href":321,"dataGaName":322,"dataGaLocation":469},{"text":324,"config":674},{"href":326,"dataGaName":327,"dataGaLocation":469},{"text":676,"config":677},"Sustainability",{"href":678,"dataGaName":676,"dataGaLocation":469},"/sustainability/",{"text":680,"config":681},"Diversity, inclusion and belonging (DIB)",{"href":682,"dataGaName":683,"dataGaLocation":469},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":329,"config":685},{"href":331,"dataGaName":332,"dataGaLocation":469},{"text":339,"config":687},{"href":341,"dataGaName":342,"dataGaLocation":469},{"text":344,"config":689},{"href":346,"dataGaName":347,"dataGaLocation":469},{"text":691,"config":692},"Modern Slavery Transparency Statement",{"href":693,"dataGaName":694,"dataGaLocation":469},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":696},[697,700,703],{"text":698,"config":699},"Terms",{"href":521,"dataGaName":522,"dataGaLocation":469},{"text":701,"config":702},"Cookies",{"dataGaName":531,"dataGaLocation":469,"id":532,"isOneTrustButton":17},{"text":704,"config":705},"Privacy",{"href":526,"dataGaName":527,"dataGaLocation":469},[707,716,725,732,739,749,757,764,771,778,785,792,800,807,814,821,828,835,843,850],{"title":708,"heroImage":709,"category":710,"description":711,"authors":712,"date":714,"slug":715,"externalUrl":6},"Automate embedded systems compliance with GitLab and CodeSonar","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659978/Blog/Hero%20Images/automation.png","product","Continuous compliance verification for ISO 26262, DO-178C, MISRA, and other code quality and functional safety standards.",[713,5],"Mark Hermeling","2025-12-02","automate-embedded-systems-compliance-with-gitlab-and-codesonar",{"title":717,"heroImage":718,"category":719,"description":720,"authors":721,"date":723,"slug":724,"externalUrl":6},"How GitLab transforms embedded systems testing cycles","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","engineering","Discover how managed lifecycle environments streamline and automate virtual testing, delivering rapid feedback without environment sprawl or cost overruns.",[722,5],"Matt DeLaney","2025-10-02","how-gitlab-transforms-embedded-systems-testing-cycles",{"title":726,"heroImage":727,"category":719,"description":728,"authors":729,"date":730,"slug":731,"externalUrl":6},"Supercharge your Git workflows","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098264/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_519147119_2RafH61mqosMZv8HGAlsUj_1750098264407.jpg","Optimize git clone operations in any environment — up to 93% reduction in clone times and 98% reduction in disk space usage — with the Git Much Faster script.",[5],"2025-09-10","supercharge-your-git-workflows",{"title":733,"heroImage":734,"category":710,"description":735,"authors":736,"date":737,"slug":738,"externalUrl":6},"4 ways to accelerate embedded development with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png","Learn how automated hardware testing, standard builds, collaborative workflows, and integrated compliance eliminate bottlenecks in firmware development.",[722,5],"2025-06-05","4-ways-to-accelerate-embedded-development-with-gitlab",{"title":740,"heroImage":741,"category":710,"description":742,"authors":743,"date":747,"slug":748,"externalUrl":6},"Ultimate guide to migrating from AWS CodeCommit to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097810/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2828%29_4mi0l4wzUa5VI4wtf8gInx_1750097810027.png","Learn how to migrate from AWS Services to GitLab and seamlessly integrate with the DevSecOps platform in this comprehensive tutorial.",[744,5,745,746],"Tsukasa Komatsubara","Samer Akkoub","Bart Zhang","2024-08-26","ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab",{"title":750,"heroImage":751,"category":752,"description":753,"authors":754,"date":755,"slug":756,"externalUrl":6},"A CI/CD component builder's journey","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663857/Blog/Hero%20Images/blog-image-template-1800x945__12_.png","open-source","Learn how a creator of shared, includable templates upskilled by migrating the templates to GitLab CI/CD components and the CI/CD Catalog.",[5],"2024-06-04","a-ci-component-builders-journey",{"title":758,"heroImage":759,"category":571,"description":760,"authors":761,"date":762,"slug":763,"externalUrl":6},"GitLab is now available as an AWS CodeStar Connections provider","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098884/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_397632156_3Ldy1urjMStQCl4qnOBvE0_1750098884409.jpg","AWS released native CodePipeline integration for GitLab projects and repos, helping to ensure a best-in-class experience when using GitLab and AWS together.",[5],"2024-01-11","gitlab-is-now-available-as-an-aws-codestar-connections-provider",{"title":765,"heroImage":766,"category":571,"description":767,"authors":768,"date":769,"slug":770,"externalUrl":6},"GitLab at AWS re:Invent 2023","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664472/Blog/Hero%20Images/gitlabflatlogomap.png","GitLab and AWS have streamlined development and security for DevSecOps teams. Learn how in lightning talks, sessions, live demos, and more.",[5],"2023-11-22","gitlab-at-aws-re-invent-2023",{"title":772,"heroImage":773,"category":571,"description":774,"authors":775,"date":776,"slug":777,"externalUrl":6},"GitLab achieves the AWS DevSecOps Partner Competency Specialty","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668799/Blog/Hero%20Images/securitylifecycle.png","The AWS DevSecOps Partner Competency Specialty demonstrates that GitLab is instrumental in helping customers implement better security while continuing to innovate.",[5],"2023-09-25","aws-devsecops-competency-partner",{"title":779,"heroImage":780,"category":719,"description":781,"authors":782,"date":783,"slug":784,"externalUrl":6},"Get started with GitLab EKS Fargate Runners in 1 hour and zero code, Iteration 1","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663373/Blog/Hero%20Images/jeremy-lapak-CVvFVQ_-oUg-700unsplash.jpg","This detailed tutorial answers the question of how to leverage Amazon's AWS Fargate container technology for GitLab Runners.",[5],"2023-05-24","eks-fargate-runner",{"title":786,"heroImage":787,"category":719,"description":788,"authors":789,"date":790,"slug":791,"externalUrl":6},"Lightning fast code counting for better code management intelligence","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682614/Blog/Hero%20Images/noaa-PkHsrwNOfBE-unsplash.jpg","Knowledge of your code composition can come through simple counting of lines of code per language.",[5],"2023-02-15","code-counting-in-gitlab",{"title":793,"heroImage":794,"category":795,"description":796,"authors":797,"date":798,"slug":799,"externalUrl":6},"Visualizing 11 years of GitLab contributions","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682555/Blog/Hero%20Images/gitlabeveryonecontributesdna.png","culture","Check out this animated video, which beautifully visualizes every contribution since our start.",[5],"2022-12-19","everyone-who-has-contributed",{"title":801,"heroImage":802,"category":719,"description":803,"authors":804,"date":805,"slug":806,"externalUrl":6},"How GitLab can eliminate the massive value stream friction of developer environment provisioning and cleanup","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682507/Blog/Hero%20Images/sandeep-singh-3KbACriapqQ-unsplash.jpg","It is important to have the complete picture of scaled effects in view when designing automation.",[5],"2022-11-17","environment-friction-cycle",{"title":808,"heroImage":809,"category":719,"description":810,"authors":811,"date":812,"slug":813,"externalUrl":6},"GitLab is now an Amazon Linux 2 Service Ready Partner","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682451/Blog/Hero%20Images/isis-franca-hsPFuudRg5I-unsplash.jpg","Being an Amazon Linux 2 Service Ready partner shows GitLab's strong commitment to AWS linux distributions.",[5],"2022-09-21","amazon-linux-2-service-ready-partner",{"title":815,"heroImage":816,"category":719,"description":817,"authors":818,"date":819,"slug":820,"externalUrl":6},"Virtual whiteboarding is a remote work super power","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682431/Blog/Hero%20Images/kvalifik-5Q07sS54D0Q-unsplash.jpg","Want to master a collective understanding of technical explanations remotely? Learn how to use virtual whiteboards to their maximum capabilities in this tutorial.",[5],"2022-09-01","whiteboarding-remote-work-superpower",{"title":822,"heroImage":823,"category":719,"description":803,"authors":824,"date":826,"slug":827,"externalUrl":6},"An SA story about hyperscaling GitLab Runner workloads using Kubernetes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669897/Blog/Hero%20Images/kaleidico-26MJGnCM0Wc-unsplash.jpg",[5,825],"Brian Wald","2022-06-29","a-story-of-runner-scaling",{"title":829,"heroImage":830,"category":719,"description":831,"authors":832,"date":833,"slug":834,"externalUrl":6},"When the pursuit of simplicity creates complexity in container-based CI pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","Simplicity always has a certain player in mind - learn how to avoid antipatterns by ensuring simplicity themes do not compromise your productivity by over-focusing on machine efficiencies.",[5],"2022-05-24","second-law-of-complexity-dynamics",{"title":836,"heroImage":837,"category":838,"description":839,"authors":840,"date":841,"slug":842,"externalUrl":6},"Amazon Linux 2 support and distro-specific packages for GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682299/Blog/Hero%20Images/gitlab-blog-banner.png","news","Learn how to do early testing as well as how to peg your automation to the EL 7 packages until you are able to properly integrate the changes into your automation.",[5],"2022-05-02","amazon-linux-2-support-and-distro-specific-packages",{"title":844,"heroImage":845,"category":719,"description":846,"authors":847,"date":848,"slug":849,"externalUrl":6},"How to provision Ready-To-Run GitLab for 50,000 users with the AWS Quick Start","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680619/Blog/Hero%20Images/construction-blueprint.jpg","If you have two hours, you can deploy a GitLab instance on EKS for any number of users. All it takes is about 14 clicks! Here's what you need to know.",[5],"2021-10-06","gitlab-cnh-for-50k-users",{"title":851,"heroImage":852,"category":719,"description":853,"authors":854,"date":856,"slug":857,"externalUrl":6},"How to provision 100 AWS Graviton GitLab Spot Runners in 10 Minutes for $2/hour","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669882/Blog/Hero%20Images/hundredgitlabspotrunner.png","Utilizing the GitLab HA Scaling Runner Vending Machine for AWS Automation to setup 100 GitLab runners on AWS Spot.",[5,855],"Nupur Sharma","2021-08-17","100-runners-in-less-than-10mins-and-less-than-10-clicks",1786803745486]