[{"data":1,"prerenderedAt":1956},["ShallowReactive",2],{"/en-us/blog/categories/product":3,"navigation-en-us":21,"banner-en-us":449,"footer-en-us":466,"product-category-en-us":711,"footer-source-/en-us/blog/categories/product/":1952},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"config":12,"_id":15,"_type":16,"title":9,"_source":17,"_file":18,"_stem":19,"_extension":20},"/en-us/blog/categories/product","categories",false,"",{"title":9,"description":10},"Product","Browse articles related to Product on the GitLab Blog",{"name":9},{"template":13,"slug":14,"hide":6},"BlogCategory","product","content:en-us:blog:categories:product.yml","yaml","content","en-us/blog/categories/product.yml","en-us/blog/categories/product","yml",{"_path":22,"_dir":23,"_draft":6,"_partial":6,"_locale":7,"data":24,"_id":445,"_type":16,"title":446,"_source":17,"_file":447,"_stem":448,"_extension":20},"/shared/en-us/main-navigation","en-us",{"logo":25,"freeTrial":30,"sales":35,"login":40,"items":45,"search":376,"minimal":407,"duo":426,"pricingDeployment":435},{"config":26},{"href":27,"dataGaName":28,"dataGaLocation":29},"/","gitlab logo","header",{"text":31,"config":32},"Get free trial",{"href":33,"dataGaName":34,"dataGaLocation":29},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":36,"config":37},"Talk to sales",{"href":38,"dataGaName":39,"dataGaLocation":29},"/sales/","sales",{"text":41,"config":42},"Sign in",{"href":43,"dataGaName":44,"dataGaLocation":29},"https://gitlab.com/users/sign_in/","sign in",[46,90,186,191,297,357],{"text":47,"config":48,"cards":50,"footer":73},"Platform",{"dataNavLevelOne":49},"platform",[51,57,65],{"title":47,"description":52,"link":53},"The most comprehensive AI-powered DevSecOps Platform",{"text":54,"config":55},"Explore our Platform",{"href":56,"dataGaName":49,"dataGaLocation":29},"/platform/",{"title":58,"description":59,"link":60},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":61,"config":62},"Meet GitLab Duo",{"href":63,"dataGaName":64,"dataGaLocation":29},"/gitlab-duo/","gitlab duo ai",{"title":66,"description":67,"link":68},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":69,"config":70},"Learn more",{"href":71,"dataGaName":72,"dataGaLocation":29},"/why-gitlab/","why gitlab",{"title":74,"items":75},"Get started with",[76,81,86],{"text":77,"config":78},"Platform Engineering",{"href":79,"dataGaName":80,"dataGaLocation":29},"/solutions/platform-engineering/","platform engineering",{"text":82,"config":83},"Developer Experience",{"href":84,"dataGaName":85,"dataGaLocation":29},"/developer-experience/","Developer experience",{"text":87,"config":88},"MLOps",{"href":89,"dataGaName":87,"dataGaLocation":29},"/topics/devops/the-role-of-ai-in-devops/",{"text":9,"left":91,"config":92,"link":94,"lists":98,"footer":168},true,{"dataNavLevelOne":93},"solutions",{"text":95,"config":96},"View all Solutions",{"href":97,"dataGaName":93,"dataGaLocation":29},"/solutions/",[99,124,147],{"title":100,"description":101,"link":102,"items":107},"Automation","CI/CD and automation to accelerate deployment",{"config":103},{"icon":104,"href":105,"dataGaName":106,"dataGaLocation":29},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[108,112,116,120],{"text":109,"config":110},"CI/CD",{"href":111,"dataGaLocation":29,"dataGaName":109},"/solutions/continuous-integration/",{"text":113,"config":114},"AI-Assisted Development",{"href":63,"dataGaLocation":29,"dataGaName":115},"AI assisted development",{"text":117,"config":118},"Source Code Management",{"href":119,"dataGaLocation":29,"dataGaName":117},"/solutions/source-code-management/",{"text":121,"config":122},"Automated Software Delivery",{"href":105,"dataGaLocation":29,"dataGaName":123},"Automated software delivery",{"title":125,"description":126,"link":127,"items":132},"Security","Deliver code faster without compromising security",{"config":128},{"href":129,"dataGaName":130,"dataGaLocation":29,"icon":131},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[133,137,142],{"text":134,"config":135},"Application Security Testing",{"href":129,"dataGaName":136,"dataGaLocation":29},"Application security testing",{"text":138,"config":139},"Software Supply Chain Security",{"href":140,"dataGaLocation":29,"dataGaName":141},"/solutions/supply-chain/","Software supply chain security",{"text":143,"config":144},"Software Compliance",{"href":145,"dataGaName":146,"dataGaLocation":29},"/solutions/software-compliance/","software compliance",{"title":148,"link":149,"items":154},"Measurement",{"config":150},{"icon":151,"href":152,"dataGaName":153,"dataGaLocation":29},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[155,159,163],{"text":156,"config":157},"Visibility & Measurement",{"href":152,"dataGaLocation":29,"dataGaName":158},"Visibility and Measurement",{"text":160,"config":161},"Value Stream Management",{"href":162,"dataGaLocation":29,"dataGaName":160},"/solutions/value-stream-management/",{"text":164,"config":165},"Analytics & Insights",{"href":166,"dataGaLocation":29,"dataGaName":167},"/solutions/analytics-and-insights/","Analytics and insights",{"title":169,"items":170},"GitLab for",[171,176,181],{"text":172,"config":173},"Enterprise",{"href":174,"dataGaLocation":29,"dataGaName":175},"/enterprise/","enterprise",{"text":177,"config":178},"Small Business",{"href":179,"dataGaLocation":29,"dataGaName":180},"/small-business/","small business",{"text":182,"config":183},"Public Sector",{"href":184,"dataGaLocation":29,"dataGaName":185},"/solutions/public-sector/","public sector",{"text":187,"config":188},"Pricing",{"href":189,"dataGaName":190,"dataGaLocation":29,"dataNavLevelOne":190},"/pricing/","pricing",{"text":192,"config":193,"link":195,"lists":199,"feature":284},"Resources",{"dataNavLevelOne":194},"resources",{"text":196,"config":197},"View all resources",{"href":198,"dataGaName":194,"dataGaLocation":29},"/resources/",[200,233,256],{"title":201,"items":202},"Getting started",[203,208,213,218,223,228],{"text":204,"config":205},"Install",{"href":206,"dataGaName":207,"dataGaLocation":29},"/install/","install",{"text":209,"config":210},"Quick start guides",{"href":211,"dataGaName":212,"dataGaLocation":29},"/get-started/","quick setup checklists",{"text":214,"config":215},"Learn",{"href":216,"dataGaLocation":29,"dataGaName":217},"https://university.gitlab.com/","learn",{"text":219,"config":220},"Product documentation",{"href":221,"dataGaName":222,"dataGaLocation":29},"https://docs.gitlab.com/","product documentation",{"text":224,"config":225},"Best practice videos",{"href":226,"dataGaName":227,"dataGaLocation":29},"/getting-started-videos/","best practice videos",{"text":229,"config":230},"Integrations",{"href":231,"dataGaName":232,"dataGaLocation":29},"/integrations/","integrations",{"title":234,"items":235},"Discover",[236,241,246,251],{"text":237,"config":238},"Customer success stories",{"href":239,"dataGaName":240,"dataGaLocation":29},"/customers/","customer success stories",{"text":242,"config":243},"Blog",{"href":244,"dataGaName":245,"dataGaLocation":29},"/blog/","blog",{"text":247,"config":248},"Remote",{"href":249,"dataGaName":250,"dataGaLocation":29},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":252,"config":253},"TeamOps",{"href":254,"dataGaName":255,"dataGaLocation":29},"/teamops/","teamops",{"title":257,"items":258},"Connect",[259,264,269,274,279],{"text":260,"config":261},"GitLab Services",{"href":262,"dataGaName":263,"dataGaLocation":29},"/services/","services",{"text":265,"config":266},"Community",{"href":267,"dataGaName":268,"dataGaLocation":29},"/community/","community",{"text":270,"config":271},"Forum",{"href":272,"dataGaName":273,"dataGaLocation":29},"https://forum.gitlab.com/","forum",{"text":275,"config":276},"Events",{"href":277,"dataGaName":278,"dataGaLocation":29},"/events/","events",{"text":280,"config":281},"Partners",{"href":282,"dataGaName":283,"dataGaLocation":29},"/partners/","partners",{"backgroundColor":285,"textColor":286,"text":287,"image":288,"link":292},"#2f2a6b","#fff","Insights for the future of software development",{"altText":289,"config":290},"the source promo card",{"src":291},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":293,"config":294},"Read the latest",{"href":295,"dataGaName":296,"dataGaLocation":29},"/the-source/","the source",{"text":298,"config":299,"lists":301},"Company",{"dataNavLevelOne":300},"company",[302],{"items":303},[304,309,315,317,322,327,332,337,342,347,352],{"text":305,"config":306},"About",{"href":307,"dataGaName":308,"dataGaLocation":29},"/company/","about",{"text":310,"config":311,"footerGa":314},"Jobs",{"href":312,"dataGaName":313,"dataGaLocation":29},"/jobs/","jobs",{"dataGaName":313},{"text":275,"config":316},{"href":277,"dataGaName":278,"dataGaLocation":29},{"text":318,"config":319},"Leadership",{"href":320,"dataGaName":321,"dataGaLocation":29},"/company/team/e-group/","leadership",{"text":323,"config":324},"Team",{"href":325,"dataGaName":326,"dataGaLocation":29},"/company/team/","team",{"text":328,"config":329},"Handbook",{"href":330,"dataGaName":331,"dataGaLocation":29},"https://handbook.gitlab.com/","handbook",{"text":333,"config":334},"Investor relations",{"href":335,"dataGaName":336,"dataGaLocation":29},"https://ir.gitlab.com/","investor relations",{"text":338,"config":339},"Trust Center",{"href":340,"dataGaName":341,"dataGaLocation":29},"/security/","trust center",{"text":343,"config":344},"AI Transparency Center",{"href":345,"dataGaName":346,"dataGaLocation":29},"/ai-transparency-center/","ai transparency center",{"text":348,"config":349},"Newsletter",{"href":350,"dataGaName":351,"dataGaLocation":29},"/company/contact/","newsletter",{"text":353,"config":354},"Press",{"href":355,"dataGaName":356,"dataGaLocation":29},"/press/","press",{"text":358,"config":359,"lists":360},"Contact us",{"dataNavLevelOne":300},[361],{"items":362},[363,366,371],{"text":36,"config":364},{"href":38,"dataGaName":365,"dataGaLocation":29},"talk to sales",{"text":367,"config":368},"Support portal",{"href":369,"dataGaName":370,"dataGaLocation":29},"https://support.gitlab.com","support portal",{"text":372,"config":373},"Customer portal",{"href":374,"dataGaName":375,"dataGaLocation":29},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":377,"login":378,"suggestions":385},"Close",{"text":379,"link":380},"To search repositories and projects, login to",{"text":381,"config":382},"gitlab.com",{"href":43,"dataGaName":383,"dataGaLocation":384},"search login","search",{"text":386,"default":387},"Suggestions",[388,390,394,396,400,404],{"text":58,"config":389},{"href":63,"dataGaName":58,"dataGaLocation":384},{"text":391,"config":392},"Code Suggestions (AI)",{"href":393,"dataGaName":391,"dataGaLocation":384},"/solutions/code-suggestions/",{"text":109,"config":395},{"href":111,"dataGaName":109,"dataGaLocation":384},{"text":397,"config":398},"GitLab on AWS",{"href":399,"dataGaName":397,"dataGaLocation":384},"/partners/technology-partners/aws/",{"text":401,"config":402},"GitLab on Google Cloud",{"href":403,"dataGaName":401,"dataGaLocation":384},"/partners/technology-partners/google-cloud-platform/",{"text":405,"config":406},"Why GitLab?",{"href":71,"dataGaName":405,"dataGaLocation":384},{"freeTrial":408,"mobileIcon":413,"desktopIcon":418,"secondaryButton":421},{"text":409,"config":410},"Start free trial",{"href":411,"dataGaName":34,"dataGaLocation":412},"https://gitlab.com/-/trials/new/","nav",{"altText":414,"config":415},"Gitlab Icon",{"src":416,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":414,"config":419},{"src":420,"dataGaName":417,"dataGaLocation":412},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":422,"config":423},"Get Started",{"href":424,"dataGaName":425,"dataGaLocation":412},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":427,"mobileIcon":431,"desktopIcon":433},{"text":428,"config":429},"Learn more about GitLab Duo",{"href":63,"dataGaName":430,"dataGaLocation":412},"gitlab duo",{"altText":414,"config":432},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":434},{"src":420,"dataGaName":417,"dataGaLocation":412},{"freeTrial":436,"mobileIcon":441,"desktopIcon":443},{"text":437,"config":438},"Back to pricing",{"href":189,"dataGaName":439,"dataGaLocation":412,"icon":440},"back to pricing","GoBack",{"altText":414,"config":442},{"src":416,"dataGaName":417,"dataGaLocation":412},{"altText":414,"config":444},{"src":420,"dataGaName":417,"dataGaLocation":412},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":450,"_dir":23,"_draft":6,"_partial":6,"_locale":7,"title":451,"button":452,"image":457,"config":461,"_id":463,"_type":16,"_source":17,"_file":464,"_stem":465,"_extension":20},"/shared/en-us/banner","is now in public beta!",{"text":453,"config":454},"Try the Beta",{"href":455,"dataGaName":456,"dataGaLocation":29},"/gitlab-duo/agent-platform/","duo banner",{"altText":458,"config":459},"GitLab Duo Agent Platform",{"src":460},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1753720689/somrf9zaunk0xlt7ne4x.svg",{"layout":462},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":467,"_dir":23,"_draft":6,"_partial":6,"_locale":7,"data":468,"_id":707,"_type":16,"title":708,"_source":17,"_file":709,"_stem":710,"_extension":20},"/shared/en-us/main-footer",{"text":469,"source":470,"edit":476,"contribute":481,"config":486,"items":491,"minimal":699},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":471,"config":472},"View page source",{"href":473,"dataGaName":474,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":477,"config":478},"Edit this page",{"href":479,"dataGaName":480,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":482,"config":483},"Please contribute",{"href":484,"dataGaName":485,"dataGaLocation":475},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":487,"facebook":488,"youtube":489,"linkedin":490},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[492,539,592,636,665],{"title":187,"links":493,"subMenu":508},[494,498,503],{"text":495,"config":496},"View plans",{"href":189,"dataGaName":497,"dataGaLocation":475},"view plans",{"text":499,"config":500},"Why Premium?",{"href":501,"dataGaName":502,"dataGaLocation":475},"/pricing/premium/","why premium",{"text":504,"config":505},"Why Ultimate?",{"href":506,"dataGaName":507,"dataGaLocation":475},"/pricing/ultimate/","why ultimate",[509],{"title":510,"links":511},"Contact Us",[512,515,517,519,524,529,534],{"text":513,"config":514},"Contact sales",{"href":38,"dataGaName":39,"dataGaLocation":475},{"text":367,"config":516},{"href":369,"dataGaName":370,"dataGaLocation":475},{"text":372,"config":518},{"href":374,"dataGaName":375,"dataGaLocation":475},{"text":520,"config":521},"Status",{"href":522,"dataGaName":523,"dataGaLocation":475},"https://status.gitlab.com/","status",{"text":525,"config":526},"Terms of use",{"href":527,"dataGaName":528,"dataGaLocation":475},"/terms/","terms of use",{"text":530,"config":531},"Privacy statement",{"href":532,"dataGaName":533,"dataGaLocation":475},"/privacy/","privacy statement",{"text":535,"config":536},"Cookie preferences",{"dataGaName":537,"dataGaLocation":475,"id":538,"isOneTrustButton":91},"cookie preferences","ot-sdk-btn",{"title":9,"links":540,"subMenu":548},[541,545],{"text":542,"config":543},"DevSecOps platform",{"href":56,"dataGaName":544,"dataGaLocation":475},"devsecops platform",{"text":113,"config":546},{"href":63,"dataGaName":547,"dataGaLocation":475},"ai-assisted development",[549],{"title":550,"links":551},"Topics",[552,557,562,567,572,577,582,587],{"text":553,"config":554},"CICD",{"href":555,"dataGaName":556,"dataGaLocation":475},"/topics/ci-cd/","cicd",{"text":558,"config":559},"GitOps",{"href":560,"dataGaName":561,"dataGaLocation":475},"/topics/gitops/","gitops",{"text":563,"config":564},"DevOps",{"href":565,"dataGaName":566,"dataGaLocation":475},"/topics/devops/","devops",{"text":568,"config":569},"Version Control",{"href":570,"dataGaName":571,"dataGaLocation":475},"/topics/version-control/","version control",{"text":573,"config":574},"DevSecOps",{"href":575,"dataGaName":576,"dataGaLocation":475},"/topics/devsecops/","devsecops",{"text":578,"config":579},"Cloud Native",{"href":580,"dataGaName":581,"dataGaLocation":475},"/topics/cloud-native/","cloud native",{"text":583,"config":584},"AI for Coding",{"href":585,"dataGaName":586,"dataGaLocation":475},"/topics/devops/ai-for-coding/","ai for coding",{"text":588,"config":589},"Agentic AI",{"href":590,"dataGaName":591,"dataGaLocation":475},"/topics/agentic-ai/","agentic ai",{"title":593,"links":594},"Solutions",[595,597,599,604,608,611,615,618,620,623,626,631],{"text":134,"config":596},{"href":129,"dataGaName":134,"dataGaLocation":475},{"text":123,"config":598},{"href":105,"dataGaName":106,"dataGaLocation":475},{"text":600,"config":601},"Agile development",{"href":602,"dataGaName":603,"dataGaLocation":475},"/solutions/agile-delivery/","agile delivery",{"text":605,"config":606},"SCM",{"href":119,"dataGaName":607,"dataGaLocation":475},"source code management",{"text":553,"config":609},{"href":111,"dataGaName":610,"dataGaLocation":475},"continuous integration & delivery",{"text":612,"config":613},"Value stream management",{"href":162,"dataGaName":614,"dataGaLocation":475},"value stream management",{"text":558,"config":616},{"href":617,"dataGaName":561,"dataGaLocation":475},"/solutions/gitops/",{"text":172,"config":619},{"href":174,"dataGaName":175,"dataGaLocation":475},{"text":621,"config":622},"Small business",{"href":179,"dataGaName":180,"dataGaLocation":475},{"text":624,"config":625},"Public sector",{"href":184,"dataGaName":185,"dataGaLocation":475},{"text":627,"config":628},"Education",{"href":629,"dataGaName":630,"dataGaLocation":475},"/solutions/education/","education",{"text":632,"config":633},"Financial services",{"href":634,"dataGaName":635,"dataGaLocation":475},"/solutions/finance/","financial services",{"title":192,"links":637},[638,640,642,644,647,649,651,653,655,657,659,661,663],{"text":204,"config":639},{"href":206,"dataGaName":207,"dataGaLocation":475},{"text":209,"config":641},{"href":211,"dataGaName":212,"dataGaLocation":475},{"text":214,"config":643},{"href":216,"dataGaName":217,"dataGaLocation":475},{"text":219,"config":645},{"href":221,"dataGaName":646,"dataGaLocation":475},"docs",{"text":242,"config":648},{"href":244,"dataGaName":245,"dataGaLocation":475},{"text":237,"config":650},{"href":239,"dataGaName":240,"dataGaLocation":475},{"text":247,"config":652},{"href":249,"dataGaName":250,"dataGaLocation":475},{"text":260,"config":654},{"href":262,"dataGaName":263,"dataGaLocation":475},{"text":252,"config":656},{"href":254,"dataGaName":255,"dataGaLocation":475},{"text":265,"config":658},{"href":267,"dataGaName":268,"dataGaLocation":475},{"text":270,"config":660},{"href":272,"dataGaName":273,"dataGaLocation":475},{"text":275,"config":662},{"href":277,"dataGaName":278,"dataGaLocation":475},{"text":280,"config":664},{"href":282,"dataGaName":283,"dataGaLocation":475},{"title":298,"links":666},[667,669,671,673,675,677,679,683,688,690,692,694],{"text":305,"config":668},{"href":307,"dataGaName":300,"dataGaLocation":475},{"text":310,"config":670},{"href":312,"dataGaName":313,"dataGaLocation":475},{"text":318,"config":672},{"href":320,"dataGaName":321,"dataGaLocation":475},{"text":323,"config":674},{"href":325,"dataGaName":326,"dataGaLocation":475},{"text":328,"config":676},{"href":330,"dataGaName":331,"dataGaLocation":475},{"text":333,"config":678},{"href":335,"dataGaName":336,"dataGaLocation":475},{"text":680,"config":681},"Sustainability",{"href":682,"dataGaName":680,"dataGaLocation":475},"/sustainability/",{"text":684,"config":685},"Diversity, inclusion and belonging (DIB)",{"href":686,"dataGaName":687,"dataGaLocation":475},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":338,"config":689},{"href":340,"dataGaName":341,"dataGaLocation":475},{"text":348,"config":691},{"href":350,"dataGaName":351,"dataGaLocation":475},{"text":353,"config":693},{"href":355,"dataGaName":356,"dataGaLocation":475},{"text":695,"config":696},"Modern Slavery Transparency Statement",{"href":697,"dataGaName":698,"dataGaLocation":475},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":700},[701,703,705],{"text":525,"config":702},{"href":527,"dataGaName":528,"dataGaLocation":475},{"text":530,"config":704},{"href":532,"dataGaName":533,"dataGaLocation":475},{"text":535,"config":706},{"dataGaName":537,"dataGaLocation":475,"id":538,"isOneTrustButton":91},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",{"post":712,"posts":713},null,[714,732,746,766,782,795,814,829,848,860,878,896,914,932,950,968,990,1011,1031,1052,1071,1091,1109,1130,1149,1169,1187,1209,1228,1246,1266,1285,1305,1323,1343,1362,1380,1398,1417,1439,1457,1475,1494,1512,1531,1550,1569,1590,1609,1630,1649,1669,1687,1706,1723,1743,1763,1781,1799,1817,1836,1855,1874,1894,1912,1932],{"_path":715,"_dir":716,"_draft":6,"_partial":6,"_locale":7,"content":717,"config":725,"_id":728,"_type":16,"title":729,"_source":17,"_file":730,"_stem":731,"_extension":20},"/en-us/blog/external-url/gitlab-patch-release-18-5-1-18-4-3-18-3-5","external-url",{"title":718,"description":719,"heroImage":720,"date":721,"category":14,"tags":722},"GitLab Patch Release: 18.5.1, 18.4.3, 18.3.5","Learn more about this release for GitLab Community Edition (CE) and Enterprise Edition (EE).","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749661926/Blog/Hero%20Images/security-patch-blog-image-r2-0506-700x400-fy25_2x.jpg","2025-10-22",[723,724],"patch releases","security releases",{"featured":6,"template":726,"externalUrl":727},"BlogPost","https://about.gitlab.com/releases/2025/10/22/patch-release-gitlab-18-5-1-released/","content:en-us:blog:external-url:gitlab-patch-release-18-5-1-18-4-3-18-3-5.yml","Gitlab Patch Release 18 5 1 18 4 3 18 3 5","en-us/blog/external-url/gitlab-patch-release-18-5-1-18-4-3-18-3-5.yml","en-us/blog/external-url/gitlab-patch-release-18-5-1-18-4-3-18-3-5",{"_path":733,"_dir":716,"_draft":6,"_partial":6,"_locale":7,"content":734,"config":740,"_id":742,"_type":16,"title":743,"_source":17,"_file":744,"_stem":745,"_extension":20},"/en-us/blog/external-url/gitlab-18-5-released",{"title":735,"description":736,"heroImage":737,"date":738,"category":14,"tags":739},"GitLab 18.5 released","Learn what's inside, including GitLab Duo Planner Agent (Beta), GitLab Duo Security Analyst Agent (Beta), Maven virtual registry UI (Beta), and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1760628860/ueqgsanpldmpxgzp1fre.png","2025-10-16",[14],{"featured":91,"template":726,"externalUrl":741},"https://about.gitlab.com/releases/2025/10/16/gitlab-18-5-released/","content:en-us:blog:external-url:gitlab-18-5-released.yml","Gitlab 18 5 Released","en-us/blog/external-url/gitlab-18-5-released.yml","en-us/blog/external-url/gitlab-18-5-released",{"_path":747,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":748,"content":752,"config":760,"_id":762,"_type":16,"title":763,"_source":17,"_file":764,"_stem":765,"_extension":20},"/en-us/blog/optimize-gitlab-object-storage-for-scale-and-performance",{"config":749,"title":750,"description":751},{"noIndex":6},"Optimize GitLab object storage for scale and performance","Configure GitLab object storage for maximum performance and cost savings. Learn consolidated forms, direct downloads, and identity-based authentication.",{"title":750,"description":751,"authors":753,"category":14,"tags":755,"heroImage":758,"date":759},[754],"Tim Rizzi",[14,756,757],"tutorial","features","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665151/Blog/Hero%20Images/blog-image-template-1800x945__27_.png","2025-10-08",{"featured":6,"template":726,"slug":761},"optimize-gitlab-object-storage-for-scale-and-performance","content:en-us:blog:optimize-gitlab-object-storage-for-scale-and-performance.yml","Optimize Gitlab Object Storage For Scale And Performance","en-us/blog/optimize-gitlab-object-storage-for-scale-and-performance.yml","en-us/blog/optimize-gitlab-object-storage-for-scale-and-performance",{"_path":767,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":768,"content":772,"config":776,"_id":778,"_type":16,"title":779,"_source":17,"_file":780,"_stem":781,"_extension":20},"/en-us/blog/streamline-enterprise-artifact-management-with-gitlab",{"config":769,"title":770,"description":771},{"noIndex":6},"Streamline enterprise artifact management with GitLab","Platform teams can spend $200K+ annually managing fragmented artifact systems. Learn about GitLab's strategic approach to consolidation.",{"title":770,"description":771,"heroImage":773,"authors":774,"category":14,"tags":775,"date":759},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png",[754],[14,757],{"featured":91,"template":726,"slug":777},"streamline-enterprise-artifact-management-with-gitlab","content:en-us:blog:streamline-enterprise-artifact-management-with-gitlab.yml","Streamline Enterprise Artifact Management With Gitlab","en-us/blog/streamline-enterprise-artifact-management-with-gitlab.yml","en-us/blog/streamline-enterprise-artifact-management-with-gitlab",{"_path":783,"_dir":716,"_draft":6,"_partial":6,"_locale":7,"content":784,"config":789,"_id":791,"_type":16,"title":792,"_source":17,"_file":793,"_stem":794,"_extension":20},"/en-us/blog/external-url/gitlab-patch-release-18-4-1-18-3-3-18-2-7",{"title":785,"description":786,"heroImage":720,"date":787,"category":14,"tags":788},"GitLab Patch Release: 18.4.1, 18.3.3, 18.2.7","Learn more about this patch release for GitLab Community Edition and Enterprise Edition.","2025-09-25",[724],{"featured":6,"template":726,"externalUrl":790},"https://about.gitlab.com/releases/2025/09/25/patch-release-gitlab-18-4-1-released/","content:en-us:blog:external-url:gitlab-patch-release-18-4-1-18-3-3-18-2-7.yml","Gitlab Patch Release 18 4 1 18 3 3 18 2 7","en-us/blog/external-url/gitlab-patch-release-18-4-1-18-3-3-18-2-7.yml","en-us/blog/external-url/gitlab-patch-release-18-4-1-18-3-3-18-2-7",{"_path":796,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":797,"content":801,"config":808,"_id":810,"_type":16,"title":811,"_source":17,"_file":812,"_stem":813,"_extension":20},"/en-us/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms",{"config":798,"title":799,"description":800},{"noIndex":6},"GitLab named a Leader in the 2025 Gartner Magic Quadrant for DevOps Platforms","GitLab ranks 1st in 4 out of 6 use cases in the accompanying 2025 Gartner® Critical Capabilities report.",{"title":799,"description":800,"authors":802,"heroImage":804,"date":787,"category":14,"tags":805},[803],"Manav Khurana","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758812952/yxhgljkwljld0lyizmaz.png",[14,806,807],"news","DevOps platform",{"featured":91,"template":726,"slug":809},"gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms","content:en-us:blog:gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms.yml","Gitlab Named A Leader In The 2025 Gartner Magic Quadrant For Devops Platforms","en-us/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms.yml","en-us/blog/gitlab-named-a-leader-in-the-2025-gartner-magic-quadrant-for-devops-platforms",{"_path":815,"_dir":716,"_draft":6,"_partial":6,"_locale":7,"content":816,"config":823,"_id":825,"_type":16,"title":826,"_source":17,"_file":827,"_stem":828,"_extension":20},"/en-us/blog/external-url/gitlab-18-4-released",{"title":817,"description":818,"heroImage":819,"date":820,"category":14,"tags":821},"GitLab 18.4 released","Latest version of GitLab includes Duo Model Selection generally available, Knowledge Graph, and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1758202527/zbdm4mehauv3poqetyhk.png","2025-09-18",[14,822],"releases",{"featured":91,"template":726,"externalUrl":824},"https://about.gitlab.com/releases/2025/09/18/gitlab-18-4-released/","content:en-us:blog:external-url:gitlab-18-4-released.yml","Gitlab 18 4 Released","en-us/blog/external-url/gitlab-18-4-released.yml","en-us/blog/external-url/gitlab-18-4-released",{"_path":830,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":831,"content":835,"config":842,"_id":844,"_type":16,"title":845,"_source":17,"_file":846,"_stem":847,"_extension":20},"/en-us/blog/how-we-supercharged-gitlab-ci-statuses-with-websockets",{"config":832,"ogTitle":833,"ogDescription":834,"title":833,"description":834},{"noIndex":6},"How we supercharged GitLab CI statuses with WebSockets","Learn how we reduced API calls on GitLab's CI job status updates from 45 million to 3.4 million calls per day.",{"title":833,"description":836,"authors":837,"heroImage":839,"date":840,"category":14,"tags":841},"Learn how we reduced API calls on GitLab's CI job status updates from 45 million to 3.4 million calls per day. Users now see job status changes instantly instead of waiting up to 30 seconds.",[838],"Payton Burdette","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663000/Blog/Hero%20Images/tanukilifecycle.png","2025-09-15",[14,757,109],{"featured":6,"template":726,"slug":843},"how-we-supercharged-gitlab-ci-statuses-with-websockets","content:en-us:blog:how-we-supercharged-gitlab-ci-statuses-with-websockets.yml","How We Supercharged Gitlab Ci Statuses With Websockets","en-us/blog/how-we-supercharged-gitlab-ci-statuses-with-websockets.yml","en-us/blog/how-we-supercharged-gitlab-ci-statuses-with-websockets",{"_path":849,"_dir":716,"_draft":6,"_partial":6,"_locale":7,"content":850,"config":854,"_id":856,"_type":16,"title":857,"_source":17,"_file":858,"_stem":859,"_extension":20},"/en-us/blog/external-url/gitlab-patch-release-18-3-2-18-2-6-18-1-6",{"title":851,"description":786,"heroImage":720,"date":852,"category":14,"tags":853},"GitLab Patch Release: 18.3.2, 18.2.6, 18.1.6","2025-09-10",[723],{"featured":6,"template":726,"externalUrl":855},"https://about.gitlab.com/releases/2025/09/10/patch-release-gitlab-18-3-2-released/","content:en-us:blog:external-url:gitlab-patch-release-18-3-2-18-2-6-18-1-6.yml","Gitlab Patch Release 18 3 2 18 2 6 18 1 6","en-us/blog/external-url/gitlab-patch-release-18-3-2-18-2-6-18-1-6.yml","en-us/blog/external-url/gitlab-patch-release-18-3-2-18-2-6-18-1-6",{"_path":861,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":862,"config":866,"content":868,"_id":874,"_type":16,"title":875,"_source":17,"_file":876,"_stem":877,"_extension":20},"/en-us/blog/custom-admin-roles-now-ga",{"config":863,"title":864,"description":865},{"noIndex":6},"Custom admin roles are now GA","GitLab now supports granular permissions in the Admin area, reducing the need for full-privileged administrators.",{"slug":867,"featured":6,"template":726},"custom-admin-roles-now-ga",{"title":864,"description":865,"authors":869,"heroImage":871,"date":872,"category":14,"tags":873},[870],"Joe Randazzo","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2025-08-25",[14,757],"content:en-us:blog:custom-admin-roles-now-ga.yml","Custom Admin Roles Now Ga","en-us/blog/custom-admin-roles-now-ga.yml","en-us/blog/custom-admin-roles-now-ga",{"_path":879,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":880,"content":884,"config":890,"_id":892,"_type":16,"title":893,"_source":17,"_file":894,"_stem":895,"_extension":20},"/en-us/blog/migrating-by-direct-transfer-is-generally-available",{"config":881,"title":882,"description":883},{"noIndex":6},"Migrating by direct transfer is generally available","Learn how to migrate GitLab groups and projects efficiently between GitLab instances with performant and secure migration by direct transfer.",{"title":882,"description":883,"authors":885,"heroImage":887,"date":888,"category":14,"tags":889},[886],"Magdalena Frankiewicz","https://res.cloudinary.com/about-gitlab-com/image/upload/v1753898687/nlxenzmbdk62dlylt3ey.png","2025-07-31",[573,14,757],{"featured":91,"template":726,"slug":891},"migrating-by-direct-transfer-is-generally-available","content:en-us:blog:migrating-by-direct-transfer-is-generally-available.yml","Migrating By Direct Transfer Is Generally Available","en-us/blog/migrating-by-direct-transfer-is-generally-available.yml","en-us/blog/migrating-by-direct-transfer-is-generally-available",{"_path":897,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":898,"content":901,"config":908,"_id":910,"_type":16,"title":911,"_source":17,"_file":912,"_stem":913,"_extension":20},"/en-us/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline",{"noIndex":6,"title":899,"description":900},"CI/CD inputs: Secure and preferred method to pass parameters to a pipeline","Learn how CI/CD inputs provide type-safe parameter passing with validation, replacing error-prone variables for more reliable pipelines.",{"title":899,"description":900,"authors":902,"heroImage":904,"date":905,"category":14,"tags":906},[903],"Dov Hershkovitch","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658912/Blog/Hero%20Images/blog-image-template-1800x945__20_.png","2025-07-07",[109,14,907],"security",{"featured":6,"template":726,"slug":909},"ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline","content:en-us:blog:ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline.yml","Ci Cd Inputs Secure And Preferred Method To Pass Parameters To A Pipeline","en-us/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline.yml","en-us/blog/ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline",{"_path":915,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":916,"content":919,"config":926,"_id":928,"_type":16,"title":929,"_source":17,"_file":930,"_stem":931,"_extension":20},"/en-us/blog/exact-code-search-find-code-faster-across-repositories",{"noIndex":6,"title":917,"description":918},"Exact Code Search: Find code faster across repositories","Discover how this new GitLab feature can find exact matches, use regex patterns, and see contextual results across terabytes of codebases.",{"title":917,"description":918,"authors":920,"heroImage":922,"date":923,"category":14,"tags":924},[921],"Dmitry Gruzd","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749675154/Blog/Hero%20Images/blog-image-template-1800x945__8_.png","2025-06-25",[14,756,925],"open source",{"featured":6,"template":726,"slug":927},"exact-code-search-find-code-faster-across-repositories","content:en-us:blog:exact-code-search-find-code-faster-across-repositories.yml","Exact Code Search Find Code Faster Across Repositories","en-us/blog/exact-code-search-find-code-faster-across-repositories.yml","en-us/blog/exact-code-search-find-code-faster-across-repositories",{"_path":933,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":934,"content":937,"config":944,"_id":946,"_type":16,"title":947,"_source":17,"_file":948,"_stem":949,"_extension":20},"/en-us/blog/reduce-the-load-on-gitlab-gitaly-with-bundle-uri",{"noIndex":6,"title":935,"description":936},"Reduce the load on GitLab Gitaly with bundle URI","Discover what the bundle URI Git feature is, how it is integrated into Gitaly, configuration best practices, and how GitLab users can benefit from it.",{"title":935,"description":936,"heroImage":938,"date":939,"category":14,"tags":940,"authors":942},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099013/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2814%29_6VTUA8mUhOZNDaRVNPeKwl_1750099012960.png","2025-06-24",[14,573,941],"git",[943],"Olivier Campeau",{"featured":6,"template":726,"slug":945},"reduce-the-load-on-gitlab-gitaly-with-bundle-uri","content:en-us:blog:reduce-the-load-on-gitlab-gitaly-with-bundle-uri.yml","Reduce The Load On Gitlab Gitaly With Bundle Uri","en-us/blog/reduce-the-load-on-gitlab-gitaly-with-bundle-uri.yml","en-us/blog/reduce-the-load-on-gitlab-gitaly-with-bundle-uri",{"_path":951,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":952,"content":955,"config":962,"_id":964,"_type":16,"title":965,"_source":17,"_file":966,"_stem":967,"_extension":20},"/en-us/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes",{"noIndex":6,"description":953,"title":954},"A new offering from GitLab and IBM bridges mainframe and cloud-native development with seamless integration, CI/CD runner support, end-to-end visibility, and cost efficiency. ","GitLab Ultimate for IBM Z: Modern DevSecOps for mainframes",{"title":954,"description":953,"category":14,"tags":956,"authors":957,"heroImage":960,"date":961},[283,14,109,573],[958,959],"Mike Flouton","Andy Bradfield","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750440008/myqt5vcjlffh8sszw507.png","2025-06-23",{"featured":91,"template":726,"slug":963},"gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes","content:en-us:blog:gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes.yml","Gitlab Ultimate For Ibm Z Modern Devsecops For Mainframes","en-us/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes.yml","en-us/blog/gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes",{"_path":969,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":970,"content":978,"config":984,"_id":986,"_type":16,"title":987,"_source":17,"_file":988,"_stem":989,"_extension":20},"/en-us/blog/ai-native-gitlab-premium-transform-higher-education-software-development",{"title":971,"description":972,"ogTitle":971,"ogDescription":972,"noIndex":6,"ogImage":973,"ogUrl":974,"ogSiteName":975,"ogType":976,"canonicalUrls":974,"schema":977},"AI-native GitLab Premium: Transform higher education software development","The DevSecOps platform's enterprise-grade features for academic workflows, data protection, and support ensure better collaboration, security, and efficiency.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png","https://about.gitlab.com/blog/ai-native-gitlab-premium-transform-higher-education-software-development","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"AI-native GitLab Premium: Transform higher education software development\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Jessica Hurwitz\"},{\"@type\":\"Person\",\"name\":\"Elisabeth Burrows\"}],\n        \"datePublished\": \"2025-06-10\",\n      }",{"title":971,"description":972,"authors":979,"heroImage":973,"date":982,"category":14,"tags":983},[980,981],"Jessica Hurwitz","Elisabeth Burrows","2025-06-10",[630,542,14,757,185],{"slug":985,"featured":91,"template":726},"ai-native-gitlab-premium-transform-higher-education-software-development","content:en-us:blog:ai-native-gitlab-premium-transform-higher-education-software-development.yml","Ai Native Gitlab Premium Transform Higher Education Software Development","en-us/blog/ai-native-gitlab-premium-transform-higher-education-software-development.yml","en-us/blog/ai-native-gitlab-premium-transform-higher-education-software-development",{"_path":991,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":992,"content":998,"config":1005,"_id":1007,"_type":16,"title":1008,"_source":17,"_file":1009,"_stem":1010,"_extension":20},"/en-us/blog/4-ways-to-accelerate-embedded-development-with-gitlab",{"title":993,"description":994,"ogTitle":993,"ogDescription":994,"noIndex":6,"ogImage":995,"ogUrl":996,"ogSiteName":975,"ogType":976,"canonicalUrls":996,"schema":997},"4 ways to accelerate embedded development with GitLab","Learn how automated hardware testing, standard builds, collaborative workflows, and integrated compliance eliminate bottlenecks in firmware development.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659756/Blog/Hero%20Images/REFERENCE_-_display_preview_for_blog_images.png","https://about.gitlab.com/blog/4-ways-to-accelerate-embedded-development-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"4 ways to accelerate embedded development with GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Matt DeLaney\"},{\"@type\":\"Person\",\"name\":\"Darwin Sanoy\"}],\n        \"datePublished\": \"2025-06-05\",\n      }",{"title":993,"description":994,"authors":999,"heroImage":995,"date":1002,"category":14,"tags":1003},[1000,1001],"Matt DeLaney","Darwin Sanoy","2025-06-05",[542,756,757,1004],"embedded DevOps",{"slug":1006,"featured":6,"template":726},"4-ways-to-accelerate-embedded-development-with-gitlab","content:en-us:blog:4-ways-to-accelerate-embedded-development-with-gitlab.yml","4 Ways To Accelerate Embedded Development With Gitlab","en-us/blog/4-ways-to-accelerate-embedded-development-with-gitlab.yml","en-us/blog/4-ways-to-accelerate-embedded-development-with-gitlab",{"_path":1012,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1013,"content":1019,"config":1025,"_id":1027,"_type":16,"title":1028,"_source":17,"_file":1029,"_stem":1030,"_extension":20},"/en-us/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025",{"title":1014,"description":1015,"ogTitle":1014,"ogDescription":1015,"noIndex":6,"ogImage":1016,"ogUrl":1017,"ogSiteName":975,"ogType":976,"canonicalUrls":1017,"schema":1018},"GitLab named a Leader in The Forrester Wave™: DevOps Platforms, Q2 2025","Forrester calls GitLab platform the \"most all-in-one of the all-in-one solutions,\" adding it \"suits enterprises looking to standardize with a single purchase.\"","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658898/Blog/Hero%20Images/blog-post-image-forrester-wave-1800x945px-fy26.png","https://about.gitlab.com/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab named a Leader in The Forrester Wave™: DevOps Platforms, Q2 2025\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Dave Steer\"}],\n        \"datePublished\": \"2025-06-02\",\n      }",{"title":1014,"description":1015,"authors":1020,"heroImage":1016,"date":1022,"category":14,"tags":1023},[1021],"Dave Steer","2025-06-02",[1024,14,806,542],"research",{"slug":1026,"featured":91,"template":726},"gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025","content:en-us:blog:gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025.yml","Gitlab Named A Leader In The Forrester Wave Devops Platforms Q2 2025","en-us/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025.yml","en-us/blog/gitlab-named-a-leader-in-the-forrester-wave-devops-platforms-q2-2025",{"_path":1032,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1033,"content":1039,"config":1046,"_id":1048,"_type":16,"title":1049,"_source":17,"_file":1050,"_stem":1051,"_extension":20},"/en-us/blog/getting-started-with-gitlab-working-with-ci-cd-variables",{"title":1034,"description":1035,"ogTitle":1034,"ogDescription":1035,"noIndex":6,"ogImage":1036,"ogUrl":1037,"ogSiteName":975,"ogType":976,"canonicalUrls":1037,"schema":1038},"Getting started with GitLab: Working with CI/CD variables","Learn what CI/CD variables are, why they are important in DevSecOps, and best practices for utilizing them.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659525/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25.png","https://about.gitlab.com/blog/getting-started-with-gitlab-working-with-ci-cd-variables","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Getting started with GitLab: Working with CI/CD variables\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab Team\"}],\n        \"datePublished\": \"2025-05-27\",\n      }",{"title":1034,"description":1035,"authors":1040,"heroImage":1036,"date":1042,"category":14,"tags":1043},[1041],"GitLab Team","2025-05-27",[14,756,1044,1045,109,757],"CI","CD",{"slug":1047,"featured":91,"template":726},"getting-started-with-gitlab-working-with-ci-cd-variables","content:en-us:blog:getting-started-with-gitlab-working-with-ci-cd-variables.yml","Getting Started With Gitlab Working With Ci Cd Variables","en-us/blog/getting-started-with-gitlab-working-with-ci-cd-variables.yml","en-us/blog/getting-started-with-gitlab-working-with-ci-cd-variables",{"_path":1053,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1054,"content":1060,"config":1065,"_id":1067,"_type":16,"title":1068,"_source":17,"_file":1069,"_stem":1070,"_extension":20},"/en-us/blog/gitlab-dedicated-for-government-now-fedramp-authorized",{"title":1055,"description":1056,"ogTitle":1055,"ogDescription":1056,"noIndex":6,"ogImage":1057,"ogUrl":1058,"ogSiteName":975,"ogType":976,"canonicalUrls":1058,"schema":1059},"GitLab Dedicated for Government now FedRAMP-authorized","Learn how our single-tenant SaaS solution empowers public sector customers to securely accelerate their modernization initiatives.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662023/Blog/Hero%20Images/display-dedicated-for-government-article-image-0679-1800x945-fy26.png","https://about.gitlab.com/blog/gitlab-dedicated-for-government-now-fedramp-authorized","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Dedicated for Government now FedRAMP-authorized\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Deepa Mahalingam\"},{\"@type\":\"Person\",\"name\":\"Elisabeth Burrows\"}],\n        \"datePublished\": \"2025-05-19\",\n      }",{"title":1055,"description":1056,"authors":1061,"heroImage":1057,"date":1063,"category":14,"tags":1064},[1062,981],"Deepa Mahalingam","2025-05-19",[542,757,806,14,185],{"slug":1066,"featured":91,"template":726},"gitlab-dedicated-for-government-now-fedramp-authorized","content:en-us:blog:gitlab-dedicated-for-government-now-fedramp-authorized.yml","Gitlab Dedicated For Government Now Fedramp Authorized","en-us/blog/gitlab-dedicated-for-government-now-fedramp-authorized.yml","en-us/blog/gitlab-dedicated-for-government-now-fedramp-authorized",{"_path":1072,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1073,"content":1079,"config":1085,"_id":1087,"_type":16,"title":1088,"_source":17,"_file":1089,"_stem":1090,"_extension":20},"/en-us/blog/gitlab-premium-with-duo",{"title":1074,"description":1075,"ogTitle":1074,"ogDescription":1075,"noIndex":6,"ogImage":1076,"ogUrl":1077,"ogSiteName":975,"ogType":976,"canonicalUrls":1077,"schema":1078},"Unlocking AI for every GitLab Premium and Ultimate customer","GitLab Premium and Ultimate now include GitLab Duo essentials for creating and understanding code throughout the software development lifecycle, all at no additional cost.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660188/Blog/Hero%20Images/blog-premium-with-duo-cover-0756-fy26-v2-1800x945.png","https://about.gitlab.com/blog/gitlab-premium-with-duo","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Unlocking AI for every GitLab Premium and Ultimate customer\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"David DeSanto, Chief Product Officer, GitLab\"}],\n        \"datePublished\": \"2025-05-15\",\n      }",{"title":1074,"description":1075,"authors":1080,"heroImage":1076,"date":1082,"category":14,"tags":1083},[1081],"David DeSanto, Chief Product Officer, GitLab","2025-05-15",[1084,542,806,757,14],"AI/ML",{"slug":1086,"featured":91,"template":726},"gitlab-premium-with-duo","content:en-us:blog:gitlab-premium-with-duo.yml","Gitlab Premium With Duo","en-us/blog/gitlab-premium-with-duo.yml","en-us/blog/gitlab-premium-with-duo",{"_path":1092,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1093,"content":1098,"config":1103,"_id":1105,"_type":16,"title":1106,"_source":17,"_file":1107,"_stem":1108,"_extension":20},"/en-us/blog/getting-started-with-gitlab-understanding-ci-cd",{"title":1094,"description":1095,"ogTitle":1094,"ogDescription":1095,"noIndex":6,"ogImage":1036,"ogUrl":1096,"ogSiteName":975,"ogType":976,"canonicalUrls":1096,"schema":1097},"Getting started with GitLab: Understanding CI/CD","Learn the basics of continuous integration/continuous delivery in this beginner's guide, including what CI/CD components are and how to create them.","https://about.gitlab.com/blog/getting-started-with-gitlab-understanding-ci-cd","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Getting started with GitLab: Understanding CI/CD\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab\"}],\n        \"datePublished\": \"2025-04-25\",\n      }",{"title":1094,"description":1095,"authors":1099,"heroImage":1036,"date":1101,"category":14,"tags":1102},[1100],"GitLab","2025-04-25",[109,1044,1045,542,14,756],{"slug":1104,"featured":91,"template":726},"getting-started-with-gitlab-understanding-ci-cd","content:en-us:blog:getting-started-with-gitlab-understanding-ci-cd.yml","Getting Started With Gitlab Understanding Ci Cd","en-us/blog/getting-started-with-gitlab-understanding-ci-cd.yml","en-us/blog/getting-started-with-gitlab-understanding-ci-cd",{"_path":1110,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1111,"content":1117,"config":1124,"_id":1126,"_type":16,"title":1127,"_source":17,"_file":1128,"_stem":1129,"_extension":20},"/en-us/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0",{"title":1112,"description":1113,"ogTitle":1112,"ogDescription":1113,"noIndex":6,"ogImage":1114,"ogUrl":1115,"ogSiteName":975,"ogType":976,"canonicalUrls":1115,"schema":1116},"A guide to the breaking changes in GitLab 18.0","Prepare now for the removals in our upcoming major release. Assess your impact and then review the mitigation steps provided in the documentation to ensure a smooth transition to GitLab 18.0.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659437/Blog/Hero%20Images/AdobeStock_398929148.jpg","https://about.gitlab.com/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"A guide to the breaking changes in GitLab 18.0\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Martin Brümmer\"},{\"@type\":\"Person\",\"name\":\"Fabian Zimmer\"},{\"@type\":\"Person\",\"name\":\"Sam Wiskow\"}],\n        \"datePublished\": \"2025-04-18\",\n      }",{"title":1112,"description":1113,"authors":1118,"heroImage":1114,"date":1122,"category":14,"tags":1123},[1119,1120,1121],"Martin Brümmer","Fabian Zimmer","Sam Wiskow","2025-04-18",[14,542],{"slug":1125,"featured":6,"template":726},"a-guide-to-the-breaking-changes-in-gitlab-18-0","content:en-us:blog:a-guide-to-the-breaking-changes-in-gitlab-18-0.yml","A Guide To The Breaking Changes In Gitlab 18 0","en-us/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0.yml","en-us/blog/a-guide-to-the-breaking-changes-in-gitlab-18-0",{"_path":1131,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1132,"content":1138,"config":1143,"_id":1145,"_type":16,"title":1146,"_source":17,"_file":1147,"_stem":1148,"_extension":20},"/en-us/blog/improving-oauth-ropc-security-on-gitlab-com",{"title":1133,"description":1134,"ogTitle":1133,"ogDescription":1134,"noIndex":6,"ogImage":1135,"ogUrl":1136,"ogSiteName":975,"ogType":976,"canonicalUrls":1136,"schema":1137},"Improving OAuth ROPC security on GitLab.com","GitLab.com is improving the security of OAuth Resource Owner Password Credentials (ROPC) by requiring client authentication, effective April 8, 2025.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663239/Blog/Hero%20Images/AdobeStock_1023776629.jpg","https://about.gitlab.com/blog/improving-oauth-ropc-security-on-gitlab-com","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Improving OAuth ROPC security on GitLab.com\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab Security Team\"}],\n        \"datePublished\": \"2025-04-01\",\n      }",{"title":1133,"description":1134,"authors":1139,"heroImage":1135,"date":1141,"category":14,"tags":1142},[1140],"GitLab Security Team","2025-04-01",[14,907,542],{"slug":1144,"featured":6,"template":726},"improving-oauth-ropc-security-on-gitlab-com","content:en-us:blog:improving-oauth-ropc-security-on-gitlab-com.yml","Improving Oauth Ropc Security On Gitlab Com","en-us/blog/improving-oauth-ropc-security-on-gitlab-com.yml","en-us/blog/improving-oauth-ropc-security-on-gitlab-com",{"_path":1150,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1151,"content":1157,"config":1163,"_id":1165,"_type":16,"title":1166,"_source":17,"_file":1167,"_stem":1168,"_extension":20},"/en-us/blog/more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated",{"title":1152,"description":1153,"ogTitle":1152,"ogDescription":1153,"noIndex":6,"ogImage":1154,"ogUrl":1155,"ogSiteName":975,"ogType":976,"canonicalUrls":1155,"schema":1156},"More granular product usage insights for GitLab Self-Managed and Dedicated","Learn how event-level data helps GitLab improve the DevSecOps platform. Opt-out option is always available.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099221/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_78Dav6FR9EGjhebHWuBVan_1750099221690.png","https://about.gitlab.com/blog/more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"More granular product usage insights for GitLab Self-Managed and Dedicated\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tanuja Jayarama Raju\"}],\n        \"datePublished\": \"2025-03-26\",\n      }",{"title":1152,"description":1153,"authors":1158,"heroImage":1154,"date":1160,"category":14,"tags":1161,"updatedDate":1162},[1159],"Tanuja Jayarama Raju","2025-03-26",[14,542,757],"2025-05-14",{"slug":1164,"featured":91,"template":726},"more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated","content:en-us:blog:more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated.yml","More Granular Product Usage Insights For Gitlab Self Managed And Dedicated","en-us/blog/more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated.yml","en-us/blog/more-granular-product-usage-insights-for-gitlab-self-managed-and-dedicated",{"_path":1170,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1171,"content":1176,"config":1181,"_id":1183,"_type":16,"title":1184,"_source":17,"_file":1185,"_stem":1186,"_extension":20},"/en-us/blog/automating-agile-workflows-with-the-gitlab-triage-gem",{"title":1172,"description":1173,"ogTitle":1172,"ogDescription":1173,"noIndex":6,"ogImage":1036,"ogUrl":1174,"ogSiteName":975,"ogType":976,"canonicalUrls":1174,"schema":1175},"Automating Agile workflows with the gitlab-triage gem","Learn how to automate repetitive tasks like triaging issues and merge requests to free up valuable developer time in our \"Getting Started with GitLab\" series.","https://about.gitlab.com/blog/automating-agile-workflows-with-the-gitlab-triage-gem","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Automating Agile workflows with the gitlab-triage gem\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab\"}],\n        \"datePublished\": \"2025-03-13\",\n      }",{"title":1172,"description":1173,"authors":1177,"heroImage":1036,"date":1178,"category":14,"tags":1179},[1100],"2025-03-13",[542,756,14,1180,109],"agile",{"slug":1182,"featured":6,"template":726},"automating-agile-workflows-with-the-gitlab-triage-gem","content:en-us:blog:automating-agile-workflows-with-the-gitlab-triage-gem.yml","Automating Agile Workflows With The Gitlab Triage Gem","en-us/blog/automating-agile-workflows-with-the-gitlab-triage-gem.yml","en-us/blog/automating-agile-workflows-with-the-gitlab-triage-gem",{"_path":1188,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1189,"content":1195,"config":1203,"_id":1205,"_type":16,"title":1206,"_source":17,"_file":1207,"_stem":1208,"_extension":20},"/en-us/blog/beautifying-our-ui-enhancing-gitlabs-deployment-experience",{"title":1190,"description":1191,"ogTitle":1190,"ogDescription":1191,"noIndex":6,"ogImage":1192,"ogUrl":1193,"ogSiteName":975,"ogType":976,"canonicalUrls":1193,"schema":1194},"Beautifying our UI: Enhancing GitLab's deployment experience","Go inside our innovative approach to improving our user interface, including pairing product designers and frontend engineers to make usability improvements across the platform.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097783/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%288%29_5KLUrr4DkY2u0JTMA12FVm_1750097783460.png","https://about.gitlab.com/blog/beautifying-our-ui-enhancing-gitlabs-deployment-experience","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Beautifying our UI: Enhancing GitLab's deployment experience\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Emily Bauman\"}],\n        \"datePublished\": \"2025-03-06\",\n      }",{"title":1190,"description":1191,"authors":1196,"heroImage":1192,"date":1198,"category":14,"tags":1199},[1197],"Emily Bauman","2025-03-06",[1200,1201,1202,14,542],"design","UX","UI",{"slug":1204,"featured":6,"template":726},"beautifying-our-ui-enhancing-gitlabs-deployment-experience","content:en-us:blog:beautifying-our-ui-enhancing-gitlabs-deployment-experience.yml","Beautifying Our Ui Enhancing Gitlabs Deployment Experience","en-us/blog/beautifying-our-ui-enhancing-gitlabs-deployment-experience.yml","en-us/blog/beautifying-our-ui-enhancing-gitlabs-deployment-experience",{"_path":1210,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1211,"content":1217,"config":1222,"_id":1224,"_type":16,"title":1225,"_source":17,"_file":1226,"_stem":1227,"_extension":20},"/en-us/blog/build-a-new-website-in-a-few-easy-steps-with-gitlab-pages",{"title":1212,"description":1213,"ogTitle":1212,"ogDescription":1213,"noIndex":6,"ogImage":1214,"ogUrl":1215,"ogSiteName":975,"ogType":976,"canonicalUrls":1215,"schema":1216},"Build a new website in a few easy steps with GitLab Pages ","This tutorial shows you how to create and host your personal website using GitLab Pages with a ready-to-use template that you can customize in minutes.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097716/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%281%29_7c3TDgNgct9xQbmTJSw0de_1750097716096.png","https://about.gitlab.com/blog/build-a-new-website-in-a-few-easy-steps-with-gitlab-pages","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Build a new website in a few easy steps with GitLab Pages \",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Alex Fracazo\"}],\n        \"datePublished\": \"2025-03-03\",\n      }",{"title":1212,"description":1213,"authors":1218,"heroImage":1214,"date":1220,"category":14,"tags":1221},[1219],"Alex Fracazo","2025-03-03",[756,542],{"slug":1223,"featured":6,"template":726},"build-a-new-website-in-a-few-easy-steps-with-gitlab-pages","content:en-us:blog:build-a-new-website-in-a-few-easy-steps-with-gitlab-pages.yml","Build A New Website In A Few Easy Steps With Gitlab Pages","en-us/blog/build-a-new-website-in-a-few-easy-steps-with-gitlab-pages.yml","en-us/blog/build-a-new-website-in-a-few-easy-steps-with-gitlab-pages",{"_path":1229,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1230,"content":1236,"config":1240,"_id":1242,"_type":16,"title":1243,"_source":17,"_file":1244,"_stem":1245,"_extension":20},"/en-us/blog/build-and-run-containers-in-remote-development-workspaces",{"title":1231,"description":1232,"ogTitle":1231,"ogDescription":1232,"noIndex":6,"ogImage":1233,"ogUrl":1234,"ogSiteName":975,"ogType":976,"canonicalUrls":1234,"schema":1235},"Build and run containers in Remote Development workspaces","Use this easy-to-follow tutorial to create a secure, ephemeral, reproducible development environment in GitLab that can replace your local environments.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663857/Blog/Hero%20Images/blog-image-template-1800x945__12_.png","https://about.gitlab.com/blog/build-and-run-containers-in-remote-development-workspaces","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Build and run containers in Remote Development workspaces\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Vishal Tak\"}],\n        \"datePublished\": \"2025-03-03\",\n      }",{"title":1231,"description":1232,"authors":1237,"heroImage":1233,"date":1220,"category":14,"tags":1239},[1238],"Vishal Tak",[756,542,757,14],{"slug":1241,"featured":91,"template":726},"build-and-run-containers-in-remote-development-workspaces","content:en-us:blog:build-and-run-containers-in-remote-development-workspaces.yml","Build And Run Containers In Remote Development Workspaces","en-us/blog/build-and-run-containers-in-remote-development-workspaces.yml","en-us/blog/build-and-run-containers-in-remote-development-workspaces",{"_path":1247,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1248,"content":1254,"config":1260,"_id":1262,"_type":16,"title":1263,"_source":17,"_file":1264,"_stem":1265,"_extension":20},"/en-us/blog/create-a-workspace-quickly-with-the-gitlab-default-devfile",{"title":1249,"description":1250,"ogTitle":1249,"ogDescription":1250,"noIndex":6,"ogImage":1251,"ogUrl":1252,"ogSiteName":975,"ogType":976,"canonicalUrls":1252,"schema":1253},"Create a workspace quickly with the GitLab default devfile","The GitLab default devfile makes it easier than ever to try out workspaces for new projects. Learn how to share developer environment configurations effortlessly with this tutorial.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097860/Blog/Hero%20Images/Blog/Hero%20Images/REFERENCE%20-%20display%20preview%20for%20blog%20images%20%281%29_2XDPsbkjQ3o6tcdom6IGxI_1750097859914.png","https://about.gitlab.com/blog/create-a-workspace-quickly-with-the-gitlab-default-devfile","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Create a workspace quickly with the GitLab default devfile\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Zhaochen Li\"}],\n        \"datePublished\": \"2025-02-27\",\n      }",{"title":1249,"description":1250,"authors":1255,"heroImage":1251,"date":1257,"category":14,"tags":1258},[1256],"Zhaochen Li","2025-02-27",[1259,542,757,756,14],"collaboration",{"slug":1261,"featured":6,"template":726},"create-a-workspace-quickly-with-the-gitlab-default-devfile","content:en-us:blog:create-a-workspace-quickly-with-the-gitlab-default-devfile.yml","Create A Workspace Quickly With The Gitlab Default Devfile","en-us/blog/create-a-workspace-quickly-with-the-gitlab-default-devfile.yml","en-us/blog/create-a-workspace-quickly-with-the-gitlab-default-devfile",{"_path":1267,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1268,"content":1274,"config":1279,"_id":1281,"_type":16,"title":1282,"_source":17,"_file":1283,"_stem":1284,"_extension":20},"/en-us/blog/structuring-the-gitlab-package-registry-for-enterprise-scale",{"title":1269,"description":1270,"ogTitle":1269,"ogDescription":1270,"noIndex":6,"ogImage":1271,"ogUrl":1272,"ogSiteName":975,"ogType":976,"canonicalUrls":1272,"schema":1273},"Structuring the GitLab Package Registry for enterprise scale","Learn how to leverage GitLab's unique project-based publishing model alongside root-group-level consumption to create a secure, flexible package management strategy.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662332/Blog/Hero%20Images/blog-image-template-1800x945__23_.png","https://about.gitlab.com/blog/structuring-the-gitlab-package-registry-for-enterprise-scale","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Structuring the GitLab Package Registry for enterprise scale\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tim Rizzi\"}],\n        \"datePublished\": \"2025-02-19\",\n      }",{"title":1269,"description":1270,"authors":1275,"heroImage":1271,"date":1276,"category":14,"tags":1277},[754],"2025-02-19",[573,756,1278],"solutions architecture",{"slug":1280,"featured":91,"template":726},"structuring-the-gitlab-package-registry-for-enterprise-scale","content:en-us:blog:structuring-the-gitlab-package-registry-for-enterprise-scale.yml","Structuring The Gitlab Package Registry For Enterprise Scale","en-us/blog/structuring-the-gitlab-package-registry-for-enterprise-scale.yml","en-us/blog/structuring-the-gitlab-package-registry-for-enterprise-scale",{"_path":1286,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1287,"content":1293,"config":1299,"_id":1301,"_type":16,"title":1302,"_source":17,"_file":1303,"_stem":1304,"_extension":20},"/en-us/blog/certificate-based-kubernetes-integration-sunsetting-on-gitlab-com",{"title":1288,"description":1289,"ogTitle":1288,"ogDescription":1289,"noIndex":6,"ogImage":1290,"ogUrl":1291,"ogSiteName":975,"ogType":976,"canonicalUrls":1291,"schema":1292},"Certificate-based Kubernetes integration sunsetting on GitLab.com","Learn how to check if you are impacted by the sunsetting in May 2026 and the steps needed to migrate to our proposed alternatives, including the GitLab agent for Kubernetes.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662245/Blog/Hero%20Images/blog-image-template-1800x945__16_.png","https://about.gitlab.com/blog/certificate-based-kubernetes-integration-sunsetting-on-gitlab-com","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Certificate-based Kubernetes integration sunsetting on GitLab.com\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Viktor Nagy\"}],\n        \"datePublished\": \"2025-02-17\",\n      }",{"title":1288,"description":1289,"authors":1294,"heroImage":1290,"date":1296,"category":14,"tags":1297,"updatedDate":1122},[1295],"Viktor Nagy","2025-02-17",[109,1298,14,542],"kubernetes",{"slug":1300,"featured":6,"template":726},"certificate-based-kubernetes-integration-sunsetting-on-gitlab-com","content:en-us:blog:certificate-based-kubernetes-integration-sunsetting-on-gitlab-com.yml","Certificate Based Kubernetes Integration Sunsetting On Gitlab Com","en-us/blog/certificate-based-kubernetes-integration-sunsetting-on-gitlab-com.yml","en-us/blog/certificate-based-kubernetes-integration-sunsetting-on-gitlab-com",{"_path":1306,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1307,"content":1313,"config":1317,"_id":1319,"_type":16,"title":1320,"_source":17,"_file":1321,"_stem":1322,"_extension":20},"/en-us/blog/getting-started-with-gitlab-mastering-project-management",{"title":1308,"description":1309,"ogTitle":1308,"ogDescription":1309,"noIndex":6,"ogImage":1310,"ogUrl":1311,"ogSiteName":975,"ogType":976,"canonicalUrls":1311,"schema":1312},"Getting started with GitLab: Mastering project management","Discover the key components of project management and how to put them to use for better organization and tracking.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097294/Blog/Hero%20Images/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25_cFwd8DYFLekdnOLmbbChp_1750097293924.png","https://about.gitlab.com/blog/getting-started-with-gitlab-mastering-project-management","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Getting started with GitLab: Mastering project management\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"GitLab\"}],\n        \"datePublished\": \"2025-02-11\",\n      }",{"title":1308,"description":1309,"authors":1314,"heroImage":1310,"date":1315,"category":14,"tags":1316},[1100],"2025-02-11",[756,14,542,1180],{"slug":1318,"featured":6,"template":726},"getting-started-with-gitlab-mastering-project-management","content:en-us:blog:getting-started-with-gitlab-mastering-project-management.yml","Getting Started With Gitlab Mastering Project Management","en-us/blog/getting-started-with-gitlab-mastering-project-management.yml","en-us/blog/getting-started-with-gitlab-mastering-project-management",{"_path":1324,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1325,"content":1331,"config":1337,"_id":1339,"_type":16,"title":1340,"_source":17,"_file":1341,"_stem":1342,"_extension":20},"/en-us/blog/deploy-a-server-using-go-with-gitlab-google-cloud",{"title":1326,"description":1327,"ogTitle":1326,"ogDescription":1327,"noIndex":6,"ogImage":1328,"ogUrl":1329,"ogSiteName":975,"ogType":976,"canonicalUrls":1329,"schema":1330},"Deploy a server using Go with GitLab + Google Cloud","This tutorial shows how to use GitLab’s Google Cloud integration to deploy a Golang server in less than 10 minutes, helping developers become more independent and efficient.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098028/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945_fJKX41PJHKCfSOWw4xQxm_1750098028126.png","https://about.gitlab.com/blog/deploy-a-server-using-go-with-gitlab-google-cloud","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Deploy a server using Go with GitLab + Google Cloud\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Claire Champernowne\"},{\"@type\":\"Person\",\"name\":\"Noah Ing\"}],\n        \"datePublished\": \"2025-01-28\",\n      }",{"title":1326,"description":1327,"authors":1332,"heroImage":1328,"date":1335,"category":14,"tags":1336},[1333,1334],"Claire Champernowne","Noah Ing","2025-01-28",[573,542,756,1278,14,757],{"slug":1338,"featured":6,"template":726},"deploy-a-server-using-go-with-gitlab-google-cloud","content:en-us:blog:deploy-a-server-using-go-with-gitlab-google-cloud.yml","Deploy A Server Using Go With Gitlab Google Cloud","en-us/blog/deploy-a-server-using-go-with-gitlab-google-cloud.yml","en-us/blog/deploy-a-server-using-go-with-gitlab-google-cloud",{"_path":1344,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1345,"content":1351,"config":1356,"_id":1358,"_type":16,"title":1359,"_source":17,"_file":1360,"_stem":1361,"_extension":20},"/en-us/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab",{"title":1346,"description":1347,"ogTitle":1346,"ogDescription":1347,"noIndex":6,"ogImage":1348,"ogUrl":1349,"ogSiteName":975,"ogType":976,"canonicalUrls":1349,"schema":1350},"From code to production: A guide to continuous deployment with GitLab","Learn how to get started building a robust continuous deployment pipeline in GitLab. Follow these step-by-step instructions, practical examples, and best practices.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659478/Blog/Hero%20Images/REFERENCE_-_Use_this_page_as_a_reference_for_thumbnail_sizes.png","https://about.gitlab.com/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"From code to production: A guide to continuous deployment with GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Benjamin Skierlak\"},{\"@type\":\"Person\",\"name\":\"James Wormwell\"}],\n        \"datePublished\": \"2025-01-28\",\n      }",{"title":1346,"description":1347,"authors":1352,"heroImage":1348,"date":1335,"category":14,"tags":1355},[1353,1354],"Benjamin Skierlak","James Wormwell",[1045,109,757,14,756],{"slug":1357,"featured":6,"template":726},"from-code-to-production-a-guide-to-continuous-deployment-with-gitlab","content:en-us:blog:from-code-to-production-a-guide-to-continuous-deployment-with-gitlab.yml","From Code To Production A Guide To Continuous Deployment With Gitlab","en-us/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab.yml","en-us/blog/from-code-to-production-a-guide-to-continuous-deployment-with-gitlab",{"_path":1363,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1364,"content":1370,"config":1374,"_id":1376,"_type":16,"title":1377,"_source":17,"_file":1378,"_stem":1379,"_extension":20},"/en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab",{"title":1365,"description":1366,"ogTitle":1365,"ogDescription":1366,"noIndex":6,"ogImage":1367,"ogUrl":1368,"ogSiteName":975,"ogType":976,"canonicalUrls":1368,"schema":1369},"Getting started with GitLab: How to import your projects to GitLab","Learn how to import your projects from various sources, including Bitbucket, Gitea, GitHub, and GitLab Self-Managed.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097248/Blog/Hero%20Images/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25_cFwd8DYFLekdnOLmbbChp_1750097247785.png","https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Getting started with GitLab: How to import your projects to GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Abubakar Siddiq Ango\"}],\n        \"datePublished\": \"2025-01-28\",\n      }",{"title":1365,"description":1366,"authors":1371,"heroImage":1367,"date":1335,"category":14,"tags":1373},[1372],"Abubakar Siddiq Ango",[14,756,542],{"slug":1375,"featured":6,"template":726},"getting-started-with-gitlab-how-to-import-your-projects-to-gitlab","content:en-us:blog:getting-started-with-gitlab-how-to-import-your-projects-to-gitlab.yml","Getting Started With Gitlab How To Import Your Projects To Gitlab","en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab.yml","en-us/blog/getting-started-with-gitlab-how-to-import-your-projects-to-gitlab",{"_path":1381,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1382,"content":1388,"config":1392,"_id":1394,"_type":16,"title":1395,"_source":17,"_file":1396,"_stem":1397,"_extension":20},"/en-us/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features",{"title":1383,"description":1384,"ogTitle":1383,"ogDescription":1384,"noIndex":6,"ogImage":1385,"ogUrl":1386,"ogSiteName":975,"ogType":976,"canonicalUrls":1386,"schema":1387},"Secure, compliant, and AI-powered: Get to know 3 new GitLab features","Enhance security, leverage new AI capabilities, and protect sensitive data with our latest platform improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664458/Blog/Hero%20Images/Gartner_AI_Code_Assistants_Blog_Post_Cover_Image_1800x945.png","https://about.gitlab.com/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Secure, compliant, and AI-powered: Get to know 3 new GitLab features\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Jessica Hurwitz\"}],\n        \"datePublished\": \"2025-01-27\",\n      }",{"title":1383,"description":1384,"authors":1389,"heroImage":1385,"date":1390,"category":14,"tags":1391},[980],"2025-01-27",[573,542,757,14,907],{"slug":1393,"featured":91,"template":726},"secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features","content:en-us:blog:secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features.yml","Secure Compliant And Ai Powered Get To Know 3 New Gitlab Features","en-us/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features.yml","en-us/blog/secure-compliant-and-ai-powered-get-to-know-3-new-gitlab-features",{"_path":1399,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1400,"content":1406,"config":1411,"_id":1413,"_type":16,"title":1414,"_source":17,"_file":1415,"_stem":1416,"_extension":20},"/en-us/blog/hosted-runners-for-gitlab-dedicated-now-in-limited-availability",{"title":1401,"description":1402,"ogTitle":1401,"ogDescription":1402,"noIndex":6,"ogImage":1403,"ogUrl":1404,"ogSiteName":975,"ogType":976,"canonicalUrls":1404,"schema":1405},"Hosted runners for GitLab Dedicated: Now in limited availability"," Simplify CI/CD infrastructure management with hosted runners for GitLab Dedicated, a fully managed solution that handles all aspects of runner infrastructure.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664751/Blog/Hero%20Images/AdobeStock_640077932.jpg","https://about.gitlab.com/blog/hosted-runners-for-gitlab-dedicated-now-in-limited-availability","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Hosted runners for GitLab Dedicated: Now in limited availability\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Gabriel Engel\"}],\n        \"datePublished\": \"2025-01-23\",\n      }",{"title":1401,"description":1402,"authors":1407,"heroImage":1403,"date":1409,"category":14,"tags":1410},[1408],"Gabriel Engel","2025-01-23",[573,542,757,806,109,185],{"slug":1412,"featured":6,"template":726},"hosted-runners-for-gitlab-dedicated-now-in-limited-availability","content:en-us:blog:hosted-runners-for-gitlab-dedicated-now-in-limited-availability.yml","Hosted Runners For Gitlab Dedicated Now In Limited Availability","en-us/blog/hosted-runners-for-gitlab-dedicated-now-in-limited-availability.yml","en-us/blog/hosted-runners-for-gitlab-dedicated-now-in-limited-availability",{"_path":1418,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1419,"content":1425,"config":1433,"_id":1435,"_type":16,"title":1436,"_source":17,"_file":1437,"_stem":1438,"_extension":20},"/en-us/blog/google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab",{"title":1420,"description":1421,"ogTitle":1420,"ogDescription":1421,"noIndex":6,"ogImage":1422,"ogUrl":1423,"ogSiteName":975,"ogType":976,"canonicalUrls":1423,"schema":1424},"Google Cloud integrations for secure Cloud Run deployments at GitLab","This tutorial demonstrates how to use GitLab’s Google Artifact Management integration to deploy to Google Cloud Run, a serverless runtime for containers application.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099336/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945_fJKX41PJHKCfSOWw4xQxm_1750099336757.png","https://about.gitlab.com/blog/google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Google Cloud integrations for secure Cloud Run deployments at GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Regnard Raquedan\"},{\"@type\":\"Person\",\"name\":\"Matt Genelin\"}],\n        \"datePublished\": \"2025-01-15\",\n      }",{"title":1420,"description":1421,"authors":1426,"heroImage":1422,"date":1429,"category":14,"tags":1430},[1427,1428],"Regnard Raquedan","Matt Genelin","2025-01-15",[232,1431,1432,756,1278],"google","GKE",{"slug":1434,"featured":6,"template":726},"google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab","content:en-us:blog:google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab.yml","Google Cloud Integrations For Secure Cloud Run Deployments At Gitlab","en-us/blog/google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab.yml","en-us/blog/google-cloud-integrations-for-secure-cloud-run-deployments-at-gitlab",{"_path":1440,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1441,"content":1447,"config":1451,"_id":1453,"_type":16,"title":1454,"_source":17,"_file":1455,"_stem":1456,"_extension":20},"/en-us/blog/getting-started-with-gitlab-how-to-manage-users",{"title":1442,"description":1443,"ogTitle":1442,"ogDescription":1443,"noIndex":6,"ogImage":1444,"ogUrl":1445,"ogSiteName":975,"ogType":976,"canonicalUrls":1445,"schema":1446},"Getting started with GitLab: How to manage users","Learn how to manage users using groups, roles, and permissions. Walk through the setup of secure collaboration with proper project access.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097273/Blog/Hero%20Images/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25_cFwd8DYFLekdnOLmbbChp_1750097273817.png","https://about.gitlab.com/blog/getting-started-with-gitlab-how-to-manage-users","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Getting started with GitLab: How to manage users\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Abubakar Siddiq Ango\"}],\n        \"datePublished\": \"2025-01-14\",\n      }",{"title":1442,"description":1443,"authors":1448,"heroImage":1444,"date":1449,"category":14,"tags":1450},[1372],"2025-01-14",[542,757,756,1180,14],{"slug":1452,"featured":91,"template":726},"getting-started-with-gitlab-how-to-manage-users","content:en-us:blog:getting-started-with-gitlab-how-to-manage-users.yml","Getting Started With Gitlab How To Manage Users","en-us/blog/getting-started-with-gitlab-how-to-manage-users.yml","en-us/blog/getting-started-with-gitlab-how-to-manage-users",{"_path":1458,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1459,"content":1464,"config":1469,"_id":1471,"_type":16,"title":1472,"_source":17,"_file":1473,"_stem":1474,"_extension":20},"/en-us/blog/5-gitlab-premium-features-to-help-your-team-scale",{"title":1460,"description":1461,"ogTitle":1460,"ogDescription":1461,"noIndex":6,"ogImage":758,"ogUrl":1462,"ogSiteName":975,"ogType":976,"canonicalUrls":1462,"schema":1463},"5 GitLab Premium features to help your team scale","Explore how GitLab Premium boosts team collaboration and productivity, enabling organizations to scale with streamlined workflows and advanced capabilities.","https://about.gitlab.com/blog/5-gitlab-premium-features-to-help-your-team-scale","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"5 GitLab Premium features to help your team scale\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Julie Griffin\"}],\n        \"datePublished\": \"2024-12-18\",\n      }",{"title":1460,"description":1461,"authors":1465,"heroImage":758,"date":1467,"category":14,"tags":1468},[1466],"Julie Griffin","2024-12-18",[542,757],{"slug":1470,"featured":6,"template":726},"5-gitlab-premium-features-to-help-your-team-scale","content:en-us:blog:5-gitlab-premium-features-to-help-your-team-scale.yml","5 Gitlab Premium Features To Help Your Team Scale","en-us/blog/5-gitlab-premium-features-to-help-your-team-scale.yml","en-us/blog/5-gitlab-premium-features-to-help-your-team-scale",{"_path":1476,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1477,"content":1483,"config":1488,"_id":1490,"_type":16,"title":1491,"_source":17,"_file":1492,"_stem":1493,"_extension":20},"/en-us/blog/transform-code-quality-and-compliance-with-automated-processes",{"title":1478,"description":1479,"ogTitle":1478,"ogDescription":1479,"noIndex":6,"ogImage":1480,"ogUrl":1481,"ogSiteName":975,"ogType":976,"canonicalUrls":1481,"schema":1482},"Transform code quality and compliance with automated processes","Learn how GitLab Premium features address the technical debt and security vulnerability challenges that plague traditional approaches.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660151/Blog/Hero%20Images/blog-image-template-1800x945__26_.png","https://about.gitlab.com/blog/transform-code-quality-and-compliance-with-automated-processes","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Transform code quality and compliance with automated processes\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Jessica Hurwitz\"}],\n        \"datePublished\": \"2024-12-13\",\n      }",{"title":1478,"description":1479,"authors":1484,"heroImage":1480,"date":1485,"category":14,"tags":1486},[980],"2024-12-13",[1044,1487,542,14,907,757],"code review",{"slug":1489,"featured":6,"template":726},"transform-code-quality-and-compliance-with-automated-processes","content:en-us:blog:transform-code-quality-and-compliance-with-automated-processes.yml","Transform Code Quality And Compliance With Automated Processes","en-us/blog/transform-code-quality-and-compliance-with-automated-processes.yml","en-us/blog/transform-code-quality-and-compliance-with-automated-processes",{"_path":1495,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1496,"content":1502,"config":1506,"_id":1508,"_type":16,"title":1509,"_source":17,"_file":1510,"_stem":1511,"_extension":20},"/en-us/blog/streamline-migrations-with-user-contribution-and-membership-mapping",{"title":1497,"description":1498,"ogTitle":1497,"ogDescription":1498,"noIndex":6,"ogImage":1499,"ogUrl":1500,"ogSiteName":975,"ogType":976,"canonicalUrls":1500,"schema":1501},"Streamline migrations with user contribution and membership mapping","New GitLab feature enhances project imports, allowing post-import user contribution mapping and greater flexibility and control.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663670/Blog/Hero%20Images/blog-image-template-1800x945__13_.png","https://about.gitlab.com/blog/streamline-migrations-with-user-contribution-and-membership-mapping","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Streamline migrations with user contribution and membership mapping\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Magdalena Frankiewicz\"}],\n        \"datePublished\": \"2024-11-25\",\n      }",{"title":1497,"description":1498,"authors":1503,"heroImage":1499,"date":1504,"category":14,"tags":1505},[886],"2024-11-25",[542,757,14],{"slug":1507,"featured":6,"template":726},"streamline-migrations-with-user-contribution-and-membership-mapping","content:en-us:blog:streamline-migrations-with-user-contribution-and-membership-mapping.yml","Streamline Migrations With User Contribution And Membership Mapping","en-us/blog/streamline-migrations-with-user-contribution-and-membership-mapping.yml","en-us/blog/streamline-migrations-with-user-contribution-and-membership-mapping",{"_path":1513,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1514,"content":1520,"config":1525,"_id":1527,"_type":16,"title":1528,"_source":17,"_file":1529,"_stem":1530,"_extension":20},"/en-us/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards",{"title":1515,"description":1516,"ogTitle":1515,"ogDescription":1516,"noIndex":6,"ogImage":1517,"ogUrl":1518,"ogSiteName":975,"ogType":976,"canonicalUrls":1518,"schema":1519},"Data-driven DevSecOps: Exploring GitLab Insights Dashboards","Learn how to leverage GitLab Insights Dashboards to visualize key metrics, track project progress, and boost team productivity with customizable, data-driven views.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097210/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2811%29_78Dav6FR9EGjhebHWuBVan_1750097210214.png","https://about.gitlab.com/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Data-driven DevSecOps: Exploring GitLab Insights Dashboards\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Ricardo Amarilla Villalba\"}],\n        \"datePublished\": \"2024-11-20\",\n      }",{"title":1515,"description":1516,"authors":1521,"heroImage":1517,"date":1523,"category":14,"tags":1524},[1522],"Ricardo Amarilla Villalba","2024-11-20",[109,542,14,757,756,1278],{"slug":1526,"featured":91,"template":726},"data-driven-devsecops-exploring-gitlab-insights-dashboards","content:en-us:blog:data-driven-devsecops-exploring-gitlab-insights-dashboards.yml","Data Driven Devsecops Exploring Gitlab Insights Dashboards","en-us/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards.yml","en-us/blog/data-driven-devsecops-exploring-gitlab-insights-dashboards",{"_path":1532,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1533,"content":1539,"config":1544,"_id":1546,"_type":16,"title":1547,"_source":17,"_file":1548,"_stem":1549,"_extension":20},"/en-us/blog/3-gitlab-features-to-level-up-devsecops-workflows",{"title":1534,"description":1535,"ogTitle":1534,"ogDescription":1535,"noIndex":6,"ogImage":1536,"ogUrl":1537,"ogSiteName":975,"ogType":976,"canonicalUrls":1537,"schema":1538},"3 GitLab features to level up DevSecOps workflows","Fix broken pipelines faster, better understand security vulnerabilities, and filter out false positives with our latest platform improvements.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665762/Blog/Hero%20Images/blog-gl17-release-hero-17-0-93-1800x945-fy25__1_.png","https://about.gitlab.com/blog/3-gitlab-features-to-level-up-devsecops-workflows","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"3 GitLab features to level up DevSecOps workflows\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Salman Ladha\"}],\n        \"datePublished\": \"2024-10-29\",\n      }",{"title":1534,"description":1535,"authors":1540,"heroImage":1536,"date":1542,"category":14,"tags":1543},[1541],"Salman Ladha","2024-10-29",[14,757,573,907,109],{"slug":1545,"featured":91,"template":726},"3-gitlab-features-to-level-up-devsecops-workflows","content:en-us:blog:3-gitlab-features-to-level-up-devsecops-workflows.yml","3 Gitlab Features To Level Up Devsecops Workflows","en-us/blog/3-gitlab-features-to-level-up-devsecops-workflows.yml","en-us/blog/3-gitlab-features-to-level-up-devsecops-workflows",{"_path":1551,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1552,"content":1558,"config":1563,"_id":1565,"_type":16,"title":1566,"_source":17,"_file":1567,"_stem":1568,"_extension":20},"/en-us/blog/how-to-include-file-references-in-your-ci-cd-components",{"title":1553,"description":1554,"ogTitle":1553,"ogDescription":1554,"noIndex":6,"ogImage":1555,"ogUrl":1556,"ogSiteName":975,"ogType":976,"canonicalUrls":1556,"schema":1557},"How to include file references in your CI/CD components","Learn how to include scripts and dependencies in your CI/CD components to minimize duplications and simplify maintenance. This tutorial takes you step-by-step through the process.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664595/Blog/Hero%20Images/blog-image-template-1800x945__9_.png","https://about.gitlab.com/blog/how-to-include-file-references-in-your-ci-cd-components","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"How to include file references in your CI/CD components\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Itzik Gan Baruch\"}],\n        \"datePublished\": \"2024-10-16\",\n      }",{"title":1553,"description":1554,"authors":1559,"heroImage":1555,"date":1561,"category":14,"tags":1562},[1560],"Itzik Gan Baruch","2024-10-16",[109,563,757,14],{"slug":1564,"featured":6,"template":726},"how-to-include-file-references-in-your-ci-cd-components","content:en-us:blog:how-to-include-file-references-in-your-ci-cd-components.yml","How To Include File References In Your Ci Cd Components","en-us/blog/how-to-include-file-references-in-your-ci-cd-components.yml","en-us/blog/how-to-include-file-references-in-your-ci-cd-components",{"_path":1570,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1571,"content":1577,"config":1584,"_id":1586,"_type":16,"title":1587,"_source":17,"_file":1588,"_stem":1589,"_extension":20},"/en-us/blog/gitlab-dark-mode-is-getting-a-new-look",{"title":1572,"description":1573,"ogTitle":1572,"ogDescription":1573,"noIndex":6,"ogImage":1574,"ogUrl":1575,"ogSiteName":975,"ogType":976,"canonicalUrls":1575,"schema":1576},"GitLab dark mode is getting a new look","GitLab is enhancing dark mode for a cleaner, more polished experience, with incremental updates to improve usability and visual consistency. Get a sneak peek at this new design.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098523/Blog/Hero%20Images/Blog/Hero%20Images/hero%20%282%29_7nhIrZ08jWcLxhaH9rfbk1_1750098523498.png","https://about.gitlab.com/blog/gitlab-dark-mode-is-getting-a-new-look","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab dark mode is getting a new look\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sascha Eggenberger\"},{\"@type\":\"Person\",\"name\":\"Chris Micek\"},{\"@type\":\"Person\",\"name\":\"Jeremy Elder\"}],\n        \"datePublished\": \"2024-10-15\",\n      }",{"title":1572,"description":1573,"authors":1578,"heroImage":1574,"date":1582,"category":14,"tags":1583},[1579,1580,1581],"Sascha Eggenberger","Chris Micek","Jeremy Elder","2024-10-15",[1200,1201,14,542],{"slug":1585,"featured":91,"template":726},"gitlab-dark-mode-is-getting-a-new-look","content:en-us:blog:gitlab-dark-mode-is-getting-a-new-look.yml","Gitlab Dark Mode Is Getting A New Look","en-us/blog/gitlab-dark-mode-is-getting-a-new-look.yml","en-us/blog/gitlab-dark-mode-is-getting-a-new-look",{"_path":1591,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1592,"content":1598,"config":1603,"_id":1605,"_type":16,"title":1606,"_source":17,"_file":1607,"_stem":1608,"_extension":20},"/en-us/blog/tutorial-integrate-gitlab-merge-request-approvals-with-external-systems",{"title":1593,"description":1594,"ogTitle":1593,"ogDescription":1594,"noIndex":6,"ogImage":1595,"ogUrl":1596,"ogSiteName":975,"ogType":976,"canonicalUrls":1596,"schema":1597},"Tutorial: Integrate GitLab Merge Request approvals with external systems","Learn how to improve GitLab extensibility and integration with external applications in this demo. The result: a seamless integration that provides more control over merge requests.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749676011/Blog/Hero%20Images/blog-image-template-1800x945.svg","https://about.gitlab.com/blog/tutorial-integrate-gitlab-merge-request-approvals-with-external-systems","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Tutorial: Integrate GitLab Merge Request approvals with external systems\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Samer Akkoub\"}],\n        \"datePublished\": \"2024-10-08\",\n      }",{"title":1593,"description":1594,"authors":1599,"heroImage":1595,"date":1601,"category":14,"tags":1602},[1600],"Samer Akkoub","2024-10-08",[756,14,757,109],{"slug":1604,"featured":6,"template":726},"tutorial-integrate-gitlab-merge-request-approvals-with-external-systems","content:en-us:blog:tutorial-integrate-gitlab-merge-request-approvals-with-external-systems.yml","Tutorial Integrate Gitlab Merge Request Approvals With External Systems","en-us/blog/tutorial-integrate-gitlab-merge-request-approvals-with-external-systems.yml","en-us/blog/tutorial-integrate-gitlab-merge-request-approvals-with-external-systems",{"_path":1610,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1611,"content":1617,"config":1624,"_id":1626,"_type":16,"title":1627,"_source":17,"_file":1628,"_stem":1629,"_extension":20},"/en-us/blog/gitlab-pages-features-review-apps-and-multiple-website-deployment",{"title":1612,"description":1613,"ogTitle":1612,"ogDescription":1613,"noIndex":6,"ogImage":1614,"ogUrl":1615,"ogSiteName":975,"ogType":976,"canonicalUrls":1615,"schema":1616},"GitLab Pages features review apps and multiple website deployment","GitLab Pages helps organizations reap the rewards of knowledge management, including better collaboration and accessibility. Learn how to use a new feature, Parallel Deployments.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674550/Blog/Hero%20Images/blog-image-template-1800x945__1_.png","https://about.gitlab.com/blog/gitlab-pages-features-review-apps-and-multiple-website-deployment","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Pages features review apps and multiple website deployment\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Matthew Macfarlane\"},{\"@type\":\"Person\",\"name\":\"Janis Altherr\"}],\n        \"datePublished\": \"2024-09-23\",\n      }",{"title":1612,"description":1613,"authors":1618,"heroImage":1614,"date":1621,"category":14,"tags":1622,"updatedDate":1623},[1619,1620],"Matthew Macfarlane","Janis Altherr","2024-09-23",[1180,109,573,757,14,756],"2025-04-09",{"slug":1625,"featured":6,"template":726},"gitlab-pages-features-review-apps-and-multiple-website-deployment","content:en-us:blog:gitlab-pages-features-review-apps-and-multiple-website-deployment.yml","Gitlab Pages Features Review Apps And Multiple Website Deployment","en-us/blog/gitlab-pages-features-review-apps-and-multiple-website-deployment.yml","en-us/blog/gitlab-pages-features-review-apps-and-multiple-website-deployment",{"_path":1631,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1632,"content":1638,"config":1643,"_id":1645,"_type":16,"title":1646,"_source":17,"_file":1647,"_stem":1648,"_extension":20},"/en-us/blog/tutorial-migrate-from-google-cloud-source-repositories-to-gitlab",{"title":1633,"description":1634,"ogTitle":1633,"ogDescription":1634,"noIndex":6,"ogImage":1635,"ogUrl":1636,"ogSiteName":975,"ogType":976,"canonicalUrls":1636,"schema":1637},"Tutorial: Migrate from Google Cloud Source Repositories to GitLab","Google Cloud is deprecating Cloud Source Repositories. Learn how to migrate a CSR source code repository to GitLab, along with best practices.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097739/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2813%29_1zdtbfPDHZVe6JC2AbdHmb_1750097738370.png","https://about.gitlab.com/blog/tutorial-migrate-from-google-cloud-source-repositories-to-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Tutorial: Migrate from Google Cloud Source Repositories to GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tsukasa Komatsubara\"},{\"@type\":\"Person\",\"name\":\"Regnard Raquedan\"}],\n        \"datePublished\": \"2024-08-28\",\n      }",{"title":1633,"description":1634,"authors":1639,"heroImage":1635,"date":1641,"category":14,"tags":1642},[1640,1427],"Tsukasa Komatsubara","2024-08-28",[756,1431,542],{"slug":1644,"featured":6,"template":726},"tutorial-migrate-from-google-cloud-source-repositories-to-gitlab","content:en-us:blog:tutorial-migrate-from-google-cloud-source-repositories-to-gitlab.yml","Tutorial Migrate From Google Cloud Source Repositories To Gitlab","en-us/blog/tutorial-migrate-from-google-cloud-source-repositories-to-gitlab.yml","en-us/blog/tutorial-migrate-from-google-cloud-source-repositories-to-gitlab",{"_path":1650,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1651,"content":1657,"config":1663,"_id":1665,"_type":16,"title":1666,"_source":17,"_file":1667,"_stem":1668,"_extension":20},"/en-us/blog/ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab",{"title":1652,"description":1653,"ogTitle":1652,"ogDescription":1653,"noIndex":6,"ogImage":1654,"ogUrl":1655,"ogSiteName":975,"ogType":976,"canonicalUrls":1655,"schema":1656},"Ultimate guide to migrating from AWS CodeCommit to GitLab","Learn how to migrate from AWS Services to GitLab and seamlessly integrate with the DevSecOps platform in this comprehensive tutorial.","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","https://about.gitlab.com/blog/ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Ultimate guide to migrating from AWS CodeCommit to GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tsukasa Komatsubara\"},{\"@type\":\"Person\",\"name\":\"Darwin Sanoy\"},{\"@type\":\"Person\",\"name\":\"Samer Akkoub\"},{\"@type\":\"Person\",\"name\":\"Bart Zhang\"}],\n        \"datePublished\": \"2024-08-26\",\n      }",{"title":1652,"description":1653,"authors":1658,"heroImage":1654,"date":1660,"category":14,"tags":1661},[1640,1001,1600,1659],"Bart Zhang","2024-08-26",[109,1662,542,756,1278,14,232],"AWS",{"slug":1664,"featured":91,"template":726},"ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab","content:en-us:blog:ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab.yml","Ultimate Guide To Migrating From Aws Codecommit To Gitlab","en-us/blog/ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab.yml","en-us/blog/ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab",{"_path":1670,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1671,"content":1676,"config":1681,"_id":1683,"_type":16,"title":1684,"_source":17,"_file":1685,"_stem":1686,"_extension":20},"/en-us/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation",{"title":1672,"description":1673,"ogTitle":1672,"ogDescription":1673,"noIndex":6,"ogImage":758,"ogUrl":1674,"ogSiteName":975,"ogType":976,"canonicalUrls":1674,"schema":1675},"Introducing CI/CD Steps, a programming language for DevSecOps automation","Inside GitLab’s vision for CI/CD programmability and a look at how we simplified workflow automation.","https://about.gitlab.com/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Introducing CI/CD Steps, a programming language for DevSecOps automation\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Darren Eastman\"}],\n        \"datePublished\": \"2024-08-06\",\n      }",{"title":1672,"description":1673,"authors":1677,"heroImage":758,"date":1679,"category":14,"tags":1680},[1678],"Darren Eastman","2024-08-06",[542,109,1045,1044,757],{"slug":1682,"featured":91,"template":726},"introducing-ci-cd-steps-a-programming-language-for-devsecops-automation","content:en-us:blog:introducing-ci-cd-steps-a-programming-language-for-devsecops-automation.yml","Introducing Ci Cd Steps A Programming Language For Devsecops Automation","en-us/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation.yml","en-us/blog/introducing-ci-cd-steps-a-programming-language-for-devsecops-automation",{"_path":1688,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1689,"content":1695,"config":1700,"_id":1702,"_type":16,"title":1703,"_source":17,"_file":1704,"_stem":1705,"_extension":20},"/en-us/blog/how-visualization-improves-the-gitlab-merge-train-experience",{"title":1690,"description":1691,"ogTitle":1690,"ogDescription":1691,"noIndex":6,"ogImage":1692,"ogUrl":1693,"ogSiteName":975,"ogType":976,"canonicalUrls":1693,"schema":1694},"How visualization improves the GitLab merge train experience","Merge train visualization lets users closely track merge train activities and take actions with a better understanding of the impact on other MRs in the queue.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098825/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2824%29_1KuzZLH1aSgBZsGVXGPIjf_1750098824773.png","https://about.gitlab.com/blog/how-visualization-improves-the-gitlab-merge-train-experience","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"How visualization improves the GitLab merge train experience\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Payton Burdette\"},{\"@type\":\"Person\",\"name\":\"Veethika Mishra\"}],\n        \"datePublished\": \"2024-07-25\",\n      }",{"title":1690,"description":1691,"authors":1696,"heroImage":1692,"date":1698,"category":14,"tags":1699},[838,1697],"Veethika Mishra","2024-07-25",[109,757,14],{"slug":1701,"featured":91,"template":726},"how-visualization-improves-the-gitlab-merge-train-experience","content:en-us:blog:how-visualization-improves-the-gitlab-merge-train-experience.yml","How Visualization Improves The Gitlab Merge Train Experience","en-us/blog/how-visualization-improves-the-gitlab-merge-train-experience.yml","en-us/blog/how-visualization-improves-the-gitlab-merge-train-experience",{"_path":1707,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1708,"content":1713,"config":1717,"_id":1719,"_type":16,"title":1720,"_source":17,"_file":1721,"_stem":1722,"_extension":20},"/en-us/blog/next-generation-gitlab-container-registry-goes-ga",{"title":1709,"description":1710,"ogTitle":1709,"ogDescription":1710,"noIndex":6,"ogImage":1271,"ogUrl":1711,"ogSiteName":975,"ogType":976,"canonicalUrls":1711,"schema":1712},"Next-generation GitLab container registry goes GA","Starting in GitLab 17.3, GitLab self-managed instances can access the generally available container registry, which features efficient zero-downtime garbage collection and other benefits.","https://about.gitlab.com/blog/next-generation-gitlab-container-registry-goes-ga","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Next-generation GitLab container registry goes GA\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tim Rizzi\"}],\n        \"datePublished\": \"2024-07-23\",\n      }",{"title":1709,"description":1710,"authors":1714,"heroImage":1271,"date":1715,"category":14,"tags":1716},[754],"2024-07-23",[542,757,581,14],{"slug":1718,"featured":91,"template":726},"next-generation-gitlab-container-registry-goes-ga","content:en-us:blog:next-generation-gitlab-container-registry-goes-ga.yml","Next Generation Gitlab Container Registry Goes Ga","en-us/blog/next-generation-gitlab-container-registry-goes-ga.yml","en-us/blog/next-generation-gitlab-container-registry-goes-ga",{"_path":1724,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1725,"content":1731,"config":1737,"_id":1739,"_type":16,"title":1740,"_source":17,"_file":1741,"_stem":1742,"_extension":20},"/en-us/blog/introducing-gitlab-dedicated-for-government",{"title":1726,"description":1727,"ogTitle":1726,"ogDescription":1727,"noIndex":6,"ogImage":1728,"ogUrl":1729,"ogSiteName":975,"ogType":976,"canonicalUrls":1729,"schema":1730},"Introducing GitLab Dedicated for Government","Learn how our single-tenant SaaS offering, along with our new FedRAMP \"In Process\" designation, will help public sector customers securely advance their modernization objectives.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667636/Blog/Hero%20Images/Dedicated_Screengrab_1800x945.png","https://about.gitlab.com/blog/introducing-gitlab-dedicated-for-government","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Introducing GitLab Dedicated for Government\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Chris Balane\"},{\"@type\":\"Person\",\"name\":\"Corey Oas\"}],\n        \"datePublished\": \"2024-06-25\",\n      }",{"title":1726,"description":1727,"authors":1732,"heroImage":1728,"date":1735,"category":14,"tags":1736},[1733,1734],"Chris Balane","Corey Oas","2024-06-25",[185,907,806,542,14],{"slug":1738,"featured":91,"template":726},"introducing-gitlab-dedicated-for-government","content:en-us:blog:introducing-gitlab-dedicated-for-government.yml","Introducing Gitlab Dedicated For Government","en-us/blog/introducing-gitlab-dedicated-for-government.yml","en-us/blog/introducing-gitlab-dedicated-for-government",{"_path":1744,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1745,"content":1751,"config":1757,"_id":1759,"_type":16,"title":1760,"_source":17,"_file":1761,"_stem":1762,"_extension":20},"/en-us/blog/monitor-application-performance-with-distributed-tracing",{"title":1746,"description":1747,"ogTitle":1746,"ogDescription":1747,"noIndex":6,"ogImage":1748,"ogUrl":1749,"ogSiteName":975,"ogType":976,"canonicalUrls":1749,"schema":1750},"Monitor application performance with Distributed Tracing","Learn how Distributed Tracing helps troubleshoot application performance issues by providing end-to-end visibility and seamless collaboration across your organization.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098000/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%288%29_5x6kH5vwjz8cwKgSBh1w11_1750098000511.png","https://about.gitlab.com/blog/monitor-application-performance-with-distributed-tracing","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Monitor application performance with Distributed Tracing\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sacha Guyon\"}],\n        \"datePublished\": \"2024-06-13\",\n      }",{"title":1746,"description":1747,"authors":1752,"heroImage":1748,"date":1754,"category":14,"tags":1755},[1753],"Sacha Guyon","2024-06-13",[1756,757,806,542,1259],"performance",{"slug":1758,"featured":91,"template":726},"monitor-application-performance-with-distributed-tracing","content:en-us:blog:monitor-application-performance-with-distributed-tracing.yml","Monitor Application Performance With Distributed Tracing","en-us/blog/monitor-application-performance-with-distributed-tracing.yml","en-us/blog/monitor-application-performance-with-distributed-tracing",{"_path":1764,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1765,"content":1771,"config":1775,"_id":1777,"_type":16,"title":1778,"_source":17,"_file":1779,"_stem":1780,"_extension":20},"/en-us/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch",{"title":1766,"description":1767,"ogTitle":1766,"ogDescription":1767,"noIndex":6,"ogImage":1768,"ogUrl":1769,"ogSiteName":975,"ogType":976,"canonicalUrls":1769,"schema":1770},"CI/CD Catalog goes GA: No more building pipelines from scratch","The CI/CD Catalog becomes generally available in GitLab 17.0. Get to know the capabilities for discovering and sharing pipeline building blocks to help standardize and scale pipelines.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098794/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%289%29_DoeBNJVrhv9FpF3WCsHNc_1750098793762.png","https://about.gitlab.com/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"CI/CD Catalog goes GA: No more building pipelines from scratch\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Dov Hershkovitch\"}],\n        \"datePublished\": \"2024-05-08\",\n      }",{"title":1766,"description":1767,"authors":1772,"heroImage":1768,"date":1773,"category":14,"tags":1774},[903],"2024-05-08",[109,573,542,757],{"slug":1776,"featured":91,"template":726},"ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch","content:en-us:blog:ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch.yml","Ci Cd Catalog Goes Ga No More Building Pipelines From Scratch","en-us/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch.yml","en-us/blog/ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch",{"_path":1782,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1783,"content":1788,"config":1793,"_id":1795,"_type":16,"title":1796,"_source":17,"_file":1797,"_stem":1798,"_extension":20},"/en-us/blog/registration-features-program-expands-by-16-free-features",{"title":1784,"description":1785,"ogTitle":1784,"ogDescription":1785,"noIndex":6,"ogImage":1114,"ogUrl":1786,"ogSiteName":975,"ogType":976,"canonicalUrls":1786,"schema":1787},"Registration Features program expands by 16 free features","More features now available at no cost to free self-managed Enterprise Edition DevSecOps platform customers who register and turn on their Service Ping.","https://about.gitlab.com/blog/registration-features-program-expands-by-16-free-features","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Registration Features program expands by 16 free features\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Ian Pedowitz\"}],\n        \"datePublished\": \"2024-01-18\",\n      }",{"title":1784,"description":1785,"authors":1789,"heroImage":1114,"date":1791,"category":14,"tags":1792},[1790],"Ian Pedowitz","2024-01-18",[109,757,14,806],{"slug":1794,"featured":6,"template":726},"registration-features-program-expands-by-16-free-features","content:en-us:blog:registration-features-program-expands-by-16-free-features.yml","Registration Features Program Expands By 16 Free Features","en-us/blog/registration-features-program-expands-by-16-free-features.yml","en-us/blog/registration-features-program-expands-by-16-free-features",{"_path":1800,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1801,"content":1807,"config":1811,"_id":1813,"_type":16,"title":1814,"_source":17,"_file":1815,"_stem":1816,"_extension":20},"/en-us/blog/gitlab-package-roadmap-for-2024",{"title":1802,"description":1803,"ogTitle":1802,"ogDescription":1803,"noIndex":6,"ogImage":1804,"ogUrl":1805,"ogSiteName":975,"ogType":976,"canonicalUrls":1805,"schema":1806},"GitLab Package roadmap for 2024","GitLab is launching new package and container registry features to help enterprise customers consolidate on GitLab for artifact management.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669103/Blog/Hero%20Images/AdobeStock_243118595.jpg","https://about.gitlab.com/blog/gitlab-package-roadmap-for-2024","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab Package roadmap for 2024\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Tim Rizzi\"}],\n        \"datePublished\": \"2024-01-16\",\n      }",{"title":1802,"description":1803,"authors":1808,"heroImage":1804,"date":1809,"category":14,"tags":1810},[754],"2024-01-16",[14,806,757,573],{"slug":1812,"featured":6,"template":726},"gitlab-package-roadmap-for-2024","content:en-us:blog:gitlab-package-roadmap-for-2024.yml","Gitlab Package Roadmap For 2024","en-us/blog/gitlab-package-roadmap-for-2024.yml","en-us/blog/gitlab-package-roadmap-for-2024",{"_path":1818,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1819,"content":1824,"config":1830,"_id":1832,"_type":16,"title":1833,"_source":17,"_file":1834,"_stem":1835,"_extension":20},"/en-us/blog/why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector",{"ogTitle":1820,"schema":1821,"ogImage":1057,"ogDescription":1822,"ogSiteName":975,"noIndex":6,"ogType":976,"ogUrl":1823,"title":1820,"canonicalUrls":1823,"description":1822},"Why GitLab Self-Managed is the perfect partner for the public sector","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Why GitLab self-managed is the perfect partner for the public sector\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Sandra Gittlen\"}],\n        \"datePublished\": \"2023-12-13\",\n      }","GitLab Self-Managed helps state and local governments modernize DevSecOps with secure AI, compliance automation, and cost-efficient toolchain consolidation.","https://about.gitlab.com/blog/why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector",{"heroImage":1057,"authors":1825,"updatedDate":1827,"date":1828,"title":1820,"tags":1829,"description":1822,"category":14},[981,1826],"Ashher Syed","2025-07-30","2023-12-13",[185,14],{"slug":1831,"featured":91,"template":726},"why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector","content:en-us:blog:why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector.yml","Why Gitlab Self Managed Is The Perfect Partner For The Public Sector","en-us/blog/why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector.yml","en-us/blog/why-gitlab-self-managed-is-the-perfect-partner-for-the-public-sector",{"_path":1837,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1838,"content":1844,"config":1849,"_id":1851,"_type":16,"title":1852,"_source":17,"_file":1853,"_stem":1854,"_extension":20},"/en-us/blog/tutorial-automated-release-and-release-notes-with-gitlab",{"title":1839,"description":1840,"ogTitle":1839,"ogDescription":1840,"noIndex":6,"ogImage":1841,"ogUrl":1842,"ogSiteName":975,"ogType":976,"canonicalUrls":1842,"schema":1843},"Tutorial: Automate releases and release notes with GitLab","With the GitLab Changelog API, you can automate the generation of release artifacts, release notes, and a comprehensive changelog detailing all user-centric software modifications.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659978/Blog/Hero%20Images/automation.png","https://about.gitlab.com/blog/tutorial-automated-release-and-release-notes-with-gitlab","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Tutorial: Automate releases and release notes with GitLab\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Ben Ridley\"}],\n        \"datePublished\": \"2023-11-01\",\n      }",{"title":1839,"description":1840,"authors":1845,"heroImage":1841,"date":1847,"category":14,"tags":1848,"updatedDate":1002},[1846],"Ben Ridley","2023-11-01",[756,1044,109,563,573,941],{"slug":1850,"featured":6,"template":726},"tutorial-automated-release-and-release-notes-with-gitlab","content:en-us:blog:tutorial-automated-release-and-release-notes-with-gitlab.yml","Tutorial Automated Release And Release Notes With Gitlab","en-us/blog/tutorial-automated-release-and-release-notes-with-gitlab.yml","en-us/blog/tutorial-automated-release-and-release-notes-with-gitlab",{"_path":1856,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1857,"content":1863,"config":1868,"_id":1870,"_type":16,"title":1871,"_source":17,"_file":1872,"_stem":1873,"_extension":20},"/en-us/blog/contributions-to-git-2-42-release",{"title":1858,"description":1859,"ogTitle":1858,"ogDescription":1859,"noIndex":6,"ogImage":1860,"ogUrl":1861,"ogSiteName":975,"ogType":976,"canonicalUrls":1861,"schema":1862},"Git 2.42 release: Here are four of our contributions in detail","Find out how GitLab's Git team helped improve Git 2.42.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667792/Blog/Hero%20Images/git-241.jpg","https://about.gitlab.com/blog/contributions-to-git-2-42-release","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Git 2.42 release: Here are four of our contributions in detail\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Christian Couder\"}],\n        \"datePublished\": \"2023-10-12\",\n      }",{"title":1858,"description":1859,"authors":1864,"heroImage":1860,"date":1866,"category":14,"tags":1867},[1865],"Christian Couder","2023-10-12",[941,806,925,268],{"slug":1869,"featured":6,"template":726},"contributions-to-git-2-42-release","content:en-us:blog:contributions-to-git-2-42-release.yml","Contributions To Git 2 42 Release","en-us/blog/contributions-to-git-2-42-release.yml","en-us/blog/contributions-to-git-2-42-release",{"_path":1875,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1876,"content":1882,"config":1888,"_id":1890,"_type":16,"title":1891,"_source":17,"_file":1892,"_stem":1893,"_extension":20},"/en-us/blog/browser-based-dast-feature-announcement",{"title":1877,"description":1878,"ogTitle":1877,"ogDescription":1878,"noIndex":6,"ogImage":1879,"ogUrl":1880,"ogSiteName":975,"ogType":976,"canonicalUrls":1880,"schema":1881},"Introducing browser-based DAST and integrated passive checks","We're working hard on reducing noise. Here's what you need to know about the status of our browser-based DAST offering today.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682466/Blog/Hero%20Images/vek-labs-e8ofKlNHdsg-unsplash.jpg","https://about.gitlab.com/blog/browser-based-dast-feature-announcement","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"Introducing browser-based DAST and integrated passive checks\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Isaac Dawson\"}],\n        \"datePublished\": \"2022-10-19\",\n      }",{"title":1877,"description":1878,"authors":1883,"heroImage":1879,"date":1885,"category":14,"tags":1886},[1884],"Isaac Dawson","2022-10-19",[1887,757,1487],"testing",{"slug":1889,"featured":6,"template":726},"browser-based-dast-feature-announcement","content:en-us:blog:browser-based-dast-feature-announcement.yml","Browser Based Dast Feature Announcement","en-us/blog/browser-based-dast-feature-announcement.yml","en-us/blog/browser-based-dast-feature-announcement",{"_path":1895,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1896,"content":1902,"config":1906,"_id":1908,"_type":16,"title":1909,"_source":17,"_file":1910,"_stem":1911,"_extension":20},"/en-us/blog/new-machine-types-for-gitlab-saas-runners",{"title":1897,"description":1898,"ogTitle":1897,"ogDescription":1898,"noIndex":6,"ogImage":1899,"ogUrl":1900,"ogSiteName":975,"ogType":976,"canonicalUrls":1900,"schema":1901},"GitLab introduces new machine types for GitLab SaaS Linux Runners","GitLab SaaS now offers larger machine types for running CI jobs on Linux.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672836/Blog/Hero%20Images/multiple-machine-types-cover.png","https://about.gitlab.com/blog/new-machine-types-for-gitlab-saas-runners","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab introduces new machine types for GitLab SaaS Linux Runners\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Darren Eastman\"}],\n        \"datePublished\": \"2022-09-22\",\n      }",{"title":1897,"description":1898,"authors":1903,"heroImage":1899,"date":1904,"category":14,"tags":1905},[1678],"2022-09-22",[1044,1045,1756,14],{"slug":1907,"featured":6,"template":726},"new-machine-types-for-gitlab-saas-runners","content:en-us:blog:new-machine-types-for-gitlab-saas-runners.yml","New Machine Types For Gitlab Saas Runners","en-us/blog/new-machine-types-for-gitlab-saas-runners.yml","en-us/blog/new-machine-types-for-gitlab-saas-runners",{"_path":1913,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1914,"content":1920,"config":1926,"_id":1928,"_type":16,"title":1929,"_source":17,"_file":1930,"_stem":1931,"_extension":20},"/en-us/blog/three-faces-of-user-calls",{"title":1915,"description":1916,"ogTitle":1915,"ogDescription":1916,"noIndex":6,"ogImage":1917,"ogUrl":1918,"ogSiteName":975,"ogType":976,"canonicalUrls":1918,"schema":1919},"How product managers can get more out of user calls","There are 3 types of user calls. Here's how GitLab product managers approach them and how we leverage our transparency value to better understand our users.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682372/Blog/Hero%20Images/michal-czyz-ALM7RNZuDH8-unsplash.jpg","https://about.gitlab.com/blog/three-faces-of-user-calls","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"How product managers can get more out of user calls\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Viktor Nagy\"}],\n        \"datePublished\": \"2022-07-20\",\n      }",{"title":1915,"description":1916,"authors":1921,"heroImage":1917,"date":1922,"category":14,"tags":1923},[1295],"2022-07-20",[563,1924,1925],"customers","contributors",{"slug":1927,"featured":6,"template":726},"three-faces-of-user-calls","content:en-us:blog:three-faces-of-user-calls.yml","Three Faces Of User Calls","en-us/blog/three-faces-of-user-calls.yml","en-us/blog/three-faces-of-user-calls",{"_path":1933,"_dir":245,"_draft":6,"_partial":6,"_locale":7,"seo":1934,"content":1940,"config":1946,"_id":1948,"_type":16,"title":1949,"_source":17,"_file":1950,"_stem":1951,"_extension":20},"/en-us/blog/gitlab-ux-2020-year-in-review",{"title":1935,"description":1936,"ogTitle":1935,"ogDescription":1936,"noIndex":6,"ogImage":1937,"ogUrl":1938,"ogSiteName":975,"ogType":976,"canonicalUrls":1938,"schema":1939},"GitLab UX 2020 Year in Review","2020 was a difficult but productive year. Let's take a look back.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664102/Blog/Hero%20Images/gitlab-values-cover.png","https://about.gitlab.com/blog/gitlab-ux-2020-year-in-review","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitLab UX 2020 Year in Review\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Christie Lenneville\"}],\n        \"datePublished\": \"2020-11-20\",\n      }",{"title":1935,"description":1936,"authors":1941,"heroImage":1937,"date":1943,"category":14,"tags":1944},[1942],"Christie Lenneville","2020-11-20",[1201,1200,1945,1024],"inside GitLab",{"slug":1947,"featured":6,"template":726},"gitlab-ux-2020-year-in-review","content:en-us:blog:gitlab-ux-2020-year-in-review.yml","Gitlab Ux 2020 Year In Review","en-us/blog/gitlab-ux-2020-year-in-review.yml","en-us/blog/gitlab-ux-2020-year-in-review",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":1953,"content":1954,"config":1955,"_id":15,"_type":16,"title":9,"_source":17,"_file":18,"_stem":19,"_extension":20},{"title":9,"description":10},{"name":9},{"template":13,"slug":14,"hide":6},1761814414762]