[{"data":1,"prerenderedAt":976},["ShallowReactive",2],{"/blog/authors/chrissie-buchanan":3,"navigation-en-us":20,"banner-en-us":448,"footer-en-us":459,"blog-author-posts-en-us-chrissie-buchanan":704},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":13,"meta":14,"navigation":15,"path":16,"seo":17,"stem":18,"__hash__":19},"blogAuthors/en-us/blog/authors/chrissie-buchanan.yml","Chrissie Buchanan",null,{"template":8},"BlogAuthor",{"name":5,"config":10},{"headshot":11,"ctfId":12},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","cbuchanan","yml",{},true,"/en-us/blog/authors/chrissie-buchanan",{},"en-us/blog/authors/chrissie-buchanan","VUaqNs-WRatnVN614U2QKvMKVSh6PynpH3T0SHM4ayU",{"logo":21,"freeTrial":26,"sales":31,"login":36,"items":41,"search":368,"minimal":399,"duo":418,"switchNav":427,"pricingDeployment":438},{"config":22},{"href":23,"dataGaName":24,"dataGaLocation":25},"/","gitlab logo","header",{"text":27,"config":28},"Get free trial",{"href":29,"dataGaName":30,"dataGaLocation":25},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":32,"config":33},"Request a demo",{"href":34,"dataGaName":35,"dataGaLocation":25},"/sales/?contact-topic=request-demo","sales",{"text":37,"config":38},"Sign in",{"href":39,"dataGaName":40,"dataGaLocation":25},"https://gitlab.com/users/sign_in/","sign in",[42,71,171,176,290,346],{"text":43,"config":44,"menu":46},"Platform",{"dataNavLevelOne":45},"platform",{"type":47,"columns":48},"cards",[49,55,63],{"title":43,"description":50,"link":51},"The intelligent orchestration platform for DevSecOps",{"text":52,"config":53},"Explore our Platform",{"href":54,"dataGaName":45,"dataGaLocation":25},"/platform/",{"title":56,"description":57,"link":58},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":59,"config":60},"Meet GitLab Duo",{"href":61,"dataGaName":62,"dataGaLocation":25},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":64,"description":65,"link":66},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":67,"config":68},"Learn more",{"href":69,"dataGaName":70,"dataGaLocation":25},"/why-gitlab/","why gitlab",{"text":72,"left":15,"config":73,"menu":75},"Product",{"dataNavLevelOne":74},"solutions",{"type":76,"link":77,"columns":81,"feature":150},"lists",{"text":78,"config":79},"View all Solutions",{"href":80,"dataGaName":74,"dataGaLocation":25},"/solutions/",[82,106,129],{"title":83,"description":84,"link":85,"items":90},"Automation","CI/CD and automation to accelerate deployment",{"config":86},{"icon":87,"href":88,"dataGaName":89,"dataGaLocation":25},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[91,95,98,102],{"text":92,"config":93},"CI/CD",{"href":94,"dataGaLocation":25,"dataGaName":92},"/solutions/continuous-integration/",{"text":56,"config":96},{"href":61,"dataGaLocation":25,"dataGaName":97},"gitlab duo agent platform - product menu",{"text":99,"config":100},"Source Code Management",{"href":101,"dataGaLocation":25,"dataGaName":99},"/solutions/source-code-management/",{"text":103,"config":104},"Automated Software Delivery",{"href":88,"dataGaLocation":25,"dataGaName":105},"Automated software delivery",{"title":107,"description":108,"link":109,"items":114},"Security","Deliver code faster without compromising security",{"config":110},{"href":111,"dataGaName":112,"dataGaLocation":25,"icon":113},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[115,119,124],{"text":116,"config":117},"Application Security Testing",{"href":111,"dataGaName":118,"dataGaLocation":25},"Application security testing",{"text":120,"config":121},"Software Supply Chain Security",{"href":122,"dataGaLocation":25,"dataGaName":123},"/solutions/supply-chain/","Software supply chain security",{"text":125,"config":126},"Software Compliance",{"href":127,"dataGaName":128,"dataGaLocation":25},"/solutions/software-compliance/","software compliance",{"title":130,"link":131,"items":136},"Measurement",{"config":132},{"icon":133,"href":134,"dataGaName":135,"dataGaLocation":25},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[137,141,145],{"text":138,"config":139},"Visibility & Measurement",{"href":134,"dataGaLocation":25,"dataGaName":140},"Visibility and Measurement",{"text":142,"config":143},"Value Stream Management",{"href":144,"dataGaLocation":25,"dataGaName":142},"/solutions/value-stream-management/",{"text":146,"config":147},"Analytics & Insights",{"href":148,"dataGaLocation":25,"dataGaName":149},"/solutions/analytics-and-insights/","Analytics and insights",{"title":151,"type":76,"items":152},"GitLab for",[153,159,165],{"text":154,"config":155},"Enterprise",{"icon":156,"href":157,"dataGaLocation":25,"dataGaName":158},"Building","/enterprise/","enterprise",{"text":160,"config":161},"Small Business",{"icon":162,"href":163,"dataGaLocation":25,"dataGaName":164},"Work","/small-business/","small business",{"text":166,"config":167},"Public Sector",{"icon":168,"href":169,"dataGaLocation":25,"dataGaName":170},"Organization","/solutions/public-sector/","public sector",{"text":172,"config":173},"Pricing",{"href":174,"dataGaName":175,"dataGaLocation":25,"dataNavLevelOne":175},"/pricing/","pricing",{"text":177,"config":178,"menu":180},"Resources",{"dataNavLevelOne":179},"resources",{"type":76,"link":181,"columns":185,"feature":279},{"text":182,"config":183},"View all resources",{"href":184,"dataGaName":179,"dataGaLocation":25},"/resources/",[186,219,246],{"title":187,"items":188},"Getting started",[189,194,199,204,209,214],{"text":190,"config":191},"Install",{"href":192,"dataGaName":193,"dataGaLocation":25},"/install/","install",{"text":195,"config":196},"Quick start guides",{"href":197,"dataGaName":198,"dataGaLocation":25},"/get-started/","quick setup checklists",{"text":200,"config":201},"Learn",{"href":202,"dataGaLocation":25,"dataGaName":203},"https://university.gitlab.com/","learn",{"text":205,"config":206},"Product documentation",{"href":207,"dataGaName":208,"dataGaLocation":25},"https://docs.gitlab.com/","product documentation",{"text":210,"config":211},"Best practice videos",{"href":212,"dataGaName":213,"dataGaLocation":25},"/getting-started-videos/","best practice videos",{"text":215,"config":216},"Integrations",{"href":217,"dataGaName":218,"dataGaLocation":25},"/integrations/","integrations",{"title":220,"items":221},"Discover",[222,227,232,237,241],{"text":223,"config":224},"Customer success stories",{"href":225,"dataGaName":226,"dataGaLocation":25},"/customers/","customer success stories",{"text":228,"config":229},"Blog",{"href":230,"dataGaName":231,"dataGaLocation":25},"/blog/","blog",{"text":233,"config":234},"Demo Hub",{"href":235,"dataGaName":236,"dataGaLocation":25},"/demo-hub/","demo hub",{"text":238,"config":239},"The Source",{"href":240,"dataGaName":231,"dataGaLocation":25},"/the-source/",{"text":242,"config":243},"Remote",{"href":244,"dataGaName":245,"dataGaLocation":25},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":247,"items":248},"Connect",[249,254,259,264,269,274],{"text":250,"config":251},"GitLab Services",{"href":252,"dataGaName":253,"dataGaLocation":25},"/services/","services",{"text":255,"config":256},"Contribute",{"href":257,"dataGaName":258,"dataGaLocation":25},"https://contributors.gitlab.com","contribute",{"text":260,"config":261},"Community",{"href":262,"dataGaName":263,"dataGaLocation":25},"/community/","community",{"text":265,"config":266},"Forum",{"href":267,"dataGaName":268,"dataGaLocation":25},"https://forum.gitlab.com/","forum",{"text":270,"config":271},"Events",{"href":272,"dataGaName":273,"dataGaLocation":25},"/events/","events",{"text":275,"config":276},"Partners",{"href":277,"dataGaName":278,"dataGaLocation":25},"/partners/","partners",{"config":280,"title":283,"text":284,"link":285},{"background":281,"textColor":282},"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":286,"config":287},"Read the latest",{"href":288,"dataGaName":289,"dataGaLocation":25},"/whats-new/","whats new",{"text":291,"config":292,"menu":294},"Company",{"dataNavLevelOne":293},"company",{"type":76,"columns":295},[296],{"items":297},[298,303,309,311,316,321,326,331,336,341],{"text":299,"config":300},"About",{"href":301,"dataGaName":302,"dataGaLocation":25},"/company/","about",{"text":304,"config":305,"footerGa":308},"Jobs",{"href":306,"dataGaName":307,"dataGaLocation":25},"/jobs/","jobs",{"dataGaName":307},{"text":270,"config":310},{"href":272,"dataGaName":273,"dataGaLocation":25},{"text":312,"config":313},"Leadership",{"href":314,"dataGaName":315,"dataGaLocation":25},"/company/team/e-group/","leadership",{"text":317,"config":318},"Handbook",{"href":319,"dataGaName":320,"dataGaLocation":25},"https://handbook.gitlab.com/","handbook",{"text":322,"config":323},"Investor relations",{"href":324,"dataGaName":325,"dataGaLocation":25},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":327,"config":328},"Trust Center",{"href":329,"dataGaName":330,"dataGaLocation":25},"/security/","trust center",{"text":332,"config":333},"AI Transparency Center",{"href":334,"dataGaName":335,"dataGaLocation":25},"/ai-transparency-center/","ai transparency center",{"text":337,"config":338},"Newsletter",{"href":339,"dataGaName":340,"dataGaLocation":25},"/company/contact/#contact-forms","newsletter",{"text":342,"config":343},"Press",{"href":344,"dataGaName":345,"dataGaLocation":25},"/press/","press",{"text":347,"config":348,"menu":349},"Contact us",{"dataNavLevelOne":293},{"type":76,"columns":350},[351],{"items":352},[353,358,363],{"text":354,"config":355},"Talk to sales",{"href":356,"dataGaName":357,"dataGaLocation":25},"/sales/","talk to sales",{"text":359,"config":360},"Support portal",{"href":361,"dataGaName":362,"dataGaLocation":25},"https://support.gitlab.com/hc/en-us","support portal",{"text":364,"config":365},"Customer portal",{"href":366,"dataGaName":367,"dataGaLocation":25},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":369,"login":370,"suggestions":377},"Close",{"text":371,"link":372},"To search repositories and projects, login to",{"text":373,"config":374},"gitlab.com",{"href":39,"dataGaName":375,"dataGaLocation":376},"search login","search",{"text":378,"default":379},"Suggestions",[380,382,386,388,392,396],{"text":56,"config":381},{"href":61,"dataGaName":56,"dataGaLocation":376},{"text":383,"config":384},"Code Suggestions (AI)",{"href":385,"dataGaName":383,"dataGaLocation":376},"/solutions/code-suggestions/",{"text":92,"config":387},{"href":94,"dataGaName":92,"dataGaLocation":376},{"text":389,"config":390},"GitLab on AWS",{"href":391,"dataGaName":389,"dataGaLocation":376},"/partners/technology-partners/aws/",{"text":393,"config":394},"GitLab on Google Cloud",{"href":395,"dataGaName":393,"dataGaLocation":376},"/partners/technology-partners/google-cloud-platform/",{"text":397,"config":398},"Why GitLab?",{"href":69,"dataGaName":397,"dataGaLocation":376},{"freeTrial":400,"mobileIcon":405,"desktopIcon":410,"secondaryButton":413},{"text":401,"config":402},"Start free trial",{"href":403,"dataGaName":30,"dataGaLocation":404},"https://gitlab.com/-/trials/new/","nav",{"altText":406,"config":407},"Gitlab Icon",{"src":408,"dataGaName":409,"dataGaLocation":404},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":406,"config":411},{"src":412,"dataGaName":409,"dataGaLocation":404},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":414,"config":415},"Get Started",{"href":416,"dataGaName":417,"dataGaLocation":404},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":419,"mobileIcon":423,"desktopIcon":425},{"text":420,"config":421},"Learn more about GitLab Duo",{"href":61,"dataGaName":422,"dataGaLocation":404},"gitlab duo",{"altText":406,"config":424},{"src":408,"dataGaName":409,"dataGaLocation":404},{"altText":406,"config":426},{"src":412,"dataGaName":409,"dataGaLocation":404},{"button":428,"mobileIcon":433,"desktopIcon":435},{"text":429,"config":430},"/switch",{"href":431,"dataGaName":432,"dataGaLocation":404},"#contact","switch",{"altText":406,"config":434},{"src":408,"dataGaName":409,"dataGaLocation":404},{"altText":406,"config":436},{"src":437,"dataGaName":409,"dataGaLocation":404},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":439,"mobileIcon":444,"desktopIcon":446},{"text":440,"config":441},"Back to pricing",{"href":174,"dataGaName":442,"dataGaLocation":404,"icon":443},"back to pricing","GoBack",{"altText":406,"config":445},{"src":408,"dataGaName":409,"dataGaLocation":404},{"altText":406,"config":447},{"src":412,"dataGaName":409,"dataGaLocation":404},{"title":449,"titleMobile":450,"button":451,"config":456},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":67,"config":452},{"href":453,"dataGaName":454,"dataGaLocation":455},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":457,"disabled":458},"release",false,{"data":460},{"text":461,"source":462,"edit":468,"contribute":473,"config":478,"items":483,"minimal":693},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":463,"config":464},"View page source",{"href":465,"dataGaName":466,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":469,"config":470},"Edit this page",{"href":471,"dataGaName":472,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":474,"config":475},"Please contribute",{"href":476,"dataGaName":477,"dataGaLocation":467},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":479,"facebook":480,"youtube":481,"linkedin":482},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[484,531,585,629,661],{"title":172,"links":485,"subMenu":500},[486,490,495],{"text":487,"config":488},"View plans",{"href":174,"dataGaName":489,"dataGaLocation":467},"view plans",{"text":491,"config":492},"Why Premium?",{"href":493,"dataGaName":494,"dataGaLocation":467},"/pricing/premium/","why premium",{"text":496,"config":497},"Why Ultimate?",{"href":498,"dataGaName":499,"dataGaLocation":467},"/pricing/ultimate/","why ultimate",[501],{"title":502,"links":503},"Contact Us",[504,507,509,511,516,521,526],{"text":505,"config":506},"Contact sales",{"href":356,"dataGaName":35,"dataGaLocation":467},{"text":359,"config":508},{"href":361,"dataGaName":362,"dataGaLocation":467},{"text":364,"config":510},{"href":366,"dataGaName":367,"dataGaLocation":467},{"text":512,"config":513},"Status",{"href":514,"dataGaName":515,"dataGaLocation":467},"https://status.gitlab.com/","status",{"text":517,"config":518},"Terms of use",{"href":519,"dataGaName":520,"dataGaLocation":467},"/terms/","terms of use",{"text":522,"config":523},"Privacy statement",{"href":524,"dataGaName":525,"dataGaLocation":467},"/privacy/","privacy statement",{"text":527,"config":528},"Cookie preferences",{"dataGaName":529,"dataGaLocation":467,"id":530,"isOneTrustButton":15},"cookie preferences","ot-sdk-btn",{"title":72,"links":532,"subMenu":541},[533,537],{"text":534,"config":535},"DevSecOps platform",{"href":54,"dataGaName":536,"dataGaLocation":467},"devsecops platform",{"text":538,"config":539},"AI-Assisted Development",{"href":61,"dataGaName":540,"dataGaLocation":467},"ai-assisted development",[542],{"title":543,"links":544},"Topics",[545,550,555,560,565,570,575,580],{"text":546,"config":547},"CICD",{"href":548,"dataGaName":549,"dataGaLocation":467},"/topics/ci-cd/","cicd",{"text":551,"config":552},"GitOps",{"href":553,"dataGaName":554,"dataGaLocation":467},"/topics/gitops/","gitops",{"text":556,"config":557},"DevOps",{"href":558,"dataGaName":559,"dataGaLocation":467},"/topics/devops/","devops",{"text":561,"config":562},"Version Control",{"href":563,"dataGaName":564,"dataGaLocation":467},"/topics/version-control/","version control",{"text":566,"config":567},"DevSecOps",{"href":568,"dataGaName":569,"dataGaLocation":467},"/topics/devsecops/","devsecops",{"text":571,"config":572},"Cloud Native",{"href":573,"dataGaName":574,"dataGaLocation":467},"/topics/cloud-native/","cloud native",{"text":576,"config":577},"AI for Coding",{"href":578,"dataGaName":579,"dataGaLocation":467},"/topics/devops/ai-for-coding/","ai for coding",{"text":581,"config":582},"Agentic AI",{"href":583,"dataGaName":584,"dataGaLocation":467},"/topics/agentic-ai/","agentic ai",{"title":586,"links":587},"Solutions",[588,590,592,597,601,604,608,611,613,616,619,624],{"text":116,"config":589},{"href":111,"dataGaName":116,"dataGaLocation":467},{"text":105,"config":591},{"href":88,"dataGaName":89,"dataGaLocation":467},{"text":593,"config":594},"Agile development",{"href":595,"dataGaName":596,"dataGaLocation":467},"/solutions/agile-delivery/","agile delivery",{"text":598,"config":599},"SCM",{"href":101,"dataGaName":600,"dataGaLocation":467},"source code management",{"text":546,"config":602},{"href":94,"dataGaName":603,"dataGaLocation":467},"continuous integration & delivery",{"text":605,"config":606},"Value stream management",{"href":144,"dataGaName":607,"dataGaLocation":467},"value stream management",{"text":551,"config":609},{"href":610,"dataGaName":554,"dataGaLocation":467},"/solutions/gitops/",{"text":154,"config":612},{"href":157,"dataGaName":158,"dataGaLocation":467},{"text":614,"config":615},"Small business",{"href":163,"dataGaName":164,"dataGaLocation":467},{"text":617,"config":618},"Public sector",{"href":169,"dataGaName":170,"dataGaLocation":467},{"text":620,"config":621},"Education",{"href":622,"dataGaName":623,"dataGaLocation":467},"/solutions/education/","education",{"text":625,"config":626},"Financial services",{"href":627,"dataGaName":628,"dataGaLocation":467},"/solutions/finance/","financial services",{"title":177,"links":630},[631,633,635,637,640,642,645,647,649,651,653,655,657,659],{"text":190,"config":632},{"href":192,"dataGaName":193,"dataGaLocation":467},{"text":195,"config":634},{"href":197,"dataGaName":198,"dataGaLocation":467},{"text":200,"config":636},{"href":202,"dataGaName":203,"dataGaLocation":467},{"text":205,"config":638},{"href":207,"dataGaName":639,"dataGaLocation":467},"docs",{"text":228,"config":641},{"href":230,"dataGaName":231,"dataGaLocation":467},{"text":643,"config":644},"What's new",{"href":288,"dataGaName":289,"dataGaLocation":467},{"text":223,"config":646},{"href":225,"dataGaName":226,"dataGaLocation":467},{"text":242,"config":648},{"href":244,"dataGaName":245,"dataGaLocation":467},{"text":250,"config":650},{"href":252,"dataGaName":253,"dataGaLocation":467},{"text":255,"config":652},{"href":257,"dataGaName":258,"dataGaLocation":467},{"text":260,"config":654},{"href":262,"dataGaName":263,"dataGaLocation":467},{"text":265,"config":656},{"href":267,"dataGaName":268,"dataGaLocation":467},{"text":270,"config":658},{"href":272,"dataGaName":273,"dataGaLocation":467},{"text":275,"config":660},{"href":277,"dataGaName":278,"dataGaLocation":467},{"title":291,"links":662},[663,665,667,669,671,673,677,682,684,686,688],{"text":299,"config":664},{"href":301,"dataGaName":293,"dataGaLocation":467},{"text":304,"config":666},{"href":306,"dataGaName":307,"dataGaLocation":467},{"text":312,"config":668},{"href":314,"dataGaName":315,"dataGaLocation":467},{"text":317,"config":670},{"href":319,"dataGaName":320,"dataGaLocation":467},{"text":322,"config":672},{"href":324,"dataGaName":325,"dataGaLocation":467},{"text":674,"config":675},"Sustainability",{"href":676,"dataGaName":674,"dataGaLocation":467},"/sustainability/",{"text":678,"config":679},"Diversity, inclusion and belonging (DIB)",{"href":680,"dataGaName":681,"dataGaLocation":467},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":327,"config":683},{"href":329,"dataGaName":330,"dataGaLocation":467},{"text":337,"config":685},{"href":339,"dataGaName":340,"dataGaLocation":467},{"text":342,"config":687},{"href":344,"dataGaName":345,"dataGaLocation":467},{"text":689,"config":690},"Modern Slavery Transparency Statement",{"href":691,"dataGaName":692,"dataGaLocation":467},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":694},[695,698,701],{"text":696,"config":697},"Terms",{"href":519,"dataGaName":520,"dataGaLocation":467},{"text":699,"config":700},"Cookies",{"dataGaName":529,"dataGaLocation":467,"id":530,"isOneTrustButton":15},{"text":702,"config":703},"Privacy",{"href":524,"dataGaName":525,"dataGaLocation":467},[705,713,721,728,735,742,749,756,763,770,777,784,791,798,805,812,819,826,834,841,848,854,861,868,875,881,888,895,902,908,915,923,929,936,943,950,957,963,970],{"title":706,"heroImage":707,"category":708,"description":709,"authors":710,"date":711,"slug":712,"externalUrl":6},"Looking for a DevSecOps maturity model that works? Start with our 2021 Global Survey","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678388/Blog/Hero%20Images/advanced-devsecops-practices.jpg","insights","72% of security pros rated their organizations’ security efforts as “strong” or “good.” Could 2021 be the year DevSecOps becomes a reality?",[5],"2021-05-18","2021-devsecops-survey-the-great-shift-left-continues",{"title":714,"heroImage":715,"category":716,"description":717,"authors":718,"date":719,"slug":720,"externalUrl":6},"GitLab tutorials for secure pipelines, Kubernetes, and more at Learn@GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667236/Blog/Hero%20Images/Learn-at-GL.jpg","engineering","Learn@GitLab offers videos and self-driven demos so you can get the most out of GitLab at your own pace.",[5],"2021-01-12","learn-gitlab-devops-version-control",{"title":722,"heroImage":723,"category":708,"description":724,"authors":725,"date":726,"slug":727,"externalUrl":6},"How we're improving migrations from Jenkins to GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679556/Blog/Hero%20Images/insights.png","Learn more about our Jenkins Importer category and see what's in the works for easier Jenkins migrations.",[5],"2020-12-08","migrate-from-jenkins-update",{"title":729,"heroImage":730,"category":708,"description":731,"authors":732,"date":733,"slug":734,"externalUrl":6},"How pre-filled CI/CD variables will make running pipelines easier","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","Learn more about this future release and how pre-filled variables will save time and reduce errors.",[5],"2020-12-02","pre-filled-variables-feature",{"title":736,"heroImage":737,"category":708,"description":738,"authors":739,"date":740,"slug":741,"externalUrl":6},"3 YAML tips for better pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681626/Blog/Hero%20Images/yaml-tips.jpg","Learn how to get the most out of your YAML configs.",[5],"2020-10-01","three-yaml-tips-better-pipelines",{"title":743,"heroImage":744,"category":708,"description":745,"authors":746,"date":747,"slug":748,"externalUrl":6},"How to use GitLab’s CI/CD pipeline templates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667139/Blog/Hero%20Images/CI-pipeline-templates.jpg","Learn how pipeline templates and Auto DevOps can get you up and running on GitLab CI/CD.",[5],"2020-09-23","get-started-ci-pipeline-templates",{"title":750,"heroImage":751,"category":708,"description":752,"authors":753,"date":754,"slug":755,"externalUrl":6},"Is GitOps the next big thing in automation?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681428/Blog/Hero%20Images/iac-gitops-blog-post_with-gl-logo.png","We polled our community on Twitter to ask about GitOps. Here is what we found.",[5],"2020-07-14","gitops-next-big-thing-automation",{"title":757,"heroImage":758,"category":708,"description":759,"authors":760,"date":761,"slug":762,"externalUrl":6},"How to make small changes using GitLab’s Web IDE","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678812/Blog/Hero%20Images/web-ide-cover.jpg","A quick three minute demo shows how teams can deliver better apps faster using GitLab CI/CD.",[5],"2020-05-28","using-gitlab-web-ide-gitlab-ci-cd",{"title":764,"heroImage":765,"category":708,"description":766,"authors":767,"date":768,"slug":769,"externalUrl":6},"How GitLab CI helps solve common DevSecOps challenges","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681305/Blog/Hero%20Images/ci-use-case-web-header.png","How single application continuous integration helps team automate and collaborate.",[5],"2020-05-12","solve-devsecops-challenges-with-gitlab-ci-cd",{"title":771,"heroImage":772,"category":708,"description":773,"authors":774,"date":775,"slug":776,"externalUrl":6},"How to deploy AWS Lambda applications with ease","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666262/Blog/Hero%20Images/default-blog-image.png","Highlights from our serverless webcast with AWS exploring the Serverless Application Model.",[5],"2020-04-29","aws-gitlab-serverless-webcast",{"title":778,"heroImage":779,"category":708,"description":780,"authors":781,"date":782,"slug":783,"externalUrl":6},"How Kubernetes merges with multicloud & how to manage it","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681075/Blog/Hero%20Images/kubernetes-multicloud-blog.jpg","Google Cloud's Ian Chakeres and Tim Hockin discuss how Kubernetes reduces cloud noise and makes multicloud possible.",[5],"2020-02-05","kubernetes-and-multicloud",{"title":785,"heroImage":786,"category":708,"description":787,"authors":788,"date":789,"slug":790,"externalUrl":6},"Introducing: Resource groups","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679102/Blog/Hero%20Images/resource-groups.jpg","How we’re improving deployments by limiting pipeline concurrency.",[5],"2020-01-21","introducing-resource-groups",{"title":792,"heroImage":793,"category":708,"description":794,"authors":795,"date":796,"slug":797,"externalUrl":6},"CI/CD: The ticket to multicloud","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679235/Blog/Hero%20Images/cloud-native-predictions-2019.jpg","Read our expert panel from MulticloudCon on how CI/CD and cloud-agnostic DevOps help organizations go multicloud and increase productivity.",[5],"2020-01-17","ci-cd-the-ticket-to-multicloud",{"title":799,"heroImage":800,"category":708,"description":801,"authors":802,"date":803,"slug":804,"externalUrl":6},"Shifting from on-prem to cloud","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679664/Blog/Hero%20Images/on-prem-to-cloud.jpg","The challenges of being on-prem and what to consider when shifting to public cloud.",[5],"2020-01-09","shifting-from-on-prem-to-cloud",{"title":806,"heroImage":807,"category":708,"description":808,"authors":809,"date":810,"slug":811,"externalUrl":6},"Cloud strategy and adoption roadmap for businesses","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680891/Blog/Hero%20Images/cloud-adoption-roadmap.jpg","Everything you need to know for transforming your business to the cloud and how to plan out the perfect strategy for it.",[5],"2019-12-05","cloud-adoption-roadmap",{"title":813,"heroImage":814,"category":708,"description":815,"authors":816,"date":817,"slug":818,"externalUrl":6},"Migrating from Jenkins","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679081/Blog/Hero%20Images/jenkins-migration.jpg","Best practices for making the switch to GitLab CI/CD.",[5],"2019-11-26","migrating-from-jenkins",{"title":820,"heroImage":821,"category":708,"description":822,"authors":823,"date":824,"slug":825,"externalUrl":6},"GitLab CI/CD is for multi-cloud","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678401/Blog/Hero%20Images/gitlab-for-multicloud.jpg","Can cloud providers (and their tools) ever be cloud agnostic? We discuss GitHub Actions and GitLab CI/CD.",[5],"2019-11-06","gitlab-ci-cd-is-for-multi-cloud",{"title":827,"heroImage":828,"category":708,"description":829,"authors":830,"date":832,"slug":833,"externalUrl":6},"The DevOps tool landscape","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670008/Blog/Hero%20Images/devops-tool-landscape.jpg","Competitive intelligence manager Mahesh Kumar describes the criteria we use when comparing GitLab to other DevOps tools.",[831,5],"Mahesh Kumar","2019-11-01","devops-tool-landscape",{"title":835,"heroImage":836,"category":708,"description":837,"authors":838,"date":839,"slug":840,"externalUrl":6},"Unlock better DevOps with GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670652/Blog/Hero%20Images/dev-to-devops-cover.png","Why a single application helps to eliminate silos and knowledge gaps.",[5],"2019-10-18","better-devops-with-gitlab-ci-cd",{"title":842,"heroImage":843,"category":708,"description":844,"authors":845,"date":846,"slug":847,"externalUrl":6},"The problem with plugins","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673012/Blog/Hero%20Images/plugin-instability.jpg","For all of the customization, plugins sometimes come at a high price.",[5],"2019-09-27","plugin-instability",{"title":849,"heroImage":772,"category":708,"description":850,"authors":851,"date":852,"slug":853,"externalUrl":6},"Jenkins: One year later","With new acquisitions and the launch of CloudBees SDM, is Jenkins trying to become another all-in-one?",[5],"2019-09-20","jenkins-one-year-later",{"title":855,"heroImage":856,"category":708,"description":857,"authors":858,"date":859,"slug":860,"externalUrl":6},"Is serverless the end of ops?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671845/Blog/Hero%20Images/serverless-ops-blog.jpg","What is Serverless architecture, what are the pros and cons of using it and where will it go in the future?",[5],"2019-09-12","is-serverless-the-end-of-ops",{"title":862,"heroImage":863,"category":708,"description":864,"authors":865,"date":866,"slug":867,"externalUrl":6},"How to make builds faster","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673173/Blog/Hero%20Images/autoscaling-balance.jpg","How GitLab uses autoscaling to reduce build times and make developers happy.",[5],"2019-08-21","making-builds-faster-autoscaling-runners",{"title":869,"heroImage":870,"category":716,"description":871,"authors":872,"date":873,"slug":874,"externalUrl":6},"Learn more about Feature Flags: The next step in Progressive Delivery","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670020/Blog/Hero%20Images/feature-flags.jpg","How Feature Flags are continuing the next evolution of continuous delivery.",[5],"2019-08-06","feature-flags-continuous-delivery",{"title":876,"heroImage":730,"category":708,"description":877,"authors":878,"date":879,"slug":880,"externalUrl":6},"A quick guide to GitLab CI/CD pipelines","How GitLab is making a better pipeline with Auto DevOps.",[5],"2019-07-12","guide-to-ci-cd-pipelines",{"title":882,"heroImage":883,"category":708,"description":884,"authors":885,"date":886,"slug":887,"externalUrl":6},"4 Benefits of CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670016/Blog/Hero%20Images/modernize-cicd.jpg","Learn how to implement and measure a successful CI/CD pipeline strategy and help your DevOps team deliver higher quality software, faster!",[5],"2019-06-27","positive-outcomes-ci-cd",{"title":889,"heroImage":883,"category":708,"description":890,"authors":891,"date":893,"slug":894,"externalUrl":6},"The business impact of CI/CD","How a good CI/CD strategy generates revenue and keeps developers happy.",[5,892],"William Chia","2019-06-21","business-impact-ci-cd",{"title":896,"heroImage":897,"category":708,"description":898,"authors":899,"date":900,"slug":901,"externalUrl":6},"Implementing microservices architectures and deployment strategies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662898/Blog/Hero%20Images/microservices-explosion.jpg","Want to dump the monolith and get into microservices? Consider these three methods.",[5],"2019-06-17","strategies-microservices-architecture",{"title":903,"heroImage":883,"category":708,"description":904,"authors":905,"date":906,"slug":907,"externalUrl":6},"3 CI/CD challenges to consider","If these DevOps challenges hit close to home, the right CI/CD could be the answer.",[5],"2019-06-05","modernize-your-ci-cd",{"title":909,"heroImage":910,"category":716,"description":911,"authors":912,"date":913,"slug":914,"externalUrl":6},"How IT automation impacts developer productivity","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670529/Blog/Hero%20Images/automate-retrospectives.jpg","See how IT automation promotes a healthier IT culture and unlocks next-level DevOps.",[5],"2019-05-30","it-automation-developer-productivity",{"title":916,"heroImage":917,"category":918,"description":919,"authors":920,"date":921,"slug":922,"externalUrl":6},"Kubernetes and the open source community: We chat with Joe Beda","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680604/Blog/Hero%20Images/tech-explorers-cover.png","open-source","Our CEO sits down with Kubernetes co-creator Joe Beda to talk about the future of open source.",[5],"2019-05-20","kubernetes-chat-with-joe-beda",{"title":924,"heroImage":917,"category":918,"description":925,"authors":926,"date":927,"slug":928,"externalUrl":6},"Kubernetes and the future of cloud native: We chat with Kelsey Hightower","Our CEO sits down with Google Staff Developer Advocate Kelsey Hightower to talk fundamentals, the future of cloud native, and Kubernetes.",[5],"2019-05-13","kubernetes-chat-with-kelsey-hightower",{"title":930,"heroImage":931,"category":293,"description":932,"authors":933,"date":934,"slug":935,"externalUrl":6},"GitLab’s journey from Azure to GCP","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671280/Blog/Hero%20Images/gitlab-gke-integration-cover.png","GitLab Staff Engineer Andrew Newdigate shares how we completed our migration to Google Cloud Platform, and how we overcame challenges along the way.",[5],"2019-05-02","gitlab-journey-from-azure-to-gcp",{"title":937,"heroImage":938,"category":708,"description":939,"authors":940,"date":941,"slug":942,"externalUrl":6},"3 Trends in test automation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663662/Blog/Hero%20Images/trends-in-test-automation.jpg","Faster deployments, fewer bugs, better user experiences – see the latest trends in test automation and what they're bringing to the table.",[5],"2019-05-01","trends-in-test-automation",{"title":944,"heroImage":945,"category":716,"description":946,"authors":947,"date":948,"slug":949,"externalUrl":6},"5 Teams that made the switch to GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678657/Blog/Hero%20Images/ci-cd-competitive-campaign-blog-cover.png","See what happened when these five teams moved on from old continuous integration and delivery solutions and switched to GitLab CI/CD.",[5],"2019-04-25","5-teams-that-made-the-switch-to-gitlab-ci-cd",{"title":951,"heroImage":952,"category":708,"description":953,"authors":954,"date":955,"slug":956,"externalUrl":6},"How to reduce IT costs","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680558/Blog/Hero%20Images/reduce-it-costs.jpg","Four ways organizations can spend less on IT and more on innovation.",[5],"2019-04-11","reduce-it-costs",{"title":958,"heroImage":945,"category":293,"description":959,"authors":960,"date":961,"slug":962,"externalUrl":6},"Why GitLab CI/CD?","With GitLab’s out-of-the-box CI/CD, you can spend less time maintaining and more time creating.",[5],"2019-04-02","why-gitlab-ci-cd",{"title":964,"heroImage":965,"category":716,"description":966,"authors":967,"date":968,"slug":969,"externalUrl":6},"7 Best practices for application modernization","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671258/Blog/Hero%20Images/just-commit-blog-cover.png","Use these best practices to avoid common pitfalls on the application modernization journey.",[5],"2019-03-27","application-modernization-best-practices",{"title":971,"heroImage":965,"category":716,"description":972,"authors":973,"date":974,"slug":975,"externalUrl":6},"Examples of legacy modernisation projects","Discover how four teams committed to the application modernization process.",[5],"2019-03-14","application-modernization-examples",1786803744745]