[{"data":1,"prerenderedAt":3080},["ShallowReactive",2],{"/en-us/blog/tags/ci-cd":3,"navigation-en-us":19,"banner-en-us":418,"footer-en-us":428,"CI/CD-tag-posts-en-us":670},{"id":4,"title":5,"body":6,"category":6,"config":7,"content":9,"description":6,"extension":12,"meta":13,"navigation":14,"path":15,"seo":16,"slug":6,"stem":17,"testContent":6,"type":6,"__hash__":18},"blogTags/en-us/blog/tags/ci-cd.yml","Ci Cd",null,{"template":8},"BlogTag",{"tag":10,"tagSlug":11},"CI/CD","ci-cd","yml",{},true,"/en-us/blog/tags/ci-cd",{},"en-us/blog/tags/ci-cd","bXFaZDtu2GWwAL9nZSsnFJ_N8sRXgonFm05PESHoVek",{"data":20},{"logo":21,"freeTrial":26,"sales":31,"login":36,"items":41,"search":348,"minimal":379,"duo":398,"pricingDeployment":408},{"config":22},{"href":23,"dataGaName":24,"dataGaLocation":25},"/","gitlab logo","header",{"text":27,"config":28},"Get free trial",{"href":29,"dataGaName":30,"dataGaLocation":25},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":32,"config":33},"Talk to sales",{"href":34,"dataGaName":35,"dataGaLocation":25},"/sales/","sales",{"text":37,"config":38},"Sign in",{"href":39,"dataGaName":40,"dataGaLocation":25},"https://gitlab.com/users/sign_in/","sign in",[42,69,163,168,269,329],{"text":43,"config":44,"cards":46},"Platform",{"dataNavLevelOne":45},"platform",[47,53,61],{"title":43,"description":48,"link":49},"The intelligent orchestration platform for DevSecOps",{"text":50,"config":51},"Explore our Platform",{"href":52,"dataGaName":45,"dataGaLocation":25},"/platform/",{"title":54,"description":55,"link":56},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":57,"config":58},"Meet GitLab Duo",{"href":59,"dataGaName":60,"dataGaLocation":25},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":62,"description":63,"link":64},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":65,"config":66},"Learn more",{"href":67,"dataGaName":68,"dataGaLocation":25},"/why-gitlab/","why gitlab",{"text":70,"left":14,"config":71,"link":73,"lists":77,"footer":145},"Product",{"dataNavLevelOne":72},"solutions",{"text":74,"config":75},"View all Solutions",{"href":76,"dataGaName":72,"dataGaLocation":25},"/solutions/",[78,101,124],{"title":79,"description":80,"link":81,"items":86},"Automation","CI/CD and automation to accelerate deployment",{"config":82},{"icon":83,"href":84,"dataGaName":85,"dataGaLocation":25},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[87,90,93,97],{"text":10,"config":88},{"href":89,"dataGaLocation":25,"dataGaName":10},"/solutions/continuous-integration/",{"text":54,"config":91},{"href":59,"dataGaLocation":25,"dataGaName":92},"gitlab duo agent platform - product menu",{"text":94,"config":95},"Source Code Management",{"href":96,"dataGaLocation":25,"dataGaName":94},"/solutions/source-code-management/",{"text":98,"config":99},"Automated Software Delivery",{"href":84,"dataGaLocation":25,"dataGaName":100},"Automated software delivery",{"title":102,"description":103,"link":104,"items":109},"Security","Deliver code faster without compromising security",{"config":105},{"href":106,"dataGaName":107,"dataGaLocation":25,"icon":108},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[110,114,119],{"text":111,"config":112},"Application Security Testing",{"href":106,"dataGaName":113,"dataGaLocation":25},"Application security testing",{"text":115,"config":116},"Software Supply Chain Security",{"href":117,"dataGaLocation":25,"dataGaName":118},"/solutions/supply-chain/","Software supply chain security",{"text":120,"config":121},"Software Compliance",{"href":122,"dataGaName":123,"dataGaLocation":25},"/solutions/software-compliance/","software compliance",{"title":125,"link":126,"items":131},"Measurement",{"config":127},{"icon":128,"href":129,"dataGaName":130,"dataGaLocation":25},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[132,136,140],{"text":133,"config":134},"Visibility & Measurement",{"href":129,"dataGaLocation":25,"dataGaName":135},"Visibility and Measurement",{"text":137,"config":138},"Value Stream Management",{"href":139,"dataGaLocation":25,"dataGaName":137},"/solutions/value-stream-management/",{"text":141,"config":142},"Analytics & Insights",{"href":143,"dataGaLocation":25,"dataGaName":144},"/solutions/analytics-and-insights/","Analytics and insights",{"title":146,"items":147},"GitLab for",[148,153,158],{"text":149,"config":150},"Enterprise",{"href":151,"dataGaLocation":25,"dataGaName":152},"/enterprise/","enterprise",{"text":154,"config":155},"Small Business",{"href":156,"dataGaLocation":25,"dataGaName":157},"/small-business/","small business",{"text":159,"config":160},"Public Sector",{"href":161,"dataGaLocation":25,"dataGaName":162},"/solutions/public-sector/","public sector",{"text":164,"config":165},"Pricing",{"href":166,"dataGaName":167,"dataGaLocation":25,"dataNavLevelOne":167},"/pricing/","pricing",{"text":169,"config":170,"link":172,"lists":176,"feature":256},"Resources",{"dataNavLevelOne":171},"resources",{"text":173,"config":174},"View all resources",{"href":175,"dataGaName":171,"dataGaLocation":25},"/resources/",[177,210,228],{"title":178,"items":179},"Getting started",[180,185,190,195,200,205],{"text":181,"config":182},"Install",{"href":183,"dataGaName":184,"dataGaLocation":25},"/install/","install",{"text":186,"config":187},"Quick start guides",{"href":188,"dataGaName":189,"dataGaLocation":25},"/get-started/","quick setup checklists",{"text":191,"config":192},"Learn",{"href":193,"dataGaLocation":25,"dataGaName":194},"https://university.gitlab.com/","learn",{"text":196,"config":197},"Product documentation",{"href":198,"dataGaName":199,"dataGaLocation":25},"https://docs.gitlab.com/","product documentation",{"text":201,"config":202},"Best practice videos",{"href":203,"dataGaName":204,"dataGaLocation":25},"/getting-started-videos/","best practice videos",{"text":206,"config":207},"Integrations",{"href":208,"dataGaName":209,"dataGaLocation":25},"/integrations/","integrations",{"title":211,"items":212},"Discover",[213,218,223],{"text":214,"config":215},"Customer success stories",{"href":216,"dataGaName":217,"dataGaLocation":25},"/customers/","customer success stories",{"text":219,"config":220},"Blog",{"href":221,"dataGaName":222,"dataGaLocation":25},"/blog/","blog",{"text":224,"config":225},"Remote",{"href":226,"dataGaName":227,"dataGaLocation":25},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":229,"items":230},"Connect",[231,236,241,246,251],{"text":232,"config":233},"GitLab Services",{"href":234,"dataGaName":235,"dataGaLocation":25},"/services/","services",{"text":237,"config":238},"Community",{"href":239,"dataGaName":240,"dataGaLocation":25},"/community/","community",{"text":242,"config":243},"Forum",{"href":244,"dataGaName":245,"dataGaLocation":25},"https://forum.gitlab.com/","forum",{"text":247,"config":248},"Events",{"href":249,"dataGaName":250,"dataGaLocation":25},"/events/","events",{"text":252,"config":253},"Partners",{"href":254,"dataGaName":255,"dataGaLocation":25},"/partners/","partners",{"backgroundColor":257,"textColor":258,"text":259,"image":260,"link":264},"#2f2a6b","#fff","Insights for the future of software development",{"altText":261,"config":262},"the source promo card",{"src":263},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":265,"config":266},"Read the latest",{"href":267,"dataGaName":268,"dataGaLocation":25},"/the-source/","the source",{"text":270,"config":271,"lists":273},"Company",{"dataNavLevelOne":272},"company",[274],{"items":275},[276,281,287,289,294,299,304,309,314,319,324],{"text":277,"config":278},"About",{"href":279,"dataGaName":280,"dataGaLocation":25},"/company/","about",{"text":282,"config":283,"footerGa":286},"Jobs",{"href":284,"dataGaName":285,"dataGaLocation":25},"/jobs/","jobs",{"dataGaName":285},{"text":247,"config":288},{"href":249,"dataGaName":250,"dataGaLocation":25},{"text":290,"config":291},"Leadership",{"href":292,"dataGaName":293,"dataGaLocation":25},"/company/team/e-group/","leadership",{"text":295,"config":296},"Team",{"href":297,"dataGaName":298,"dataGaLocation":25},"/company/team/","team",{"text":300,"config":301},"Handbook",{"href":302,"dataGaName":303,"dataGaLocation":25},"https://handbook.gitlab.com/","handbook",{"text":305,"config":306},"Investor relations",{"href":307,"dataGaName":308,"dataGaLocation":25},"https://ir.gitlab.com/","investor relations",{"text":310,"config":311},"Trust Center",{"href":312,"dataGaName":313,"dataGaLocation":25},"/security/","trust center",{"text":315,"config":316},"AI Transparency Center",{"href":317,"dataGaName":318,"dataGaLocation":25},"/ai-transparency-center/","ai transparency center",{"text":320,"config":321},"Newsletter",{"href":322,"dataGaName":323,"dataGaLocation":25},"/company/contact/#contact-forms","newsletter",{"text":325,"config":326},"Press",{"href":327,"dataGaName":328,"dataGaLocation":25},"/press/","press",{"text":330,"config":331,"lists":332},"Contact us",{"dataNavLevelOne":272},[333],{"items":334},[335,338,343],{"text":32,"config":336},{"href":34,"dataGaName":337,"dataGaLocation":25},"talk to sales",{"text":339,"config":340},"Support portal",{"href":341,"dataGaName":342,"dataGaLocation":25},"https://support.gitlab.com","support portal",{"text":344,"config":345},"Customer portal",{"href":346,"dataGaName":347,"dataGaLocation":25},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":349,"login":350,"suggestions":357},"Close",{"text":351,"link":352},"To search repositories and projects, login to",{"text":353,"config":354},"gitlab.com",{"href":39,"dataGaName":355,"dataGaLocation":356},"search login","search",{"text":358,"default":359},"Suggestions",[360,362,366,368,372,376],{"text":54,"config":361},{"href":59,"dataGaName":54,"dataGaLocation":356},{"text":363,"config":364},"Code Suggestions (AI)",{"href":365,"dataGaName":363,"dataGaLocation":356},"/solutions/code-suggestions/",{"text":10,"config":367},{"href":89,"dataGaName":10,"dataGaLocation":356},{"text":369,"config":370},"GitLab on AWS",{"href":371,"dataGaName":369,"dataGaLocation":356},"/partners/technology-partners/aws/",{"text":373,"config":374},"GitLab on Google Cloud",{"href":375,"dataGaName":373,"dataGaLocation":356},"/partners/technology-partners/google-cloud-platform/",{"text":377,"config":378},"Why GitLab?",{"href":67,"dataGaName":377,"dataGaLocation":356},{"freeTrial":380,"mobileIcon":385,"desktopIcon":390,"secondaryButton":393},{"text":381,"config":382},"Start free trial",{"href":383,"dataGaName":30,"dataGaLocation":384},"https://gitlab.com/-/trials/new/","nav",{"altText":386,"config":387},"Gitlab Icon",{"src":388,"dataGaName":389,"dataGaLocation":384},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":386,"config":391},{"src":392,"dataGaName":389,"dataGaLocation":384},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":394,"config":395},"Get Started",{"href":396,"dataGaName":397,"dataGaLocation":384},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":399,"mobileIcon":404,"desktopIcon":406},{"text":400,"config":401},"Learn more about GitLab Duo",{"href":402,"dataGaName":403,"dataGaLocation":384},"/gitlab-duo/","gitlab duo",{"altText":386,"config":405},{"src":388,"dataGaName":389,"dataGaLocation":384},{"altText":386,"config":407},{"src":392,"dataGaName":389,"dataGaLocation":384},{"freeTrial":409,"mobileIcon":414,"desktopIcon":416},{"text":410,"config":411},"Back to pricing",{"href":166,"dataGaName":412,"dataGaLocation":384,"icon":413},"back to pricing","GoBack",{"altText":386,"config":415},{"src":388,"dataGaName":389,"dataGaLocation":384},{"altText":386,"config":417},{"src":392,"dataGaName":389,"dataGaLocation":384},{"title":419,"button":420,"config":425},"See how agentic AI transforms software delivery",{"text":421,"config":422},"Watch GitLab Transcend now",{"href":423,"dataGaName":424,"dataGaLocation":25},"/events/transcend/virtual/","transcend event",{"layout":426,"icon":427},"release","AiStar",{"data":429},{"text":430,"source":431,"edit":437,"contribute":442,"config":447,"items":452,"minimal":659},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":432,"config":433},"View page source",{"href":434,"dataGaName":435,"dataGaLocation":436},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":438,"config":439},"Edit this page",{"href":440,"dataGaName":441,"dataGaLocation":436},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":443,"config":444},"Please contribute",{"href":445,"dataGaName":446,"dataGaLocation":436},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":448,"facebook":449,"youtube":450,"linkedin":451},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[453,500,554,598,625],{"title":164,"links":454,"subMenu":469},[455,459,464],{"text":456,"config":457},"View plans",{"href":166,"dataGaName":458,"dataGaLocation":436},"view plans",{"text":460,"config":461},"Why Premium?",{"href":462,"dataGaName":463,"dataGaLocation":436},"/pricing/premium/","why premium",{"text":465,"config":466},"Why Ultimate?",{"href":467,"dataGaName":468,"dataGaLocation":436},"/pricing/ultimate/","why ultimate",[470],{"title":471,"links":472},"Contact Us",[473,476,478,480,485,490,495],{"text":474,"config":475},"Contact sales",{"href":34,"dataGaName":35,"dataGaLocation":436},{"text":339,"config":477},{"href":341,"dataGaName":342,"dataGaLocation":436},{"text":344,"config":479},{"href":346,"dataGaName":347,"dataGaLocation":436},{"text":481,"config":482},"Status",{"href":483,"dataGaName":484,"dataGaLocation":436},"https://status.gitlab.com/","status",{"text":486,"config":487},"Terms of use",{"href":488,"dataGaName":489,"dataGaLocation":436},"/terms/","terms of use",{"text":491,"config":492},"Privacy statement",{"href":493,"dataGaName":494,"dataGaLocation":436},"/privacy/","privacy statement",{"text":496,"config":497},"Cookie preferences",{"dataGaName":498,"dataGaLocation":436,"id":499,"isOneTrustButton":14},"cookie preferences","ot-sdk-btn",{"title":70,"links":501,"subMenu":510},[502,506],{"text":503,"config":504},"DevSecOps platform",{"href":52,"dataGaName":505,"dataGaLocation":436},"devsecops platform",{"text":507,"config":508},"AI-Assisted Development",{"href":402,"dataGaName":509,"dataGaLocation":436},"ai-assisted development",[511],{"title":512,"links":513},"Topics",[514,519,524,529,534,539,544,549],{"text":515,"config":516},"CICD",{"href":517,"dataGaName":518,"dataGaLocation":436},"/topics/ci-cd/","cicd",{"text":520,"config":521},"GitOps",{"href":522,"dataGaName":523,"dataGaLocation":436},"/topics/gitops/","gitops",{"text":525,"config":526},"DevOps",{"href":527,"dataGaName":528,"dataGaLocation":436},"/topics/devops/","devops",{"text":530,"config":531},"Version Control",{"href":532,"dataGaName":533,"dataGaLocation":436},"/topics/version-control/","version control",{"text":535,"config":536},"DevSecOps",{"href":537,"dataGaName":538,"dataGaLocation":436},"/topics/devsecops/","devsecops",{"text":540,"config":541},"Cloud Native",{"href":542,"dataGaName":543,"dataGaLocation":436},"/topics/cloud-native/","cloud native",{"text":545,"config":546},"AI for Coding",{"href":547,"dataGaName":548,"dataGaLocation":436},"/topics/devops/ai-for-coding/","ai for coding",{"text":550,"config":551},"Agentic AI",{"href":552,"dataGaName":553,"dataGaLocation":436},"/topics/agentic-ai/","agentic ai",{"title":555,"links":556},"Solutions",[557,559,561,566,570,573,577,580,582,585,588,593],{"text":111,"config":558},{"href":106,"dataGaName":111,"dataGaLocation":436},{"text":100,"config":560},{"href":84,"dataGaName":85,"dataGaLocation":436},{"text":562,"config":563},"Agile development",{"href":564,"dataGaName":565,"dataGaLocation":436},"/solutions/agile-delivery/","agile delivery",{"text":567,"config":568},"SCM",{"href":96,"dataGaName":569,"dataGaLocation":436},"source code management",{"text":515,"config":571},{"href":89,"dataGaName":572,"dataGaLocation":436},"continuous integration & delivery",{"text":574,"config":575},"Value stream management",{"href":139,"dataGaName":576,"dataGaLocation":436},"value stream management",{"text":520,"config":578},{"href":579,"dataGaName":523,"dataGaLocation":436},"/solutions/gitops/",{"text":149,"config":581},{"href":151,"dataGaName":152,"dataGaLocation":436},{"text":583,"config":584},"Small business",{"href":156,"dataGaName":157,"dataGaLocation":436},{"text":586,"config":587},"Public sector",{"href":161,"dataGaName":162,"dataGaLocation":436},{"text":589,"config":590},"Education",{"href":591,"dataGaName":592,"dataGaLocation":436},"/solutions/education/","education",{"text":594,"config":595},"Financial services",{"href":596,"dataGaName":597,"dataGaLocation":436},"/solutions/finance/","financial services",{"title":169,"links":599},[600,602,604,606,609,611,613,615,617,619,621,623],{"text":181,"config":601},{"href":183,"dataGaName":184,"dataGaLocation":436},{"text":186,"config":603},{"href":188,"dataGaName":189,"dataGaLocation":436},{"text":191,"config":605},{"href":193,"dataGaName":194,"dataGaLocation":436},{"text":196,"config":607},{"href":198,"dataGaName":608,"dataGaLocation":436},"docs",{"text":219,"config":610},{"href":221,"dataGaName":222,"dataGaLocation":436},{"text":214,"config":612},{"href":216,"dataGaName":217,"dataGaLocation":436},{"text":224,"config":614},{"href":226,"dataGaName":227,"dataGaLocation":436},{"text":232,"config":616},{"href":234,"dataGaName":235,"dataGaLocation":436},{"text":237,"config":618},{"href":239,"dataGaName":240,"dataGaLocation":436},{"text":242,"config":620},{"href":244,"dataGaName":245,"dataGaLocation":436},{"text":247,"config":622},{"href":249,"dataGaName":250,"dataGaLocation":436},{"text":252,"config":624},{"href":254,"dataGaName":255,"dataGaLocation":436},{"title":270,"links":626},[627,629,631,633,635,637,639,643,648,650,652,654],{"text":277,"config":628},{"href":279,"dataGaName":272,"dataGaLocation":436},{"text":282,"config":630},{"href":284,"dataGaName":285,"dataGaLocation":436},{"text":290,"config":632},{"href":292,"dataGaName":293,"dataGaLocation":436},{"text":295,"config":634},{"href":297,"dataGaName":298,"dataGaLocation":436},{"text":300,"config":636},{"href":302,"dataGaName":303,"dataGaLocation":436},{"text":305,"config":638},{"href":307,"dataGaName":308,"dataGaLocation":436},{"text":640,"config":641},"Sustainability",{"href":642,"dataGaName":640,"dataGaLocation":436},"/sustainability/",{"text":644,"config":645},"Diversity, inclusion and belonging (DIB)",{"href":646,"dataGaName":647,"dataGaLocation":436},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":310,"config":649},{"href":312,"dataGaName":313,"dataGaLocation":436},{"text":320,"config":651},{"href":322,"dataGaName":323,"dataGaLocation":436},{"text":325,"config":653},{"href":327,"dataGaName":328,"dataGaLocation":436},{"text":655,"config":656},"Modern Slavery Transparency Statement",{"href":657,"dataGaName":658,"dataGaLocation":436},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":660},[661,664,667],{"text":662,"config":663},"Terms",{"href":488,"dataGaName":489,"dataGaLocation":436},{"text":665,"config":666},"Cookies",{"dataGaName":498,"dataGaLocation":436,"id":499,"isOneTrustButton":14},{"text":668,"config":669},"Privacy",{"href":493,"dataGaName":494,"dataGaLocation":436},[671,682,693,703,715,726,737,747,757,766,776,786,797,807,816,827,835,845,855,864,874,885,895,905,914,925,935,944,954,963,973,983,993,1003,1013,1023,1033,1043,1054,1064,1075,1086,1097,1108,1118,1127,1136,1146,1156,1165,1174,1183,1192,1201,1210,1219,1229,1239,1248,1259,1267,1277,1287,1296,1306,1314,1323,1332,1341,1349,1359,1368,1377,1387,1395,1405,1414,1423,1433,1442,1451,1459,1468,1477,1486,1495,1504,1513,1523,1532,1542,1551,1560,1569,1578,1588,1598,1607,1616,1625,1634,1643,1653,1663,1673,1682,1692,1701,1711,1720,1729,1738,1748,1758,1767,1778,1787,1797,1806,1815,1825,1835,1845,1855,1865,1875,1884,1892,1900,1908,1917,1927,1935,1944,1954,1963,1973,1983,1990,1999,2009,2019,2028,2037,2045,2055,2064,2073,2082,2091,2100,2109,2118,2127,2136,2145,2153,2162,2171,2180,2190,2198,2205,2214,2223,2232,2240,2248,2257,2266,2275,2285,2294,2303,2312,2322,2331,2339,2348,2358,2367,2378,2386,2396,2406,2415,2424,2433,2443,2452,2461,2470,2480,2489,2499,2509,2517,2526,2535,2543,2552,2563,2573,2581,2590,2599,2610,2619,2628,2637,2646,2655,2664,2673,2682,2690,2700,2711,2720,2728,2737,2746,2755,2763,2772,2781,2790,2799,2808,2817,2825,2833,2844,2851,2859,2868,2877,2886,2895,2905,2915,2924,2934,2943,2952,2962,2972,2982,2992,3002,3012,3022,3031,3042,3052,3062,3070],{"content":672,"config":680},{"title":673,"heroImage":674,"category":675,"description":676,"authors":677,"date":679},"Secure and fast deployments to Google Agent Engine with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772111172/mwhgbjawn62kymfwrhle.png","ai-ml","Follow this step-by-step guide to build an AI agent with Google's Agent Development Kit and deploy to Agent Engine using GitLab.",[678],"Regnard Raquedan","2026-02-26",{"slug":681,"externalUrl":-1},"secure-and-fast-deployments-to-google-agent-engine-with-gitlab",{"content":683,"config":691},{"title":684,"heroImage":685,"category":686,"description":687,"authors":688,"date":690},"New GitLab metrics and registry features help reduce CI/CD bottlenecks","https://res.cloudinary.com/about-gitlab-com/image/upload/v1771438388/t6sts5qw4z8561gtlxiq.png","product","See how CI/CD Job Performance Metrics and Container Virtual Registry, currently in beta, help platform teams quickly spot slow jobs and simplify multi-registry container pulls.",[689],"Talia Armato-Helle","2026-02-25",{"slug":692,"externalUrl":-1},"new-gitlab-metrics-and-registry-features-help-reduce-ci-cd-bottlenecks",{"content":694,"config":701},{"title":695,"heroImage":696,"category":686,"description":697,"authors":698,"date":700},"GitLab 18.7: Advancing AI automation, governance, and developer experience","https://res.cloudinary.com/about-gitlab-com/image/upload/v1766061346/qky0m84chjftwmyk4kml.png","GitLab 18.7 adds new automation, pipeline controls, and policy updates to help teams reduce manual work, simplify processes, and deliver safer releases.",[699],"Bill Staples","2025-12-18",{"slug":702,"externalUrl":-1},"gitlab-18-7-advancing-ai-automation",{"content":704,"config":713},{"title":705,"heroImage":706,"category":707,"description":708,"authors":709,"date":712},"Guide: Migrate from Azure DevOps to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658924/Blog/Hero%20Images/securitylifecycle-light.png","engineering","Learn how to carry out the full migration from Azure DevOps to GitLab using GitLab Professional Services migration tools — from planning and execution to post-migration follow-up tasks.",[710,711],"Evgeny Rudinsky","Michael Leopard","2025-12-03",{"slug":714,"externalUrl":-1},"migration-from-azure-devops-to-gitlab",{"content":716,"config":724},{"title":717,"heroImage":718,"category":719,"description":720,"authors":721,"date":723},"Migrate from pipeline variables to pipeline inputs for better security","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","security","Follow this guide to learn about stronger controls around pipeline customization, including how to implement explicit declarations, type safety, and validation.",[722],"Fabio Pitino","2025-11-04",{"slug":725,"externalUrl":-1},"migrate-from-pipeline-variables-to-pipeline-inputs-for-better-security",{"content":727,"config":735},{"title":728,"heroImage":729,"category":707,"description":730,"authors":731,"date":734},"Variable and artifact sharing in GitLab parent-child pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664198/Blog/Hero%20Images/Self-Hosted_1800x945.png","Learn how to simplify complex CI/CD pipelines with these best practices for sharing data in more modular pipeline setups. ",[732,733],"William Arias","Daniel Helfand","2025-10-16",{"slug":736,"externalUrl":-1},"variable-and-artifact-sharing-in-gitlab-parent-child-pipelines",{"content":738,"config":745},{"title":739,"heroImage":740,"category":686,"description":741,"authors":742,"date":744},"How we supercharged GitLab CI statuses with WebSockets","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663000/Blog/Hero%20Images/tanukilifecycle.png","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.",[743],"Payton Burdette","2025-09-15",{"slug":746,"externalUrl":-1},"how-we-supercharged-gitlab-ci-statuses-with-websockets",{"content":748,"config":755},{"title":749,"heroImage":750,"category":675,"description":751,"authors":752,"date":754},"Get started with GitLab Duo Agentic Chat in the web UI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664458/Blog/Hero%20Images/Gartner_AI_Code_Assistants_Blog_Post_Cover_Image_1800x945.png","Learn about our new GitLab Duo AI feature that automates tasks by breaking down complex problems and executing operations across multiple sources.",[753,733],"Fatima Sarah Khalid","2025-08-11",{"slug":756,"externalUrl":-1},"get-started-with-gitlab-duo-agentic-chat-in-the-web-ui",{"content":758,"config":764},{"title":759,"heroImage":750,"category":675,"description":760,"authors":761,"date":763},"AI in Action Hackathon:  Celebrating the GitLab innovations ","Uncover breakthroughs from this AI development showcase that combined Google Cloud, MongoDB, and GitLab.",[762],"Nick Veenhof","2025-08-05",{"slug":765,"externalUrl":-1},"ai-in-action-hackathon-celebrating-the-gitlab-innovations",{"content":767,"config":774},{"title":768,"heroImage":769,"category":686,"description":770,"authors":771,"date":773},"CI/CD inputs: Secure and preferred method to pass parameters to a pipeline","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749658912/Blog/Hero%20Images/blog-image-template-1800x945__20_.png","Learn how CI/CD inputs provide type-safe parameter passing with validation, replacing error-prone variables for more reliable pipelines.",[772],"Dov Hershkovitch","2025-07-07",{"slug":775,"externalUrl":-1},"ci-cd-inputs-secure-and-preferred-method-to-pass-parameters-to-a-pipeline",{"content":777,"config":784},{"title":778,"heroImage":779,"category":538,"description":780,"authors":781,"date":783},"Why now is the time for embedded DevSecOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659978/Blog/Hero%20Images/automation.png","Learn how embedded development teams address long feedback cycles, manual compliance, and isolated development with DevSecOps.",[782],"Matt DeLaney","2025-07-01",{"slug":785,"externalUrl":-1},"why-now-is-the-time-for-embedded-devsecops",{"content":787,"config":795},{"title":788,"heroImage":789,"category":686,"description":790,"authors":791,"date":794},"GitLab Ultimate for IBM Z: Modern DevSecOps for mainframes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750440008/myqt5vcjlffh8sszw507.png","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. ",[792,793],"Mike Flouton","Andy Bradfield","2025-06-23",{"slug":796,"externalUrl":-1},"gitlab-ultimate-for-ibm-z-modern-devsecops-for-mainframes",{"content":798,"config":805},{"title":799,"heroImage":800,"category":686,"description":801,"authors":802,"date":804},"Getting started with GitLab: Working with CI/CD variables","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659525/Blog/Hero%20Images/blog-getting-started-with-gitlab-banner-0497-option4-fy25.png","Learn what CI/CD variables are, why they are important in DevSecOps, and best practices for utilizing them.",[803],"GitLab Team","2025-05-27",{"slug":806,"externalUrl":-1},"getting-started-with-gitlab-working-with-ci-cd-variables",{"content":808,"config":814},{"title":809,"heroImage":800,"category":686,"description":810,"authors":811,"date":813},"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.",[812],"GitLab","2025-04-25",{"slug":815,"externalUrl":-1},"getting-started-with-gitlab-understanding-ci-cd",{"content":817,"config":825},{"title":818,"heroImage":819,"category":820,"description":821,"authors":822,"date":824},"Prepare now: Docker Hub rate limits will impact GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662488/Blog/Hero%20Images/blog-image-template-1800x945__3_.png","bulletin-board","Learn how Docker Hub's upcoming pull rate limits will affect GitLab pipelines and what you can do to avoid disruptions.",[823],"Tim Rizzi","2025-03-24",{"slug":826,"externalUrl":-1},"prepare-now-docker-hub-rate-limits-will-impact-gitlab-ci-cd",{"content":828,"config":833},{"title":829,"heroImage":800,"category":686,"description":830,"authors":831,"date":832},"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.",[812],"2025-03-13",{"slug":834,"externalUrl":-1},"automating-agile-workflows-with-the-gitlab-triage-gem",{"content":836,"config":843},{"title":837,"heroImage":838,"category":839,"description":840,"authors":841,"date":842},"How to use OCI images as the source of truth for continuous delivery","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097601/Blog/Hero%20Images/Blog/Hero%20Images/REFERENCE%20-%20Use%20this%20page%20as%20a%20reference%20for%20thumbnail%20sizes_76Tn5jFmEHY5LFj8RdDjNY_1750097600692.png","open-source","Discover the benefits of using Open Container Initiative images as part of GitOps workflows and the many features GitLab offers to simplify deployments to Kubernetes.",[733],"2025-02-19",{"slug":844,"externalUrl":-1},"how-to-use-oci-images-as-the-source-of-truth-for-continuous-delivery",{"content":846,"config":853},{"title":847,"heroImage":848,"category":686,"description":849,"authors":850,"date":852},"Certificate-based Kubernetes integration sunsetting on GitLab.com","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662245/Blog/Hero%20Images/blog-image-template-1800x945__16_.png","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.",[851],"Viktor Nagy","2025-02-17",{"slug":854,"externalUrl":-1},"certificate-based-kubernetes-integration-sunsetting-on-gitlab-com",{"content":856,"config":862},{"title":857,"heroImage":858,"category":707,"description":859,"authors":860,"date":861},"Automating container image migration from Amazon ECR to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663129/Blog/Hero%20Images/blog-image-template-1800x945__28_.png","When platform teams move their CI/CD to GitLab, migrating container images shouldn't be the bottleneck. Follow this step-by-step guide to automate the pipeline migration process.",[823],"2025-02-13",{"slug":863,"externalUrl":-1},"automating-container-image-migration-from-amazon-ecr-to-gitlab",{"content":865,"config":872},{"title":866,"heroImage":867,"category":719,"description":868,"authors":869,"date":871},"Automating cybersecurity threat detections with GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663239/Blog/Hero%20Images/AdobeStock_1023776629.jpg","Discover how GUARD automates cybersecurity threat detections through the use\nof GitLab CI/CD and how it ensures high-quality detections.",[870],"Mitra Jozenazemian","2025-01-29",{"slug":873,"externalUrl":-1},"automating-cybersecurity-threat-detections-with-gitlab-ci-cd",{"content":875,"config":883},{"title":876,"heroImage":877,"category":686,"description":878,"authors":879,"date":882},"From code to production: A guide to continuous deployment with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659478/Blog/Hero%20Images/REFERENCE_-_Use_this_page_as_a_reference_for_thumbnail_sizes.png","Learn how to get started building a robust continuous deployment pipeline in GitLab. Follow these step-by-step instructions, practical examples, and best practices.",[880,881],"Benjamin Skierlak","James Wormwell","2025-01-28",{"slug":884,"externalUrl":-1},"from-code-to-production-a-guide-to-continuous-deployment-with-gitlab",{"content":886,"config":893},{"title":887,"heroImage":888,"category":686,"description":889,"authors":890,"date":892},"Hosted runners for GitLab Dedicated: Now in limited availability","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664751/Blog/Hero%20Images/AdobeStock_640077932.jpg"," Simplify CI/CD infrastructure management with hosted runners for GitLab Dedicated, a fully managed solution that handles all aspects of runner infrastructure.",[891],"Gabriel Engel","2025-01-23",{"slug":894,"externalUrl":-1},"hosted-runners-for-gitlab-dedicated-now-in-limited-availability",{"content":896,"config":903},{"title":897,"heroImage":898,"category":719,"description":899,"authors":900,"date":902},"Tutorial: Advanced use case for GitLab Pipeline Execution Policies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098083/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_397632156_3Ldy1urjMStQCl4qnOBvE0_1750098083312.jpg","Learn how new GitLab Ultimate functionality can enforce a standardized pipeline across an organization for improved compliance.",[901],"Dan Rabinovitz","2025-01-22",{"slug":904,"externalUrl":-1},"tutorial-advanced-use-case-for-gitlab-pipeline-execution-policies",{"content":906,"config":912},{"title":907,"heroImage":908,"category":719,"description":909,"authors":910,"date":911},"Secure and publish Python packages: A guide to CI integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662080/Blog/Hero%20Images/AdobeStock_1097303277.jpg","Learn how to implement a secure CI/CD pipeline across five stages with the GitLab DevSecOps platform.",[823],"2025-01-21",{"slug":913,"externalUrl":-1},"secure-and-publish-python-packages-a-guide-to-ci-integration",{"content":915,"config":923},{"title":916,"heroImage":917,"category":707,"description":918,"authors":919,"date":922},"Deploy a NodeJS Express app with GitLab's Cloud Run integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097892/Blog/Hero%20Images/Blog/Hero%20Images/speedlights_speedlights.png_1750097891963.png","This tutorial will show you how to use NodeJS and Express to deploy an application to Google Cloud. This step-by-step guide will have you up and running in less than 10 minutes with the Cloud Run integration.",[920,921],"Sarah Matthies","Noah Ing","2025-01-13",{"slug":924,"externalUrl":-1},"deploy-a-nodejs-express-app-with-gitlabs-cloud-run-integration",{"content":926,"config":933},{"title":927,"heroImage":928,"category":538,"description":929,"authors":930,"date":932},"Ultimate guide to CI/CD: Fundamentals to advanced implementation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660151/Blog/Hero%20Images/blog-image-template-1800x945__26_.png","Learn how to modernize continuous integration/continuous deployment, including automating the development, delivery, and security of pipelines.",[931],"Sandra Gittlen","2025-01-06",{"slug":934,"externalUrl":-1},"ultimate-guide-to-ci-cd-fundamentals-to-advanced-implementation",{"content":936,"config":942},{"title":937,"heroImage":769,"category":675,"description":938,"authors":939,"date":941},"Streamline DevSecOps engineering workflows with GitLab Duo","Learn all the ways GitLab Duo's AI capabilities can improve the efficiency of development workflows. Includes in-depth tutorials and demos.",[940],"Abubakar Siddiq Ango","2024-12-05",{"slug":943,"externalUrl":-1},"streamline-devsecops-engineering-workflows-with-gitlab-duo",{"content":945,"config":952},{"title":946,"heroImage":947,"category":686,"description":948,"authors":949,"date":951},"Data-driven DevSecOps: Exploring GitLab Insights Dashboards","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","Learn how to leverage GitLab Insights Dashboards to visualize key metrics, track project progress, and boost team productivity with customizable, data-driven views.",[950],"Ricardo Amarilla Villalba","2024-11-20",{"slug":953,"externalUrl":-1},"data-driven-devsecops-exploring-gitlab-insights-dashboards",{"content":955,"config":961},{"title":956,"heroImage":957,"category":707,"description":958,"authors":959,"date":960},"Provision group runners with Google Cloud Platform and GitLab CI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098300/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_623844718_4E5Fx1Q0DHikigzCsQWhOG_1750098300048.jpg","This tutorial will teach you how to set up a new group runner on GitLab.com using Google Cloud Platform in less than 10 minutes.",[920,921],"2024-11-19",{"slug":962,"externalUrl":-1},"provision-group-runners-with-google-cloud-platform-and-gitlab-ci",{"content":964,"config":971},{"title":965,"heroImage":966,"category":707,"description":967,"authors":968,"date":970},"Tutorial: How to set up your first GitLab CI/CD component","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098410/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2826%29_3lH4gZFVIGCndksN6Rlg85_1750098409928.png","Use Python scripts in your GitLab CI/CD pipelines to improve usability. In this step-by-step guide, you'll learn how to get started building your own CI/CD component.",[969,921],"Sophia Manicor","2024-11-12",{"slug":972,"externalUrl":-1},"tutorial-how-to-set-up-your-first-gitlab-ci-cd-component",{"content":974,"config":981},{"title":975,"heroImage":976,"category":686,"description":977,"authors":978,"date":980},"3 GitLab features to level up DevSecOps workflows","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665762/Blog/Hero%20Images/blog-gl17-release-hero-17-0-93-1800x945-fy25__1_.png","Fix broken pipelines faster, better understand security vulnerabilities, and filter out false positives with our latest platform improvements.",[979],"Salman Ladha","2024-10-29",{"slug":982,"externalUrl":-1},"3-gitlab-features-to-level-up-devsecops-workflows",{"content":984,"config":991},{"title":985,"heroImage":986,"category":675,"description":987,"authors":988,"date":990},"Use GitLab Duo to build and deploy a simple Quarkus-native project","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666069/Blog/Hero%20Images/AdobeStock_639935439.jpg","This tutorial shows how a Java application is compiled to machine code and deployed to a Kubernetes cluster using a CI/CD pipeline. See how AI makes the process faster and more efficient.",[989],"Cesar Saavedra","2024-10-17",{"slug":992,"externalUrl":-1},"use-gitlab-duo-to-build-and-deploy-a-simple-quarkus-native-project",{"content":994,"config":1001},{"title":995,"heroImage":996,"category":686,"description":997,"authors":998,"date":1000},"How to include file references in your CI/CD components","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664595/Blog/Hero%20Images/blog-image-template-1800x945__9_.png","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.",[999],"Itzik Gan Baruch","2024-10-16",{"slug":1002,"externalUrl":-1},"how-to-include-file-references-in-your-ci-cd-components",{"content":1004,"config":1011},{"title":1005,"heroImage":858,"category":1006,"description":1007,"authors":1008,"date":1010},"Seamlessly migrate from Jira to GitLab with Jira2Lab at scale","agile-planning","Discover how Jira2GitLab simplifies large-scale Jira-to-GitLab migrations by handling complex data transfers, improving scalability, and ensuring efficient integration.",[1009],"Maximilien Belinga","2024-10-10",{"slug":1012,"externalUrl":-1},"seamlessly-migrate-from-jira-to-gitlab-with-jira2lab-at-scale",{"content":1014,"config":1021},{"title":1015,"heroImage":1016,"category":686,"description":1017,"authors":1018,"date":1020},"Tutorial: Integrate GitLab Merge Request approvals with external systems","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749676011/Blog/Hero%20Images/blog-image-template-1800x945.svg","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.",[1019],"Samer Akkoub","2024-10-08",{"slug":1022,"externalUrl":-1},"tutorial-integrate-gitlab-merge-request-approvals-with-external-systems",{"content":1024,"config":1031},{"title":1025,"heroImage":1026,"category":719,"description":1027,"authors":1028,"date":1030},"Why GitLab is deprecating compliance pipelines in favor of security policies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098128/Blog/Hero%20Images/Blog/Hero%20Images/security-checklist_security-checklist.png_1750098128272.png","Learn about our decision to deprecate compliance pipelines and how to migrate to pipeline execution policies. The process is detailed in this tutorial.",[1029],"Ian Khor","2024-10-01",{"slug":1032,"externalUrl":-1},"why-gitlab-is-deprecating-compliance-pipelines-in-favor-of-security-policies",{"content":1034,"config":1041},{"title":1035,"heroImage":1036,"category":707,"description":1037,"authors":1038,"date":1040},"Using child pipelines to continuously deploy to five environments","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097012/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_397632156_3Ldy1urjMStQCl4qnOBvE0_1750097011626.jpg","Learn how to manage continuous deployment to multiple environments, including temporary, on-the-fly sandboxes, with a minimalist GitLab workflow.",[1039],"Olivier Dupré","2024-09-26",{"slug":1042,"externalUrl":-1},"using-child-pipelines-to-continuously-deploy-to-five-environments",{"content":1044,"config":1052},{"title":1045,"heroImage":1046,"category":686,"description":1047,"authors":1048,"date":1051},"GitLab Pages features review apps and multiple website deployment","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674550/Blog/Hero%20Images/blog-image-template-1800x945__1_.png","GitLab Pages helps organizations reap the rewards of knowledge management, including better collaboration and accessibility. Learn how to use a new feature, Parallel Deployments.",[1049,1050],"Matthew Macfarlane","Janis Altherr","2024-09-23",{"slug":1053,"externalUrl":-1},"gitlab-pages-features-review-apps-and-multiple-website-deployment",{"content":1055,"config":1062},{"title":1056,"heroImage":928,"category":675,"description":1057,"authors":1058,"date":1061},"Build an ML app pipeline with GitLab Model Registry using MLflow","Learn how to manage your ML apps entirely through GitLab with this tutorial. Also discover the role machine learning operations, or MLOps, plays in automating the DevSecOps lifecycle.",[1059,1060],"Gufran Yeşilyurt, OBSS","Péter Bozsó","2024-09-17",{"slug":1063,"externalUrl":-1},"build-an-ml-app-pipeline-with-gitlab-model-registry-using-mlflow",{"content":1065,"config":1073},{"title":1066,"heroImage":1067,"category":707,"description":1068,"authors":1069,"date":1072},"Building GitLab with GitLab: A multi-region service to deliver AI features","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098664/Blog/Hero%20Images/Blog/Hero%20Images/building-gitlab-with-gitlab-no-type_building-gitlab-with-gitlab-no-type.png_1750098663794.png","Discover how we built our first multi-region deployment for teams at GitLab using the platform's many features, helping create a frictionless developer experience for GitLab Duo users.",[1070,1071],"Chance Feick","Sam Wiskow","2024-09-12",{"slug":1074,"externalUrl":-1},"building-gitlab-with-gitlab-a-multi-region-service-to-deliver-ai-features",{"content":1076,"config":1084},{"title":1077,"heroImage":1078,"category":1079,"description":1080,"authors":1081,"date":1083},"How Indeed transformed its CI platform with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099351/Blog/Hero%20Images/Blog/Hero%20Images/Indeed-blog-cover-image-2_4AgA1DkWLtHwBlFGvMffbC_1750099350771.png","customer-stories","The world's #1 job site migrated thousands of projects to GitLab CI, boosting productivity and cutting costs. Learn the benefits they realized, including a 79% increase in daily pipelines.",[1082],"Carl Myers","2024-08-27",{"slug":1085,"externalUrl":-1},"how-indeed-transformed-its-ci-platform-with-gitlab",{"content":1087,"config":1095},{"title":1088,"heroImage":1089,"category":719,"description":1090,"authors":1091,"date":1094},"How to choose the right security scanning approach","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097969/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_282096522_securitycompliance.jpeg_1750097968823.jpg","GitLab offers multiple scanning methods for CI/CD pipelines, including compliance frameworks and scan and pipeline execution policies. Learn the basics, configurations, and advantages/disadvantages.",[1092,1093],"Matt Genelin","Mathias Ewald","2024-08-26",{"slug":1096,"externalUrl":-1},"how-to-choose-the-right-security-scanning-approach",{"content":1098,"config":1106},{"title":1099,"heroImage":1100,"category":686,"description":1101,"authors":1102,"date":1094},"Ultimate guide to migrating from AWS CodeCommit to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097810/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2828%29_4mi0l4wzUa5VI4wtf8gInx_1750097810027.png","Learn how to migrate from AWS Services to GitLab and seamlessly integrate with the DevSecOps platform in this comprehensive tutorial.",[1103,1104,1019,1105],"Tsukasa Komatsubara","Darwin Sanoy","Bart Zhang",{"slug":1107,"externalUrl":-1},"ultimate-guide-to-migrating-from-aws-codecommit-to-gitlab",{"content":1109,"config":1116},{"title":1110,"heroImage":1111,"category":686,"description":1112,"authors":1113,"date":1115},"Introducing CI/CD Steps, a programming language for DevSecOps automation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665151/Blog/Hero%20Images/blog-image-template-1800x945__27_.png","Inside GitLab’s vision for CI/CD programmability and a look at how we simplified workflow automation.",[1114],"Darren Eastman","2024-08-06",{"slug":1117,"externalUrl":-1},"introducing-ci-cd-steps-a-programming-language-for-devsecops-automation",{"content":1119,"config":1125},{"title":1120,"heroImage":1121,"category":707,"description":1122,"authors":1123,"date":1124},"FAQ: GitLab CI/CD Catalog","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098783/Blog/Hero%20Images/Blog/Hero%20Images/cicdcover_5vLe737i4QfvAqv6PnqUaR_1750098782745.png","Unlock the full potential of the CI/CD Catalog with expert tips and answers to common questions, including how to create and share components.",[999,772],"2024-08-01",{"slug":1126,"externalUrl":-1},"faq-gitlab-ci-cd-catalog",{"content":1128,"config":1134},{"title":1129,"heroImage":928,"category":707,"description":1130,"authors":1131,"date":1133},"Building a GitLab CI/CD pipeline for a monorepo the easy way","Learn how to create a GitLab CI/CD pipeline for a monorepo to host multiple applications in one repository.",[1132],"Sam Morris","2024-07-30",{"slug":1135,"externalUrl":-1},"building-a-gitlab-ci-cd-pipeline-for-a-monorepo-the-easy-way",{"content":1137,"config":1144},{"title":1138,"heroImage":1139,"category":686,"description":1140,"authors":1141,"date":1143},"How visualization improves the GitLab merge train experience","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","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.",[743,1142],"Veethika Mishra","2024-07-25",{"slug":1145,"externalUrl":-1},"how-visualization-improves-the-gitlab-merge-train-experience",{"content":1147,"config":1154},{"title":1148,"heroImage":1149,"category":1079,"description":1150,"authors":1151,"date":1153},"Online retailer bol tackles growing compliance needs with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665465/Blog/Hero%20Images/blog-image-template-1800x945__15_.png","Learn how GitLab helps the major international company adhere to regulations while increasing development efficiency.",[1152],"Julie Griffin","2024-06-12",{"slug":1155,"externalUrl":-1},"online-retailer-bol-tackles-growing-compliance-needs-with-gitlab",{"content":1157,"config":1163},{"title":1158,"heroImage":1159,"category":839,"description":1160,"authors":1161,"date":1162},"A CI/CD component builder's journey","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663857/Blog/Hero%20Images/blog-image-template-1800x945__12_.png","Learn how a creator of shared, includable templates upskilled by migrating the templates to GitLab CI/CD components and the CI/CD Catalog.",[1104],"2024-06-04",{"slug":1164,"externalUrl":-1},"a-ci-component-builders-journey",{"content":1166,"config":1172},{"title":1167,"heroImage":1168,"category":686,"description":1169,"authors":1170,"date":1171},"CI/CD Catalog goes GA: No more building pipelines from scratch","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","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.",[772],"2024-05-08",{"slug":1173,"externalUrl":-1},"ci-cd-catalog-goes-ga-no-more-building-pipelines-from-scratch",{"content":1175,"config":1181},{"title":1176,"heroImage":1177,"category":538,"description":1178,"authors":1179,"date":1180},"Interactive: Take a guided tour of the DevSecOps workflow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668969/Blog/Hero%20Images/blog-image-template-1800x945__1800_x_945_px_.png","Explore GitLab's recommended best practices for DevSecOps with a detailed visual depiction of the main steps in the development lifecycle.",[999],"2024-04-16",{"slug":1182,"externalUrl":-1},"interactive-take-a-guided-tour-of-the-devsecops-workflow",{"content":1184,"config":1190},{"title":1185,"heroImage":1186,"category":719,"description":1187,"authors":1188,"date":1189},"Coming soon: GitLab dependency firewall","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665667/Blog/Hero%20Images/built-in-security.jpg","Learn how this new feature will help organizations avoid supply chain software attacks by warning them or blocking the download based on a project's policy.",[823],"2024-03-26",{"slug":1191,"externalUrl":-1},"coming-soon-gitlab-dependency-firewall",{"content":1193,"config":1199},{"title":1194,"heroImage":1195,"category":707,"description":1196,"authors":1197,"date":1198},"Refactoring a CI/CD template to a CI/CD component","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665989/Blog/Hero%20Images/AdobeStock_618473457.jpg","CI/CD components are the next generation of CI/CD templates, enhancing pipeline creation and maintenance. Learn how to transition from templates to components.",[999],"2024-03-04",{"slug":1200,"externalUrl":-1},"refactoring-a-ci-cd-template-to-a-ci-cd-component",{"content":1202,"config":1208},{"title":1203,"heroImage":1204,"category":707,"description":1205,"authors":1206,"date":1207},"Revisiting the variables management workflow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098484/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_618473457_nd5Dr8kfGdrlTWLOPmDjb_1750098483284.jpg","Our users helped us identify the hurdles in the variables management experience and we used those insights to guide improvements.",[1142],"2024-02-26",{"slug":1209,"externalUrl":-1},"revisiting-the-variables-management-workflow",{"content":1211,"config":1217},{"title":1212,"heroImage":1213,"category":707,"description":1214,"authors":1215,"date":1216},"How to translate Bamboo agent capabilities to GitLab Runner tags  ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663019/Blog/Hero%20Images/AdobeStock_519147119.jpg","This tutorial demonstrates how to use tags to organize GitLab Runners when building complex CI/CD pipelines.",[940],"2024-02-22",{"slug":1218,"externalUrl":-1},"how-to-translate-bamboo-agent-capabilities-to-gitlab-runner-tags",{"content":1220,"config":1227},{"title":1221,"heroImage":1222,"category":538,"description":1223,"authors":1224,"date":1226},"CI/CD automation: Maximize 'deploy freeze' impact across GitLab groups","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667913/Blog/Hero%20Images/clocks.jpg","Learn the benefits of managing deploy freezes at the group level and follow step-by-step guidance on implementation.",[1225],"Christian Nnachi","2024-02-08",{"slug":1228,"externalUrl":-1},"ci-cd-automation-maximize-deploy-freeze-impact-across-gitlab-groups",{"content":1230,"config":1237},{"title":1231,"heroImage":1232,"category":1079,"description":1233,"authors":1234,"date":1236},"How Carrefour and Thales are evolving their CI/CD platforms","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662061/Blog/Hero%20Images/cicdcover.png","Learn how a large retailer and an aerospace and defense company are using GitLab to evolve their CI/CD platforms to increase developer productivity.",[1235],"Kristina Weis","2024-02-05",{"slug":1238,"externalUrl":-1},"how-carrefour-and-thales-are-evolving-their-ci-cd-platforms",{"content":1240,"config":1246},{"title":1241,"heroImage":1213,"category":538,"description":1242,"authors":1243,"date":1245},"Jenkins-to-GitLab migration made easy","Learn why and how to migrate from Jenkins to GitLab with ease by following this step-by-step guide.",[1244],"Fernando Diaz","2024-02-01",{"slug":1247,"externalUrl":-1},"jenkins-to-gitlab-migration-made-easy",{"content":1249,"config":1257},{"title":1250,"heroImage":1251,"category":1252,"description":1253,"authors":1254,"date":1256},"Hosted Runners for GitLab Dedicated available in Beta","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663948/Blog/Hero%20Images/dedicatedcoverimage.png","news","GitLab Dedicated customers can now scale their CI/CD workloads with no maintenance overhead.",[1255],"Fabian Zimmer","2024-01-31",{"slug":1258,"externalUrl":-1},"hosted-runners-for-gitlab-dedicated-available-in-beta",{"content":1260,"config":1265},{"title":1261,"heroImage":1195,"category":707,"description":1262,"authors":1263,"date":1256},"Quick setup of a GKE Cluster with ArgoCD pre-installed using Terraform","Use this tutorial as a great starting point to manage your cluster entirely through GitOps.",[921,1264],"Siddharth Mathur",{"slug":1266,"externalUrl":-1},"quick-setup-of-a-gke-cluster-with-argocd-pre-installed-using-terraform",{"content":1268,"config":1275},{"title":1269,"heroImage":1270,"category":707,"description":1271,"authors":1272,"date":1274},"Inside the improved CI logs management experience for multi-line commands","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099499/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_639935439_3oqldo5Yt5wPonEJYZOLTM_1750099498739.jpg","Reviewing log output for CI/CD jobs with multi-line commands is now easier than ever. Find out why, how to configure your pipelines, and what's ahead.\n\n",[1273],"Romuald Atchadé","2024-01-25",{"slug":1276,"externalUrl":-1},"inside-the-improved-ci-logs-management-experience-for-multi-line-commands",{"content":1278,"config":1285},{"title":1279,"heroImage":1280,"category":686,"description":1281,"authors":1282,"date":1284},"Registration Features program expands by 16 free features","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659437/Blog/Hero%20Images/AdobeStock_398929148.jpg","More features now available at no cost to free self-managed Enterprise Edition DevSecOps platform customers who register and turn on their Service Ping.",[1283],"Ian Pedowitz","2024-01-18",{"slug":1286,"externalUrl":-1},"registration-features-program-expands-by-16-free-features",{"content":1288,"config":1294},{"title":1289,"heroImage":1290,"category":538,"description":1291,"authors":1292,"date":1293},"GitLab is now available as an AWS CodeStar Connections provider","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098884/Blog/Hero%20Images/Blog/Hero%20Images/AdobeStock_397632156_3Ldy1urjMStQCl4qnOBvE0_1750098884409.jpg","AWS released native CodePipeline integration for GitLab projects and repos, helping to ensure a best-in-class experience when using GitLab and AWS together.",[1104],"2024-01-11",{"slug":1295,"externalUrl":-1},"gitlab-is-now-available-as-an-aws-codestar-connections-provider",{"content":1297,"config":1304},{"title":1298,"heroImage":1299,"category":538,"description":1300,"authors":1301,"date":1303},"Managing GitLab resources with Pulumi","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683430/Blog/Hero%20Images/AdobeStock_293854129__1_.jpg","Learn how Pulumi's infrastructure-as-code tool helps streamline the automation of GitLab CI/CD workflows.",[1302],"Josh Kodroff, Pulumi","2024-01-10",{"slug":1305,"externalUrl":-1},"managing-gitlab-resources-with-pulumi",{"content":1307,"config":1312},{"title":1308,"heroImage":740,"category":538,"description":1309,"authors":1310,"date":1311},"Top 10 GitLab technical blogs of 2023","2023 was a big year! Catch up on expert insights into DevSecOps, AI, CI/CD, and more.",[931],"2024-01-09",{"slug":1313,"externalUrl":-1},"top-10-gitlab-technical-blogs-of-2023",{"content":1315,"config":1321},{"title":1316,"heroImage":1317,"category":675,"description":1318,"authors":1319,"date":1320},"Can your CI/CD environment support AI-powered DevSecOps? ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683522/Blog/Hero%20Images/AdobeStock_659839979.jpg","Unlock the value of AI-powered software development with a DevSecOps platform capable of supporting CI/CD hyperscale.",[1114],"2024-01-03",{"slug":1322,"externalUrl":-1},"can-your-ci-cd-environment-support-ai-powered-devsecops",{"content":1324,"config":1330},{"title":1325,"heroImage":1326,"category":707,"description":1327,"authors":1328,"date":1329},"Introducing the GitLab CI/CD Catalog Beta","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099399/Blog/Hero%20Images/Blog/Hero%20Images/security-pipelines_4UHVIJlePT8rEzjvYkGYvi_1750099398604.jpg","Discover, reuse, and contribute CI/CD components effortlessly, enhancing collaboration and efficiency when creating pipeline configurations.",[999],"2023-12-21",{"slug":1331,"externalUrl":-1},"introducing-the-gitlab-ci-cd-catalog-beta",{"content":1333,"config":1339},{"title":1334,"heroImage":1335,"category":1252,"description":1336,"authors":1337,"date":1338},"GitLab's Maven dependency proxy is available in Beta","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663908/Blog/Hero%20Images/2023-devsecops-report-blog-banner2.png","Enterprises can use new package registry feature to consolidate artifact management on GitLab, increasing the efficiency and speed of CI/CD pipelines.",[823],"2023-12-11",{"slug":1340,"externalUrl":-1},"gitlabs-maven-dependency-proxy-is-available-in-beta",{"content":1342,"config":1347},{"title":1343,"heroImage":740,"category":1079,"description":1344,"authors":1345,"date":1346},"Betstudios CTO on improving CI/CD capabilities with GitLab Premium","Read why Betstudios upgraded to GitLab Premium and how their software development process has changed in this Q&A with their CTO Rafael Campuzano.",[1235],"2023-12-06",{"slug":1348,"externalUrl":-1},"betstudios-cto-on-improving-ci-cd-capabilities-with-gitlab-premium",{"content":1350,"config":1357},{"title":1351,"heroImage":1352,"category":707,"description":1353,"authors":1354,"date":1356},"How user research transformed GitLab Runner Fleet dashboard visibility and metrics","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666543/Blog/Hero%20Images/lightvisibility.png","Learn how GitLab user research drives the product development process when enabling more runner fleet features.",[1355],"Gina Doyle","2023-11-07",{"slug":1358,"externalUrl":-1},"how-we-user-research-transformed-gitlab-runner-fleet-dashboard-visibility-and-metrics",{"content":1360,"config":1366},{"title":1361,"heroImage":779,"category":686,"description":1362,"authors":1363,"date":1365},"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.",[1364],"Ben Ridley","2023-11-01",{"slug":1367,"externalUrl":-1},"tutorial-automated-release-and-release-notes-with-gitlab",{"content":1369,"config":1375},{"title":1370,"heroImage":1371,"category":675,"description":1372,"authors":1373,"date":1374},"Drive secure growth at scale: Your GitLab AI, CI/CD, and customization toolkit","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679194/Blog/Hero%20Images/duo-blog-post.png","Find out how the latest developments for the GitLab AI-powered DevSecOps Platform help organizations scale to enterprise levels.",[792],"2023-10-31",{"slug":1376,"externalUrl":-1},"gitlab-ai-cicd-customization-toolkit",{"content":1378,"config":1385},{"title":1379,"heroImage":1380,"category":1252,"description":1381,"authors":1382,"date":1384},"Beyond source code management: 1 billion pipelines of CI/CD innovation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668799/Blog/Hero%20Images/securitylifecycle.png","GitLab recently reached a major CI/CD milestone - find out what this means for customer innovation.",[1383],"Jackie Porter","2023-10-04",{"slug":1386,"externalUrl":-1},"one-billion-pipelines-cicd",{"content":1388,"config":1393},{"title":1389,"heroImage":1390,"category":1252,"description":1391,"authors":1392,"date":1384},"Upgrading the operating system version of our SaaS runners on Linux","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669863/Blog/Hero%20Images/security-pipelines.jpg","With GitLab 17.0, we are updating the operating system version of our SaaS runners on Linux. Learn what will change and how to mitigate potential incompatibilities.",[891],{"slug":1394,"externalUrl":-1},"updating-the-os-version-of-saas-runners-on-linux",{"content":1396,"config":1403},{"title":1397,"heroImage":1398,"category":707,"description":1399,"authors":1400,"date":1402},"Speed up API and microservices delivery with Microcks and GitLab - Part 1","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683021/Blog/Hero%20Images/lightsticks.png","Learn how to configure Microcks for GitLab and what the use cases are for this open source Kubernetes-native tool.",[1401],"Madou Coulibaly","2023-09-27",{"slug":1404,"externalUrl":-1},"microcks-and-gitlab-part-one",{"content":1406,"config":1412},{"title":1407,"heroImage":706,"category":538,"description":1408,"authors":1409,"date":1411},"Atlassian Server ending: Goodbye disjointed toolchain, hello DevSecOps platform","Atlassian is about to end support for Server products. Learn why now is the time to make the upgrade to GitLab’s single DevSecOps platform.",[1410],"Dave Steer","2023-09-26",{"slug":1413,"externalUrl":-1},"atlassian-server-ending-move-to-a-single-devsecops-platform",{"content":1415,"config":1421},{"title":1416,"heroImage":1417,"category":538,"description":1418,"authors":1419,"date":1420},"How to use feature flags to lower risk in deployments","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667743/Blog/Hero%20Images/flags.png","Follow this comprehensive tutorial to learn how to create and use feature flags in your software development environment.",[989],"2023-09-20",{"slug":1422,"externalUrl":-1},"eliminate-risk-with-feature-flags-tutorial",{"content":1424,"config":1431},{"title":1425,"heroImage":1426,"category":719,"description":1427,"authors":1428,"date":1430},"How GitLab supports NSA and CISA CI/CD security guidance","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683032/Blog/Hero%20Images/vaultimage.png","GitLab can support your alignment with NSA and CISA CI/CD recommendations and best practices for cloud-based DevSecOps environments.",[1429],"Joseph Longo","2023-09-19",{"slug":1432,"externalUrl":-1},"how-gitlab-supports-the-nsa-and-cisa-cicd-security-guidance",{"content":1434,"config":1440},{"title":1435,"heroImage":1436,"category":707,"description":1437,"authors":1438,"date":1439},"How to host VueJS apps using GitLab Pages","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683489/Blog/Hero%20Images/hosting.png","Follow this tutorial, including detailed configuration guidance, to quickly get your application up and running for free.",[969,921],"2023-09-13",{"slug":1441,"externalUrl":-1},"hosting-vuejs-apps-using-gitlab-pages",{"content":1443,"config":1449},{"title":1444,"heroImage":1445,"category":707,"description":1446,"authors":1447,"date":1448},"How to adopt a cascading merge request strategy with GitLab Flow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679851/Blog/Hero%20Images/cascade.jpg","This tutorial explains how to consolidate updates in a single branch and propagate them to other branches using ucascade bot.",[1401],"2023-08-31",{"slug":1450,"externalUrl":-1},"cascading-merge-requests-with-gitlab-flow",{"content":1452,"config":1457},{"title":1453,"heroImage":1390,"category":1252,"description":1454,"authors":1455,"date":1456},"Removing tags from our small SaaS runner on Linux","With GitLab 17.0, we are removing most tags from our small SaaS runner on Linux. Find out if you are affected and the change you need to make.",[891],"2023-08-15",{"slug":1458,"externalUrl":-1},"removing-tags-from-small-saas-runner-on-linux",{"content":1460,"config":1466},{"title":1461,"heroImage":1186,"category":719,"description":1462,"authors":1463,"date":1465},"Use GitLab and MITRE ATT&CK Navigator to visualize adversary techniques","This tutorial helps build and deploy a customized version of MITRE's ATT&CK Navigator using GitLab CI/CD and GitLab Pages.",[1464],"Chris Moberly","2023-08-09",{"slug":1467,"externalUrl":-1},"gitlab-mitre-attack-navigator",{"content":1469,"config":1475},{"title":1470,"heroImage":1471,"category":1252,"description":1472,"authors":1473,"date":1474},"Medium GitLab SaaS runners on Linux now available to all tiers","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679838/Blog/Hero%20Images/fastlightrunner.jpg","Free tier users can follow a few instructions to use medium SaaS runners on Linux to increase CI/CD pipleline speeds.",[891],"2023-08-01",{"slug":1476,"externalUrl":-1},"medium-gitlab-saas-runners-on-linux-now-available-to-all-tiers",{"content":1478,"config":1484},{"title":1479,"heroImage":1480,"category":675,"description":1481,"authors":1482,"date":1483},"Combine GitLab Flow and GitLab Duo for a workflow powerhouse ","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662840/Blog/Hero%20Images/ai-experiment-stars.png","Add the AI-powered capabilities of GitLab Duo to GitLab Flow to boost the efficiency of DevSecOps workflows. This is a guide for deployment in your environment, including a video tutorial.",[989],"2023-07-27",{"slug":1485,"externalUrl":-1},"gitlab-flow-duo",{"content":1487,"config":1493},{"title":1488,"heroImage":1489,"category":538,"description":1490,"authors":1491,"date":1492},"GitHub to GitLab migration the easy way","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668776/Blog/Hero%20Images/julia-craice-faCwTallTC0-unsplash.jpg","Learn how easy it is to migrate from GitHub to GitLab using GitLab's project import functionality.",[1244],"2023-07-11",{"slug":1494,"externalUrl":-1},"github-to-gitlab-migration-made-easy",{"content":1496,"config":1502},{"title":1497,"heroImage":1498,"category":707,"description":1499,"authors":1500,"date":1501},"Introducing CI/CD components and how to use them in GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667676/Blog/Hero%20Images/buildingblocks.jpg","Learn the main benefits for using CI/CD components in your CI/CD pipelines and how to achieve them.",[772],"2023-07-10",{"slug":1503,"externalUrl":-1},"introducing-ci-components",{"content":1505,"config":1511},{"title":1506,"heroImage":1507,"category":675,"description":1508,"authors":1509,"date":1510},"Empower ModelOps and HPC workloads with GPU-enabled runners integrated with CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682702/Blog/Hero%20Images/gitlab-data-science-icon.png","Learn how to leverage our GitLab-hosted GPU-enabled runners for ModelOps and high-performance computing workloads.",[891],"2023-07-06",{"slug":1512,"externalUrl":-1},"empowering-modelops-and-hpc-workloads-with-gpu-enabled-runners",{"content":1514,"config":1521},{"title":1515,"heroImage":1390,"category":719,"description":1516,"authors":1517,"date":1520},"How OIDC can simplify authentication of GitLab CI/CD pipelines with Google Cloud","OpenID Connect can sometimes be complex, but it's the safer and recommended way to authenticate your GitLab pipeline with Google Cloud. This tutorial shows you how.",[1518,1519],"Hiroki Suezawa","Dhruv Jain","2023-06-28",{"slug":1522,"externalUrl":-1},"introduction-of-oidc-modules-for-integration-between-google-cloud-and-gitlab-ci",{"content":1524,"config":1530},{"title":1525,"heroImage":1526,"category":707,"description":1527,"authors":1528,"date":1529},"Quickstart guide for GitLab Remote Development workspaces","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664219/Blog/Hero%20Images/2023-06-22-quickstart-workspaces-cover-image2.png","Learn how to create a workspace from your GitLab account and work directly from the remote development environment.",[999],"2023-06-26",{"slug":1531,"externalUrl":-1},"quick-start-guide-for-gitlab-workspaces",{"content":1533,"config":1540},{"title":1534,"heroImage":1535,"category":707,"description":1536,"authors":1537,"date":1539},"Tutorial: Android CI/CD with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669316/Blog/Hero%20Images/angela-compagnone-4Iyg6cNU7sI-unsplash.jpg","Learn how to create an automated Android CI/CD pipeline using GitLab and fastlane.",[1538],"Darby Frey","2023-06-13",{"slug":1541,"externalUrl":-1},"android-cicd-with-gitlab",{"content":1543,"config":1549},{"title":1544,"heroImage":1335,"category":1545,"description":1546,"authors":1547,"date":1548},"4 best practices leading orgs to release software faster","insights","GitLab's 2023 Global DevSecOps Survey illuminates the strategies that organizations deploying more frequently have in common.",[1235],"2023-06-08",{"slug":1550,"externalUrl":-1},"best-practices-leading-orgs-to-release-software-faster",{"content":1552,"config":1558},{"title":1553,"heroImage":1554,"category":707,"description":1555,"authors":1556,"date":1557},"Tutorial: iOS CI/CD with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669340/Blog/Hero%20Images/john-cameron-DgRb7aAGK4k-unsplash.jpg","Learn how to create an automated CI/CD pipeline using GitLab and fastlane.",[1538],"2023-06-07",{"slug":1559,"externalUrl":-1},"ios-cicd-with-gitlab",{"content":1561,"config":1567},{"title":1562,"heroImage":1563,"category":707,"description":1564,"authors":1565,"date":1566},"Define input parameters to includable CI/CD configuration files","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679170/Blog/Hero%20Images/migration-data.jpg","This is the first milestone of the long-term roadmap of the CI/CD Components Catalog roadmap.",[999],"2023-05-08",{"slug":1568,"externalUrl":-1},"use-inputs-in-includable-files",{"content":1570,"config":1576},{"title":1571,"heroImage":1572,"category":707,"description":1573,"authors":1574,"date":1575},"How to build more reusable CI/CD templates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682709/Blog/Hero%20Images/pexels-mathias-reding-4386148.jpg","Users can now define inputs to any includable CI/CD templates. Learn how and see what other CI/CD pipeline developments are coming.",[772],"2023-05-01",{"slug":1577,"externalUrl":-1},"how-to-build-reusable-ci-templates",{"content":1579,"config":1586},{"title":1580,"heroImage":1581,"category":707,"description":1582,"authors":1583,"date":1585},"SourceWarp: Make data-driven, agile DevSecOps decisions","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682686/Blog/Hero%20Images/velocity2.png","How the SourceWarp approach and tool help make informed, agile decisions for CI/CD tools and DevSecOps platforms at GitLab.",[1584],"GitLab Vulnerability Research Team","2023-04-13",{"slug":1587,"externalUrl":-1},"data-driven-decision-making-with-sourcewarp",{"content":1589,"config":1596},{"title":1590,"heroImage":1591,"category":707,"description":1592,"authors":1593,"date":1595},"How to deploy a React application to Amazon S3 using GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663291/Blog/Hero%20Images/cover1.jpg","Follow this guide to use OpenID Connect to connect to AWS and deploy a React application to Amazon S3.",[1594],"Jeremy Wagner","2023-03-01",{"slug":1597,"externalUrl":-1},"how-to-deploy-react-to-amazon-s3",{"content":1599,"config":1605},{"title":1600,"heroImage":1601,"category":1079,"description":1602,"authors":1603,"date":1604},"Cube reduces toolchain complexity and speeds software delivery with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668437/Blog/Hero%20Images/faster-cycle-times.jpg","Software maker shares how the DevSecOps Platform helps improve customer collaboration and streamline releases.",[812],"2023-02-07",{"slug":1606,"externalUrl":-1},"how-cube-uses-gitlab-to-increase-efficiency-and-productivity",{"content":1608,"config":1614},{"title":1609,"heroImage":1601,"category":1079,"description":1610,"authors":1611,"date":1613},"How we increased our release velocity with GitLab","Learn Evolphin's challenges, reasons for choosing the DevSecOps platform, and our end state following the transition.",[1612],"Rahul Bhargava, CTO, Evolphin","2022-12-05",{"slug":1615,"externalUrl":-1},"how-we-increased-our-release-velocity-with-gitlab",{"content":1617,"config":1623},{"title":1618,"heroImage":1619,"category":707,"description":1620,"authors":1621,"date":1622},"How to automate testing for a React application with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666775/Blog/Hero%20Images/cover.jpg","Learn how to add React automated tests to a GitLab CI pipeline with this tutorial.",[1594],"2022-11-01",{"slug":1624,"externalUrl":-1},"how-to-automate-testing-for-a-react-application-with-gitlab",{"content":1626,"config":1632},{"title":1627,"heroImage":1628,"category":538,"description":1629,"authors":1630,"date":1631},"Mobile DevOps with GitLab, Part 2 - Code signing for Android with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668592/Blog/Hero%20Images/teddy-gr--adWwTRAm1g-unsplash.jpg","This second part of our tutorial series shows how to use Project-level Secure Files to sign an Android application.",[1538],"2022-09-28",{"slug":1633,"externalUrl":-1},"mobile-devops-with-gitlab-part-2",{"content":1635,"config":1641},{"title":1636,"heroImage":1637,"category":538,"description":1638,"authors":1639,"date":1640},"Mobile DevOps with GitLab, Part 1 - Code signing with Project-level Secure Files","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668629/Blog/Hero%20Images/refargotohp-mzZp_9QpYLc-unsplash.jpg","An introduction to mobile code signing with the new Project-level Secure Files feature.",[1538],"2022-09-20",{"slug":1642,"externalUrl":-1},"mobile-devops-with-gitlab-part-1",{"content":1644,"config":1651},{"title":1645,"heroImage":1646,"category":538,"description":1647,"authors":1648,"date":1650},"8 Steps to prepare your team for a DevOps platform migration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663786/Blog/Hero%20Images/craftsman-looks-at-continuous-integration.jpg","Getting teams ready enables them to migrate with more confidence and ease. Here's how to get started.",[1649],"Sharon Gaudin","2022-08-16",{"slug":1652,"externalUrl":-1},"eight-steps-to-prepare-your-team-for-a-devops-platform-migration",{"content":1654,"config":1661},{"title":1655,"heroImage":1656,"category":1252,"description":1657,"authors":1658,"date":1660},"How to create a hub of GitLab CI/CD jobs with R2Devops","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682395/Blog/Hero%20Images/r2devops1.png","Here's how R2Devops and GitLab can work together to streamline CI/CD.",[1659],"Sandra Salerno","2022-07-27",{"slug":1662,"externalUrl":-1},"r2devops-open-source-hub-cicd",{"content":1664,"config":1671},{"title":1665,"heroImage":1666,"category":707,"description":1667,"authors":1668,"date":1670},"How to migrate Atlassian's Bamboo server's CI/CD infrastructure to GitLab CI, part two","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679081/Blog/Hero%20Images/jenkins-migration.jpg","A real-world look at how a migrated CI/CD infrastructure will work in GitLab CI.",[1669],"Ivan Lychev","2022-07-11",{"slug":1672,"externalUrl":-1},"how-to-migrate-atlassians-bamboo-servers-ci-cd-infrastructure-to-gitlab-ci-part-two",{"content":1674,"config":1680},{"title":1675,"heroImage":1676,"category":707,"description":1677,"authors":1678,"date":1679},"How to migrate Atlassian Bamboo Server's CI/CD infrastructure to GitLab CI, part one","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg","Theoretical reasoning and practical proposal on migrating an existing CI/CD infrastructure of some multi-component application from Bamboo Server to GitLab CI",[1669],"2022-07-06",{"slug":1681,"externalUrl":-1},"migration-from-atlassian-bamboo-server-to-gitlab-ci",{"content":1683,"config":1690},{"title":1684,"heroImage":1685,"category":538,"description":1686,"authors":1687,"date":1689},"GitLab 15: The retrospective","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667845/Blog/Hero%20Images/gl15.jpg","GitLab was founded in 2011 but that was a world nearly unrecognizable today. Here's a look back at what life was like then.",[1688],"Brendan O'Leary","2022-06-13",{"slug":1691,"externalUrl":-1},"gitlab-15-the-retrospective",{"content":1693,"config":1699},{"title":1694,"heroImage":1695,"category":538,"description":1696,"authors":1697,"date":1698},"How to automate software delivery using Quarkus and GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666915/Blog/Hero%20Images/autodevops.jpg","Here's a step-by-step guide to automated software delivery using Supersonic Subatomic Java (Quarkus) and GitLab.",[989],"2022-06-09",{"slug":1700,"externalUrl":-1},"how-to-automate-software-delivery-using-quarkus-and-gitlab",{"content":1702,"config":1709},{"title":1703,"heroImage":1704,"category":538,"description":1705,"authors":1706,"date":1708},"GitLab provides small business with a professional, mature DevOps platform","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668272/Blog/Hero%20Images/blonklogo.png","Blonk had a small team but a big need for professional software development. Here's how GitLab helped.",[1707],"Esther Shein","2022-05-19",{"slug":1710,"externalUrl":-1},"gitlab-provides-small-business-with-a-professional-mature-devops-platform",{"content":1712,"config":1718},{"title":1713,"heroImage":1714,"category":538,"description":1715,"authors":1716,"date":1717},"How to learn CI/CD fast","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756989645/fojzxakmfdea6jfqjkrl.png","Continuous integration and continuous delivery (CI/CD) are critical to faster software releases and it's less complicated than it seems to get rolling. Here's how to start fast with CI/CD.",[999],"2022-04-13",{"slug":1719,"externalUrl":-1},"how-to-learn-ci-cd-fast",{"content":1721,"config":1727},{"title":1722,"heroImage":1723,"category":538,"description":1724,"authors":1725,"date":1726},"6 ways SMBs can leverage the power of a DevOps platform","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668224/Blog/Hero%20Images/inside-our-new-development-team-lead-persona.jpg","Bringing a DevOps platform into a small business can be a game changer. It can also cut down on the hat wearing. Here are the top 6 benefits.",[1649],"2022-04-12",{"slug":1728,"externalUrl":-1},"6-ways-smbs-can-leverage-the-power-of-a-devops-platform",{"content":1730,"config":1736},{"title":1731,"heroImage":1732,"category":538,"description":1733,"authors":1734,"date":1735},"It's time to learn DevOps and here's where to begin","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663743/Blog/Hero%20Images/three-things-i-learned-in-my-first-month-at-gitlab.jpg","DevOps is a unique blend of tech, tools and culture. Take it step-by-step and it's easy to learn. This simple guide shows you how to get started. Learn more here!",[1649],"2022-03-10",{"slug":1737,"externalUrl":-1},"if-its-time-to-learn-devops-heres-where-to-begin",{"content":1739,"config":1746},{"title":1740,"heroImage":1741,"category":1545,"description":1742,"authors":1743,"date":1745},"10 Reasons why your business needs CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663779/Blog/Hero%20Images/cicd-2018_blogimage.jpg","Want to know why you should consider using CI/CD? Learn more here about the many business benefits of adopting a CI/CD workflow for you and your organization.",[1744],"Valerie Silverthorne","2022-02-15",{"slug":1747,"externalUrl":-1},"ten-reasons-why-your-business-needs-ci-cd",{"content":1749,"config":1756},{"title":1750,"heroImage":1751,"category":707,"description":1752,"authors":1753,"date":1755},"It's time to update Docker Engine","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669673/Blog/Hero%20Images/engineering.png","Now that Alpine Linux 3.14 is being used by more images, it's time to upgrade Docker Engine to 20.10.6 or newer.",[1754],"Tomasz Maczukin","2021-08-26",{"slug":1757,"externalUrl":-1},"its-time-to-upgrade-docker-engine",{"content":1759,"config":1765},{"title":1760,"heroImage":1761,"category":707,"description":1762,"authors":1763,"date":1764},"GitLab environment variables demystified","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664679/Blog/Hero%20Images/blog-image-template-1800x945__24_.png","CI/CD variables are useful (and flexible) tools to control jobs and pipelines. We unpack everything you need to know about GitLab environment variables.",[1142],"2021-04-09",{"slug":1766,"externalUrl":-1},"demystifying-ci-cd-variables",{"content":1768,"config":1776},{"title":1769,"heroImage":1770,"category":1771,"description":1772,"authors":1773,"date":1775},"Using the Dependency Proxy to improve your pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681815/Blog/Hero%20Images/dependency_proxy_header.jpg","unfiltered","The Dependency Proxy helps make pipelines faster and mitigates Docker Hub rate limits.",[1774],"Steve Abrams","2020-12-15",{"slug":1777,"externalUrl":-1},"dependency-proxy-updates",{"content":1779,"config":1785},{"title":1780,"heroImage":1676,"category":1545,"description":1781,"authors":1782,"date":1784},"How pre-filled CI/CD variables will make running pipelines easier","Learn more about this future release and how pre-filled variables will save time and reduce errors.",[1783],"Chrissie Buchanan","2020-12-02",{"slug":1786,"externalUrl":-1},"pre-filled-variables-feature",{"content":1788,"config":1795},{"title":1789,"heroImage":1790,"category":1252,"description":1791,"authors":1792,"date":1794},"How machine learning ops works with GitLab and continuous machine learning","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681802/Blog/Hero%20Images/gitlab_cml_dvc_banner.png","We share different machine learning use cases for CML projects using GitLab CI.",[1793],"Dr. Elle O'Brien","2020-12-01",{"slug":1796,"externalUrl":-1},"continuous-machine-learning-development-with-gitlab-ci",{"content":1798,"config":1804},{"title":1799,"heroImage":1619,"category":707,"description":1800,"authors":1801,"date":1803},"VS Code extension development with GitLab","As VS Code editor increases in popularity, find out how GitLab + VS Code can be used for extension development and how we develop the official GitLab VS Code extension.",[1802],"Tomas Vik","2020-11-30",{"slug":1805,"externalUrl":-1},"vscode-extension-development-with-gitlab",{"content":1807,"config":1813},{"title":1808,"heroImage":1809,"category":1771,"description":1810,"authors":1811,"date":1812},"GitLab's unifiied and integrated monitoring strategies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681771/Blog/Hero%20Images/CD-1st-mkt-diff-cover-1275x849.jpg","Learn about GitLab’s unified and integrated monitoring capabilities and advanced deployment strategies.",[989],"2020-11-23",{"slug":1814,"externalUrl":-1},"cd-unified-monitor-deploy",{"content":1816,"config":1823},{"title":1817,"heroImage":1818,"category":1771,"description":1819,"authors":1820,"date":1822},"Join the first GitLab Community Day and get started with CI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681760/Blog/Hero%20Images/Community-day-banner-1.png","Learn about GitLab CI and get to know the community.",[1821],"John Coghlan","2020-11-19",{"slug":1824,"externalUrl":-1},"gitlab-community-day",{"content":1826,"config":1833},{"title":1827,"heroImage":1828,"category":1771,"description":1829,"authors":1830,"date":1832},"From user, to advocate, to contributor: my GitLab journey","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681735/Blog/Hero%20Images/cover_photo.jpg","Three years (as a user and as a contributor) with GitLab.",[1831],"Lee Tickett","2020-11-13",{"slug":1834,"externalUrl":-1},"lee-tickett-my-gitlab-journey",{"content":1836,"config":1843},{"title":1837,"heroImage":1838,"category":1252,"description":1839,"authors":1840,"date":1842},"How to keep GitLab Auto DevOps and Managed Apps working after Helm stable repo is removed","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667182/Blog/Hero%20Images/maximilian-weisbecker-Esq0ovRY-Zs-unsplash.jpg","The Helm stable repository will be removed this month. We explain how to keep Auto DevOps and GitLab Managed Apps working.",[1841],"Thong Kuah","2020-11-09",{"slug":1844,"externalUrl":-1},"ensure-auto-devops-work-after-helm-stable-repo",{"content":1846,"config":1853},{"title":1847,"heroImage":1848,"category":839,"description":1849,"authors":1850,"date":1852},"How open source contributions accelerate GitLab Secure","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668622/Blog/Hero%20Images/group-rowing-collaboration.jpg","Community contributions and an open integration framework allows anyone to extend GitLab Secure",[1851],"Taylor McCaslin","2020-10-22",{"slug":1854,"externalUrl":-1},"integrating-with-gitlab-secure",{"content":1856,"config":1863},{"title":1857,"heroImage":1858,"category":1771,"description":1859,"authors":1860,"date":1862},"A single application for your end-to-end DevOps needs starts with Version Control & Collaboration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681652/Blog/Hero%20Images/markus-spiske-MkwAXj8LV8c-unsplash.png","Version Control & Collaboration is centered at the core of your end-to-end DevOps single application needs",[1861],"Tye Davis","2020-10-07",{"slug":1864,"externalUrl":-1},"vcc-with-a-single-app",{"content":1866,"config":1873},{"title":1867,"heroImage":1868,"category":1545,"description":1869,"authors":1870,"date":1872},"How to use DevOps to pay off your technical debt","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681643/Blog/Hero%20Images/greenery.jpg","Technical debt is a universal problem with an equally universal solution – DevOps. Here's how DevOps can reduce the tech debt burden and help you deploy faster and more frequently.",[1871],"Sara Kassabian","2020-10-05",{"slug":1874,"externalUrl":-1},"tech-debt",{"content":1876,"config":1882},{"title":1877,"heroImage":1878,"category":1771,"description":1879,"authors":1880,"date":1881},"Managing Compliance with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681610/Blog/Hero%20Images/andrew-neel-cckf4TsHAuw-unsplash.jpg","GitLab makes compliance easy!",[1244],"2020-10-01",{"slug":1883,"externalUrl":-1},"compliance-management",{"content":1885,"config":1890},{"title":1886,"heroImage":1887,"category":1771,"description":1888,"authors":1889,"date":1881},"Find Bugs with Coverage-Guided Fuzz Testing","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681620/Blog/Hero%20Images/taya-dianna-zgSaLgXIINI-unsplash.jpg","Use fuzz testing to find bugs and security issues other QA processes might miss.",[1244],{"slug":1891,"externalUrl":-1},"fuzzing-with-gitlab",{"content":1893,"config":1898},{"title":1894,"heroImage":1895,"category":1771,"description":1896,"authors":1897,"date":1881},"Running Security Scans in Limited Connectivity and Offline Environments","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666484/Blog/Hero%20Images/steven-kamenar-MMJx78V7xS8-unsplash.jpg","GitLab Security Scans can ensure Security in the most locked down environments.",[1244],{"slug":1899,"externalUrl":-1},"offline-environments",{"content":1901,"config":1906},{"title":1902,"heroImage":1903,"category":1545,"description":1904,"authors":1905,"date":1881},"3 YAML tips for better pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681626/Blog/Hero%20Images/yaml-tips.jpg","Learn how to get the most out of your YAML configs.",[1783],{"slug":1907,"externalUrl":-1},"three-yaml-tips-better-pipelines",{"content":1909,"config":1915},{"title":1910,"heroImage":1911,"category":1771,"description":1912,"authors":1913,"date":1914},"GitLab uniquely enables rapid innovation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681603/Blog/Hero%20Images/rapids-cover-1275x750.jpg","Learn about some of the ways GitLab can uniquely enable your developers to innovate more rapidly.",[989],"2020-09-30",{"slug":1916,"externalUrl":-1},"enables-rapid-innovation",{"content":1918,"config":1925},{"title":1919,"heroImage":1920,"category":1252,"description":1921,"authors":1922,"date":1914},"How to easily launch GitLab through cloud marketplaces","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670001/Blog/Hero%20Images/bitnami-gitlab-cloud.png","Bitnami makes publishing GitLab into Azure Marketplace simple.",[1923,1924],"Miranda Carter","Vick Kelkar",{"slug":1926,"externalUrl":-1},"how-to-easily-launch-gitlab-through-cloud-marketplaces",{"content":1928,"config":1933},{"title":1929,"heroImage":1930,"category":1771,"description":1931,"authors":1932,"date":1914},"Leading SCM, CI and Code Review in one application","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679607/Blog/Hero%20Images/scm-ci-cr.png","The most important tools for developers are SCM, CI and Code Review, and it is better to have them all together.",[999],{"slug":1934,"externalUrl":-1},"leading-scm-ci-and-code-review-in-one-application",{"content":1936,"config":1942},{"title":1937,"heroImage":1938,"category":1545,"description":1939,"authors":1940,"date":1941},"How to use GitLab’s CI/CD pipeline templates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667139/Blog/Hero%20Images/CI-pipeline-templates.jpg","Learn how pipeline templates and Auto DevOps can get you up and running on GitLab CI/CD.",[1783],"2020-09-23",{"slug":1943,"externalUrl":-1},"get-started-ci-pipeline-templates",{"content":1945,"config":1952},{"title":1946,"heroImage":1947,"category":1252,"description":1948,"authors":1949,"date":1951},"Upcoming changes to CI/CD minutes for free tier users on GitLab.com","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666262/Blog/Hero%20Images/default-blog-image.png","The reduction of CI/CD minutes aligns with the majority of free user usage",[1950],"Sid Sijbrandij","2020-09-01",{"slug":1953,"externalUrl":-1},"ci-minutes-update-free-users",{"content":1955,"config":1961},{"title":1956,"heroImage":1957,"category":707,"description":1958,"authors":1959,"date":1951},"How to use Bazel with GitLab to speed up your builds","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667132/Blog/Hero%20Images/build-container-image-runner-fargate-codebuild-cover.jpg","We explain why Bazel and GitLab CI are a great match to speed up your build times.",[1960],"Jason Yavorska",{"slug":1962,"externalUrl":-1},"using-bazel-to-speed-up-gitlab-ci-builds",{"content":1964,"config":1971},{"title":1965,"heroImage":1966,"category":707,"description":1967,"authors":1968,"date":1970},"How developer-centric AppSec testing can dramatically change your DevOps team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681513/Blog/Hero%20Images/stackhawk.jpg","Find and fix security bugs faster by implementing developer-centric application security testing in the CI pipeline. And the bonus? Engineering and security will finally be better aligned.",[1969],"Joni Klippert","2020-08-21",{"slug":1972,"externalUrl":-1},"align-engineering-security-appsec-tests-in-ci",{"content":1974,"config":1981},{"title":1975,"heroImage":1976,"category":1771,"description":1977,"authors":1978,"date":1980},"How Arctic Engine uses GitLab's fuzz testing","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681504/Blog/Hero%20Images/arcticengine.png","Using GitLab's fuzz testing, we discovered and fixed various real defects that could crash our software. Now we can detect vulnerabilities before merging the code.",[1979],"Huldra","2020-08-19",{"slug":1982,"externalUrl":-1},"arctic-engine-fuzz-testing-blog",{"content":1984,"config":1988},{"title":1985,"heroImage":1676,"category":719,"description":1986,"authors":1987,"date":1980},"Upcoming GitLab.com narrow breaking changes to Secure Analyzers in GitLab 13.4","Our next release, 13.4, will include narrow breaking changes for our Secure scanning features. Find out how this could affect you and what you need to do.",[1851],{"slug":1989,"externalUrl":-1},"gitlab-com-13-4-breaking-changes",{"content":1991,"config":1997},{"title":1992,"heroImage":1993,"category":719,"description":1994,"authors":1995,"date":1996},"How to secure your dependencies with GitLab and WhiteSource","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663445/Blog/Hero%20Images/snowymtns.jpg","We walk you through how to configure WhiteSource in your GitLab instance to enhance your application security.",[1244],"2020-08-10",{"slug":1998,"externalUrl":-1},"whitesource-for-dependency-scanning",{"content":2000,"config":2007},{"title":2001,"heroImage":2002,"category":1771,"description":2003,"authors":2004,"date":2006},"Using GitLab Pages to Report Local COVID-19 Rates","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681476/Blog/Hero%20Images/thisisengineering-raeng-0jTZTMyGym8-unsplash.jpg","How I used GitLab pages to publish up-to-date local infection rates.",[2005],"Matt Nohr","2020-08-06",{"slug":2008,"externalUrl":-1},"gitlab-pages-for-covid",{"content":2010,"config":2017},{"title":2011,"heroImage":2012,"category":1771,"description":2013,"authors":2014,"date":2016},"My experience interning to work with security scanning at GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664102/Blog/Hero%20Images/gitlab-values-cover.png","Experience with doing a 4 week internship implementing security scans",[2015],"Eric Rosenberg","2020-08-04",{"slug":2018,"externalUrl":-1},"security-scan-experience",{"content":2020,"config":2026},{"title":2021,"heroImage":1957,"category":707,"description":2022,"authors":2023,"date":2025},"How to build containers with the AWS Fargate Custom Executor for GitLab Runner and AWS CodeBuild","Build containers with the AWS Fargate Custom Executor for GitLab Runner and AWS CodeBuild",[2024],"Elliot Rushton","2020-07-31",{"slug":2027,"externalUrl":-1},"aws-fargate-codebuild-build-containers-gitlab-runner",{"content":2029,"config":2035},{"title":2030,"heroImage":2031,"category":707,"description":2032,"authors":2033,"date":2034},"Want a more effective CI/CD pipeline? Try our pro tips","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681447/Blog/Hero%20Images/cicdpipelines.jpg","Here’s how to take your CI/CD pipeline to the next level with hands on advice about faster builds, better security and more.",[1744],"2020-07-29",{"slug":2036,"externalUrl":-1},"effective-ci-cd-pipelines",{"content":2038,"config":2043},{"title":2039,"heroImage":1947,"category":1252,"description":2040,"authors":2041,"date":2034},"Discover your GitLab return on investment with the Forrester Total Economic Impact™ Study and Estimator","Now available: A new Forrester ROI study and calculator based on real value customers got from using GitLab for SCM, CI, and CD.",[2042],"Colin Fletcher",{"slug":2044,"externalUrl":-1},"forrester-tei",{"content":2046,"config":2053},{"title":2047,"heroImage":2048,"category":707,"description":2049,"authors":2050,"date":2052},"GitLab's guide to safe deployment practices","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678412/Blog/Hero%20Images/safe_deploy.jpg","It's important to safeguard your deployment process. Here's our best advice to protect your environments.",[2051],"Orit Golowinski","2020-07-23",{"slug":2054,"externalUrl":-1},"safe-deploys",{"content":2056,"config":2062},{"title":2057,"heroImage":2058,"category":1545,"description":2059,"authors":2060,"date":2061},"A surprising benefit of CI/CD: Changing development roles","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668027/Blog/Hero%20Images/cicd.jpg","DevOps and CI/CD make for faster code release, but they're also causing sweeping changes in dev and ops roles and responsibilities.",[1744],"2020-07-16",{"slug":2063,"externalUrl":-1},"ci-cd-changing-roles",{"content":2065,"config":2071},{"title":2066,"heroImage":2067,"category":1545,"description":2068,"authors":2069,"date":2070},"Is GitOps the next big thing in automation?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681428/Blog/Hero%20Images/iac-gitops-blog-post_with-gl-logo.png","We polled our community on Twitter to ask about GitOps. Here is what we found.",[1783],"2020-07-14",{"slug":2072,"externalUrl":-1},"gitops-next-big-thing-automation",{"content":2074,"config":2080},{"title":2075,"heroImage":2076,"category":707,"description":2077,"authors":2078,"date":2079},"How to integrate Azure DevOps repositories with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749664363/Blog/Hero%20Images/aleksey-kuprikov.jpg","How to keep your code in an Azure DevOps repository and run CI/CD with GitLab pipelines.",[999],"2020-07-09",{"slug":2081,"externalUrl":-1},"integrating-azure-devops-scm-and-gitlab",{"content":2083,"config":2089},{"title":2084,"heroImage":2085,"category":707,"description":2086,"authors":2087,"date":2088},"GitLab’s guide to CI/CD for beginners","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681391/Blog/Hero%20Images/beginnercicd.jpg","CI/CD is a key part of the DevOps journey. Here’s everything you need to understand about this game-changing process.",[1744],"2020-07-06",{"slug":2090,"externalUrl":-1},"beginner-guide-ci-cd",{"content":2092,"config":2098},{"title":2093,"heroImage":2094,"category":1771,"description":2095,"authors":2096,"date":2097},"Notification emails when pipelines are fixed","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681358/Blog/Hero%20Images/pipeline_success_unsplash.jpg","How to turn on/off Notifications for when pipelines are fixed",[2051],"2020-06-17",{"slug":2099,"externalUrl":-1},"notification-on-pipeline-succeeds",{"content":2101,"config":2107},{"title":2102,"heroImage":2103,"category":1545,"description":2104,"authors":2105,"date":2106},"How to make small changes using GitLab’s Web IDE","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678812/Blog/Hero%20Images/web-ide-cover.jpg","A quick three minute demo shows how teams can deliver better apps faster using GitLab CI/CD.",[1783],"2020-05-28",{"slug":2108,"externalUrl":-1},"using-gitlab-web-ide-gitlab-ci-cd",{"content":2110,"config":2116},{"title":2111,"heroImage":2112,"category":707,"description":2113,"authors":2114,"date":2115},"Best practices to keep your Kubernetes runners moving","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681341/Blog/Hero%20Images/trackandfield.jpg","In a presentation at GitLab Commit San Francisco, a senior software engineer from F5 Networks shares some best practices for working with Kubernetes runners.",[1871],"2020-05-27",{"slug":2117,"externalUrl":-1},"best-practices-for-kubernetes-runners",{"content":2119,"config":2125},{"title":2120,"heroImage":2121,"category":1252,"description":2122,"authors":2123,"date":2124},"Our 2020 DevSecOps Survey found faster releases and changing roles","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663975/Blog/Hero%20Images/devsecopssurvey.png","Nearly 3700 software pros shared their DevOps successes, failures and thoughts on the future. Here’s what you need to know.",[1744],"2020-05-18",{"slug":2126,"externalUrl":-1},"devsecops-survey-released",{"content":2128,"config":2134},{"title":2129,"heroImage":1947,"category":1252,"description":2130,"authors":2131,"date":2133},"Announcing 32/64-bit Arm Runner Support for AWS Graviton2","GitLab enables CI/CD solution on Arm-based AWS Graviton2 instances.",[2132],"Kushal Koolwal","2020-05-15",{"slug":2135,"externalUrl":-1},"gitlab-arm-aws-graviton2-solution",{"content":2137,"config":2143},{"title":2138,"heroImage":2139,"category":707,"description":2140,"authors":2141,"date":2142},"Get faster and more flexible pipelines with a Directed Acyclic Graph","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681298/Blog/Hero%20Images/james-eades-bfwhP9xodvE-unsplash.jpg","A Directed Acyclic Graph will let you run pipeline steps out of order, break the stage sequencing, and allow jobs to relate to each other directly.",[999],"2020-05-12",{"slug":2144,"externalUrl":-1},"directed-acyclic-graph",{"content":2146,"config":2151},{"title":2147,"heroImage":2148,"category":1545,"description":2149,"authors":2150,"date":2142},"How GitLab CI helps solve common DevSecOps challenges","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681305/Blog/Hero%20Images/ci-use-case-web-header.png","How single application continuous integration helps team automate and collaborate.",[1783],{"slug":2152,"externalUrl":-1},"solve-devsecops-challenges-with-gitlab-ci-cd",{"content":2154,"config":2160},{"title":2155,"heroImage":2156,"category":707,"description":2157,"authors":2158,"date":2159},"How autoscaling GitLab CI works on AWS Fargate","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681285/Blog/Hero%20Images/runner-autoscale-fargate-blog-cover.jpg","Run your CI jobs as AWS Fargate tasks with GitLab Runner and the Fargate Driver",[1114],"2020-05-11",{"slug":2161,"externalUrl":-1},"introducing-autoscaling-gitlab-runners-on-aws-fargate",{"content":2163,"config":2169},{"title":2164,"heroImage":2165,"category":1771,"description":2166,"authors":2167,"date":2159},"Publishing Accessibility Reports in GitLab Pages","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681293/Blog/Hero%20Images/a11y-report-html.jpg","How to setup the Automated Accessibility Scanning feature in GitLab and publish the report to GitLab Pages.",[2168],"James Heimbuck",{"slug":2170,"externalUrl":-1},"publishing-a11y-reports-in-gitlab-pages",{"content":2172,"config":2178},{"title":2173,"heroImage":2012,"category":1771,"description":2174,"authors":2175,"date":2177},"How to create Review Apps for Android with GitLab, fastlane, and Appetize.io","See how GitLab and Appetize.io can bring Review Apps to your Android project",[2176],"Andrew Fontaine","2020-05-06",{"slug":2179,"externalUrl":-1},"how-to-create-review-apps-for-android-with-gitlab-fastlane-and-appetize-dot-io",{"content":2181,"config":2188},{"title":2182,"heroImage":2183,"category":1252,"description":2184,"authors":2185,"date":2187},"What's coming for Auto DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667050/Blog/Hero%20Images/auto-devops-pipeline-stages.png","We're working on a number of improvements to GitLab Auto DevOps – here's where it's at and where it's headed.",[2186],"Chris Ward","2020-04-30",{"slug":2189,"externalUrl":-1},"auto-devops",{"content":2191,"config":2196},{"title":2192,"heroImage":1947,"category":1545,"description":2193,"authors":2194,"date":2195},"How to deploy AWS Lambda applications with ease","Highlights from our serverless webcast with AWS exploring the Serverless Application Model.",[1783],"2020-04-29",{"slug":2197,"externalUrl":-1},"aws-gitlab-serverless-webcast",{"content":2199,"config":2203},{"title":2200,"heroImage":1947,"category":1252,"description":2201,"authors":2202,"date":2195},"GitLab and Red Hat: Automation to enhance secure software development","How our closer relationship with Red Hat will boost deployment automation.",[1924],{"slug":2204,"externalUrl":-1},"gitlab-and-redhat-automation",{"content":2206,"config":2212},{"title":2207,"heroImage":2208,"category":707,"description":2209,"authors":2210,"date":2211},"How to get started with Parent-child pipelines","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667040/Blog/Hero%20Images/parent_pipeline_graph.png","We introduced improvements to pipelines to help scale applications and their repo structures more effectively. Here's how they work.",[2186],"2020-04-24",{"slug":2213,"externalUrl":-1},"parent-child-pipelines",{"content":2215,"config":2221},{"title":2216,"heroImage":2217,"category":707,"description":2218,"authors":2219,"date":2220},"Why GitOps should be the workflow of choice","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681239/Blog/Hero%20Images/shiro-hatori-WR-ifjFy4CI-unsplash.jpg","What is GitOps and how do you apply it in real-world applications?",[1688],"2020-04-17",{"slug":2222,"externalUrl":-1},"why-gitops-should-be-workflow-of-choice",{"content":2224,"config":2230},{"title":2225,"heroImage":2226,"category":707,"description":2227,"authors":2228,"date":2229},"GitLab CI/CD on Google Kubernetes Engine in 15 minutes or less","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667003/Blog/Hero%20Images/gke_in_15_cover_2.jpg","Install GitLab's Runner on GKE in a few simple steps and get started with GitLab CI/CD pipelines.",[2024],"2020-03-27",{"slug":2231,"externalUrl":-1},"gitlab-ci-on-google-kubernetes-engine",{"content":2233,"config":2238},{"title":2234,"heroImage":1947,"category":1252,"description":2235,"authors":2236,"date":2237},"Changes to CI pipeline minutes for new free users","This change better aligns to GitLab's buyer-based open-core model.",[1950],"2020-03-18",{"slug":2239,"externalUrl":-1},"ci-minutes-for-free-users",{"content":2241,"config":2246},{"title":2242,"heroImage":1947,"category":707,"description":2243,"authors":2244,"date":2245},"How to leverage GitLab CI/CD for Google Firebase","Firebase is a powerful backend-as-a-service tool and when combined with GitLab it can be easy to enable continuous deployment of database, serverless and apps.",[1688],"2020-03-16",{"slug":2247,"externalUrl":-1},"gitlab-ci-cd-with-firebase",{"content":2249,"config":2255},{"title":2250,"heroImage":1947,"category":1252,"description":2251,"authors":2252,"date":2254},"The free period of CI/CD for GitHub is ending soon","The free-of-charge use of CI/CD for GitHub is ending soon, so you'll need to upgrade to continue using this feature.",[2253],"Parker Ennis","2020-03-12",{"slug":2256,"externalUrl":-1},"free-period-for-cicd-external-repositories",{"content":2258,"config":2264},{"title":2259,"heroImage":2260,"category":1545,"description":2261,"authors":2262,"date":2254},"Why implementing security as code is important for DevSecOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663618/Blog/Hero%20Images/how-to-implement-security-as-code.jpg","We created a DevSecOps assessment to help your company level up its DevSecOps capabilities.",[2263],"Vanessa Wegner",{"slug":2265,"externalUrl":-1},"how-to-security-as-code",{"content":2267,"config":2273},{"title":2268,"heroImage":2269,"category":1771,"description":2270,"authors":2271,"date":2272},"Introducing Accessibility Testing in GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666941/Blog/Hero%20Images/accessibility-vision.jpg","How Accessibility Testing reinforces our value that everyone can contribute",[2168],"2020-03-04",{"slug":2274,"externalUrl":-1},"introducing-accessibility-testing-in-gitlab",{"content":2276,"config":2283},{"title":2277,"heroImage":2278,"category":707,"description":2279,"authors":2280,"date":2282},"How to limit access to manual pipeline gates and deployments using GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681105/Blog/Hero%20Images/protect_manual_jobs.jpg","Let's look at how to use protected environments to set up access controls for production deployments and manual gates.",[2281],"Thao Yeager","2020-02-20",{"slug":2284,"externalUrl":-1},"protecting-manual-jobs",{"content":2286,"config":2292},{"title":2287,"heroImage":2288,"category":1252,"description":2289,"authors":2290,"date":2291},"How we’ll simplify Vault access for GitLab CI/CD users","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681067/Blog/Hero%20Images/vaultintegration.jpg","CEO Sid Sijbrandij and senior product manager Thao Yeager discuss the easiest way to bring Vault access to GitLab customers. Hint: it involves a minimum viable change.",[1744],"2020-02-13",{"slug":2293,"externalUrl":-1},"vault-integration-process",{"content":2295,"config":2301},{"title":2296,"heroImage":2297,"category":707,"description":2298,"authors":2299,"date":2300},"How starting merge trains improve efficiency for DevOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678419/Blog/Hero%20Images/merge_trains.jpg","No more queuing and waiting for pipeline results! Read how merge trains will speed up your deployments while making sure master stays green.",[2051],"2020-01-30",{"slug":2302,"externalUrl":-1},"all-aboard-merge-trains",{"content":2304,"config":2310},{"title":2305,"heroImage":1947,"category":839,"description":2306,"authors":2307,"date":2309},"KubeCon NA: Are you about to break Prod?","Use Pulumi and GitLab to build a pipeline that validates your application, infrastructure, and deployment process.",[2308],"Erin Krengel, Pulumi","2020-01-27",{"slug":2311,"externalUrl":-1},"kubecon-na-2019-are-you-about-to-break-prod",{"content":2313,"config":2320},{"title":2314,"heroImage":2315,"category":1545,"description":2316,"authors":2317,"date":2319},"Goldman Sachs partners with GitLab for next-gen platform strategies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671845/Blog/Hero%20Images/serverless-ops-blog.jpg","Goldman Sachs’ George Grant shares how partnering with GitLab has modernized the development ecosystem.",[2318],"Brein Matturro","2020-01-24",{"slug":2321,"externalUrl":-1},"goldman-sachs-partners-with-gitlab-for-next-gen-platform-strategies",{"content":2323,"config":2329},{"title":2324,"heroImage":2325,"category":1545,"description":2326,"authors":2327,"date":2328},"Introducing: Resource groups","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679102/Blog/Hero%20Images/resource-groups.jpg","How we’re improving deployments by limiting pipeline concurrency.",[1783],"2020-01-21",{"slug":2330,"externalUrl":-1},"introducing-resource-groups",{"content":2332,"config":2337},{"title":2333,"heroImage":2334,"category":707,"description":2335,"authors":2336,"date":2328},"Windows Shared Runners beta now available on GitLab.com","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749681027/Blog/Hero%20Images/windows-shared-beta.jpg","Scalable Windows VM's for running Windows build jobs on GitLab.com.",[1114],{"slug":2338,"externalUrl":-1},"windows-shared-runner-beta",{"content":2340,"config":2346},{"title":2341,"heroImage":2342,"category":1545,"description":2343,"authors":2344,"date":2345},"CI/CD: The ticket to multicloud","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679235/Blog/Hero%20Images/cloud-native-predictions-2019.jpg","Read our expert panel from MulticloudCon on how CI/CD and cloud-agnostic DevOps help organizations go multicloud and increase productivity.",[1783],"2020-01-17",{"slug":2347,"externalUrl":-1},"ci-cd-the-ticket-to-multicloud",{"content":2349,"config":2356},{"title":2350,"heroImage":2351,"category":1252,"description":2352,"authors":2353,"date":2355},"GitLab named Challenger in Gartner Magic Quadrant for Application Release Orchestration 2019","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680619/Blog/Hero%20Images/construction-blueprint.jpg","We're happy to share that GitLab is a Challenger in Gartner's 2019 ARO Magic Quadrant",[2354],"William Chia","2020-01-16",{"slug":2357,"externalUrl":-1},"2019-gartner-aro-mq",{"content":2359,"config":2365},{"title":2360,"heroImage":2361,"category":839,"description":2362,"authors":2363,"date":2364},"Athlinks cuts runtime in half with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671909/Blog/Hero%20Images/Athlinks_running.jpg","Athlinks, a time management solution platform, shares how moving from Jenkins to GitLab cut CI runtimes in half.",[2318],"2019-12-17",{"slug":2366,"externalUrl":-1},"athlinks-cuts-runtime-in-half-with-giltab",{"content":2368,"config":2376},{"title":2369,"heroImage":2370,"category":272,"description":2371,"authors":2372,"date":2375},"OpenCores come to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749669768/Blog/Hero%20Images/gitlab-opencores-oliscience.jpg","OpenCores moves to GitLab to accelerate digital design flow.",[2373,2374],"Andrea Borga","David Planella","2019-12-03",{"slug":2377,"externalUrl":-1},"welcoming-opencores-to-gitlab",{"content":2379,"config":2384},{"title":2380,"heroImage":1666,"category":1545,"description":2381,"authors":2382,"date":2383},"Migrating from Jenkins","Best practices for making the switch to GitLab CI/CD.",[1783],"2019-11-26",{"slug":2385,"externalUrl":-1},"migrating-from-jenkins",{"content":2387,"config":2394},{"title":2388,"heroImage":2389,"category":707,"description":2390,"authors":2391,"date":2393},"Open-sourcing the Gitter mobile apps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666717/Blog/Hero%20Images/cover-image.jpg","Learn how we open sourced the Android and iOS Gitter apps.",[2392],"Eric Eastwood","2019-11-22",{"slug":2395,"externalUrl":-1},"open-sourcing-the-gitter-mobile-apps",{"content":2397,"config":2404},{"title":2398,"heroImage":2399,"category":272,"description":2400,"authors":2401,"date":2403},"From idea to production on thousands of clouds","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679266/Blog/Hero%20Images/blue-lights.jpg","Deliver cloud native applications in more places consistently at scale with GitLab and Gravity.",[2402],"Ev Kontsevoy","2019-11-20",{"slug":2405,"externalUrl":-1},"from-idea-to-production-on-thousands-of-clouds",{"content":2407,"config":2413},{"title":2408,"heroImage":2409,"category":1545,"description":2410,"authors":2411,"date":2412},"Defending the CI/CD pipeline","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678499/Blog/Hero%20Images/defend-cicd-security.jpg","Speed to launch often comes at the cost of security – but it doesn’t have to. Here are four ways to achieve both by using a CI/CD pipeline",[2263],"2019-11-19",{"slug":2414,"externalUrl":-1},"defend-cicd-security",{"content":2416,"config":2422},{"title":2417,"heroImage":2418,"category":839,"description":2419,"authors":2420,"date":2412},"Announcing GitLab Serverless deploying to Cloud Run for Anthos","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666851/Blog/Hero%20Images/gitlab-serverless-blog.png","Discover how we're making it easier to deploy serverless workloads on-premise with Anthos.",[2421],"Mayank Tahilramani",{"slug":2423,"externalUrl":-1},"gitlab-serverless-with-cloudrun-for-anthos",{"content":2425,"config":2431},{"title":2426,"heroImage":2427,"category":272,"description":2428,"authors":2429,"date":2430},"Bringing your application from idea to production using Python, Rust, and GitLab CI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678507/Blog/Hero%20Images/lightbulb.jpg","GitLab hero Mario Garcia demos the intricate process at GitLab Commit London.",[1871],"2019-11-15",{"slug":2432,"externalUrl":-1},"python-rust-and-gitlab-ci",{"content":2434,"config":2441},{"title":2435,"heroImage":2436,"category":272,"description":2437,"authors":2438,"date":2440},"Simplifying and optimizing cloud native architectures","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671263/Blog/Hero%20Images/cloudarchitecture.jpg","Learn what cloud native architectures are, how to optimize them using GitLab's cohesive approach and what features you can use to help be more efficient.",[2439],"Suri Patel","2019-11-13",{"slug":2442,"externalUrl":-1},"cloud-native-architectures-made-easy",{"content":2444,"config":2450},{"title":2445,"heroImage":2446,"category":839,"description":2447,"authors":2448,"date":2449},"Native code intelligence is coming to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673090/Blog/Hero%20Images/random_code.jpg","We're enhancing code review with Sourcegraph – no extra plugins required.",[2421],"2019-11-12",{"slug":2451,"externalUrl":-1},"sourcegraph-code-intelligence-integration-for-gitlab",{"content":2453,"config":2459},{"title":2454,"heroImage":2455,"category":1545,"description":2456,"authors":2457,"date":2458},"GitLab CI/CD is for multi-cloud","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678401/Blog/Hero%20Images/gitlab-for-multicloud.jpg","Can cloud providers (and their tools) ever be cloud agnostic? We discuss GitHub Actions and GitLab CI/CD.",[1783],"2019-11-06",{"slug":2460,"externalUrl":-1},"gitlab-ci-cd-is-for-multi-cloud",{"content":2462,"config":2468},{"title":2463,"heroImage":2464,"category":707,"description":2465,"authors":2466,"date":2467},"How adSoul transitioned to GitLab CI from Jenkins","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678442/Blog/Hero%20Images/londoncommit.png","adSoul, a marketing automation company, outlines a successful three-phase migration plan for moving to GitLab CI from Jenkins.",[2318],"2019-11-05",{"slug":2469,"externalUrl":-1},"adsoul-devops-transition-to-gitlab-ci",{"content":2471,"config":2478},{"title":2472,"heroImage":2473,"category":1545,"description":2474,"authors":2475,"date":2477},"The DevOps tool landscape","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670008/Blog/Hero%20Images/devops-tool-landscape.jpg","Competitive intelligence manager Mahesh Kumar describes the criteria we use when comparing GitLab to other DevOps tools.",[2476,1783],"Mahesh Kumar","2019-11-01",{"slug":2479,"externalUrl":-1},"devops-tool-landscape",{"content":2481,"config":2487},{"title":2482,"heroImage":2483,"category":1545,"description":2484,"authors":2485,"date":2486},"Unlock better DevOps with GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670652/Blog/Hero%20Images/dev-to-devops-cover.png","Why a single application helps to eliminate silos and knowledge gaps.",[1783],"2019-10-18",{"slug":2488,"externalUrl":-1},"better-devops-with-gitlab-ci-cd",{"content":2490,"config":2497},{"title":2491,"heroImage":2492,"category":272,"description":2493,"authors":2494,"date":2496},"GitLab Enterprise Edition now available for VMware Cloud Marketplace users","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680841/Blog/Hero%20Images/bitnami-gitlab.png","Guest authors from VMware share how to accelerate your software delivery process in just a few clicks with Bitnami and GitLab.",[2495],"Raquel Campuzano","2019-10-11",{"slug":2498,"externalUrl":-1},"gitlab-on-vmware-cloud-marketplace",{"content":2500,"config":2507},{"title":2501,"heroImage":2502,"category":839,"description":2503,"authors":2504,"date":2506},"DevOps on the edge: Upcoming collaborations between GitLab and Arm","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682923/Blog/Hero%20Images/gitlab-arm-collaboration.jpg","Check out the latest news from the technical evangelist team about upcoming initiatives from GitLab and Arm.",[2505],"Priyanka Sharma","2019-10-08",{"slug":2508,"externalUrl":-1},"devops-on-the-edge-a-conversation-about-gitlab-and-arm",{"content":2510,"config":2515},{"title":2511,"heroImage":1695,"category":1545,"description":2512,"authors":2513,"date":2514},"Auto DevOps 101: How we’re making CI/CD easier","VP of product strategy Mark Pundsack shares everything you need to know about Auto DevOps.",[1744],"2019-10-07",{"slug":2516,"externalUrl":-1},"auto-devops-explained",{"content":2518,"config":2524},{"title":2519,"heroImage":2520,"category":707,"description":2521,"authors":2522,"date":2523},"GitLab's unconventional journey to CI/CD and Kubernetes","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678397/Blog/Hero%20Images/raphael-biscaldi-cicd.jpg","How the Delivery team at GitLab used our existing resources to overhaul our system to make way for CI/CD.",[1871],"2019-10-03",{"slug":2525,"externalUrl":-1},"gitlab-journey-to-cicd",{"content":2527,"config":2533},{"title":2528,"heroImage":2529,"category":1545,"description":2530,"authors":2531,"date":2532},"The problem with plugins","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673012/Blog/Hero%20Images/plugin-instability.jpg","For all of the customization, plugins sometimes come at a high price.",[1783],"2019-09-27",{"slug":2534,"externalUrl":-1},"plugin-instability",{"content":2536,"config":2541},{"title":2537,"heroImage":1947,"category":1545,"description":2538,"authors":2539,"date":2540},"Jenkins: One year later","With new acquisitions and the launch of CloudBees SDM, is Jenkins trying to become another all-in-one?",[1783],"2019-09-20",{"slug":2542,"externalUrl":-1},"jenkins-one-year-later",{"content":2544,"config":2550},{"title":2545,"heroImage":2546,"category":272,"description":2547,"authors":2548,"date":2549},"Wrapping up GitLab Commit","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680823/Blog/Hero%20Images/commit-brooklyn-graffiti-cover.jpg","From bagels to bowling with a healthy dose of DevSecOps and CI/CD in between, it was an epic day of learning and sharing at GitLab Commit Brooklyn.",[1744],"2019-09-18",{"slug":2551,"externalUrl":-1},"wrapping-up-commit",{"content":2553,"config":2561},{"title":2554,"heroImage":2555,"category":1545,"description":2556,"authors":2557,"date":2560},"GitLab and HashiCorp: Providing application and infrastructure delivery workflows","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670238/Blog/Hero%20Images/gitlab-terraform-pipelines.jpg","Discover how to leverage CI/CD for your infrastructure scripts with Terraform and GitLab.",[2558,2559],"Kelly Hair","Anthony Davanzo","2019-09-17",{"slug":2562,"externalUrl":-1},"gitlab-hashicorp-terraform-vault-pt-1",{"content":2564,"config":2571},{"title":2565,"heroImage":2566,"category":707,"description":2567,"authors":2568,"date":2570},"How to avoid broken master with Pipelines for Merged Results and Merge Trains","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678366/Blog/Hero%20Images/merge-train.jpg","Do you still run pipelines on source branches? Let's start running them on merge commits!",[2569],"Shinya Maeda","2019-09-11",{"slug":2572,"externalUrl":-1},"how-to-avoid-broken-master-with-pipelines-for-merge-requests",{"content":2574,"config":2579},{"title":2575,"heroImage":1947,"category":272,"description":2576,"authors":2577,"date":2578},"We're extending free usage of CI/CD for GitHub for another six months!","Get another six months' use of CI/CD for GitHub on GitLab.com, free of charge.",[2354],"2019-09-09",{"slug":2580,"externalUrl":-1},"ci-cd-github-extended-again",{"content":2582,"config":2588},{"title":2583,"heroImage":2584,"category":1545,"description":2585,"authors":2586,"date":2587},"4 Ways developers can write secure code with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666895/Blog/Hero%20Images/developers-write-secure.jpg","GitLab Secure is not just for your security team – it’s for developers too. Learn four ways to write secure code with GitLab.",[2263],"2019-09-03",{"slug":2589,"externalUrl":-1},"developers-write-secure-code-gitlab",{"content":2591,"config":2597},{"title":2592,"heroImage":2593,"category":707,"description":2594,"authors":2595,"date":2596},"Getting [meta] with GitLab CI/CD: Building build images","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678567/Blog/Hero%20Images/building-blocks.jpg","Let's talk about building build images with GitLab CI/CD. The power of Docker as a build platform is unleashed when you get meta.",[1688],"2019-08-28",{"slug":2598,"externalUrl":-1},"building-build-images",{"content":2600,"config":2608},{"title":2601,"heroImage":2602,"category":1545,"description":2603,"authors":2604,"date":2607},"How to prevent deployments from overrunning your budget","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670389/Blog/Hero%20Images/gitlab-cloud-journey.png","Guest authors from VMware share how to include budget and resource checking into your continuous deployment with Cloudhealth and GitLab.",[2605,2606],"Tim Davis","Bahubali (Bill) Shetti","2019-08-26",{"slug":2609,"externalUrl":-1},"cloudhealth-and-gitlab-reducing-overruns",{"content":2611,"config":2617},{"title":2612,"heroImage":2613,"category":1545,"description":2614,"authors":2615,"date":2616},"How to make builds faster","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673173/Blog/Hero%20Images/autoscaling-balance.jpg","How GitLab uses autoscaling to reduce build times and make developers happy.",[1783],"2019-08-21",{"slug":2618,"externalUrl":-1},"making-builds-faster-autoscaling-runners",{"content":2620,"config":2626},{"title":2621,"heroImage":2622,"category":1545,"description":2623,"authors":2624,"date":2625},"Why you need static and dynamic application security testing in your development workflows","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680714/Blog/Hero%20Images/intro-developer-sast-dast.jpg","Bolster your code quality with static and dynamic application security testing. Learn why you need SAST and DAST for your projects.",[2263],"2019-08-12",{"slug":2627,"externalUrl":-1},"developer-intro-sast-dast",{"content":2629,"config":2635},{"title":2630,"heroImage":2631,"category":1545,"description":2632,"authors":2633,"date":2634},"The market figured out GitLab’s secret","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663648/Blog/Hero%20Images/gitlab-joins-cd-foundation.jpg","Why we decided to combine version control with CI, and the rise of the single application.",[1950],"2019-08-08",{"slug":2636,"externalUrl":-1},"built-in-ci-cd-version-control-secret",{"content":2638,"config":2644},{"title":2639,"heroImage":2640,"category":707,"description":2641,"authors":2642,"date":2643},"New up and coming GitLab CI/CD Features","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666889/Blog/Hero%20Images/photo-cicd12xlookahead.jpg","DAG, Multi-project Pipelines, Runner Setup for Kubernetes and more.",[1960],"2019-08-07",{"slug":2645,"externalUrl":-1},"a-look-ahead-for-gitlab-cicd",{"content":2647,"config":2653},{"title":2648,"heroImage":2649,"category":707,"description":2650,"authors":2651,"date":2652},"Learn more about Feature Flags: The next step in Progressive Delivery","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670020/Blog/Hero%20Images/feature-flags.jpg","How Feature Flags are continuing the next evolution of continuous delivery.",[1783],"2019-08-06",{"slug":2654,"externalUrl":-1},"feature-flags-continuous-delivery",{"content":2656,"config":2662},{"title":2657,"heroImage":1676,"category":1252,"description":2658,"authors":2659,"date":2661},"Update: Changes to GitLab CI/CD and Docker in Docker with Docker 19.03","If you are using the Docker in Docker workflow you may need to enable TLS or explicitly turn it off.",[2660],"Steve Azzopardi","2019-07-31",{"slug":2663,"externalUrl":-1},"docker-in-docker-with-docker-19-dot-03",{"content":2665,"config":2671},{"title":2666,"heroImage":2667,"category":707,"description":2668,"authors":2669,"date":2670},"How to trigger multiple pipelines using GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666903/Blog/Hero%20Images/pipeline.jpg","Discover how to trigger and visualize pipelines when you set up GitLab CI/CD across multiple projects.",[999],"2019-07-24",{"slug":2672,"externalUrl":-1},"cross-project-pipeline",{"content":2674,"config":2680},{"title":2675,"heroImage":2676,"category":1545,"description":2677,"authors":2678,"date":2679},"3 Teams left Jenkins: Here’s why","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671932/Blog/Hero%20Images/jenkins-to-gitlab-sailboat.jpg","How three different teams – Alteryx, ANWB, and EAB – shifted away from Jenkins for smoother sailing with GitLab.",[2318],"2019-07-23",{"slug":2681,"externalUrl":-1},"three-teams-left-jenkins-heres-why",{"content":2683,"config":2688},{"title":2684,"heroImage":1676,"category":1545,"description":2685,"authors":2686,"date":2687},"A quick guide to GitLab CI/CD pipelines","How GitLab is making a better pipeline with Auto DevOps.",[1783],"2019-07-12",{"slug":2689,"externalUrl":-1},"guide-to-ci-cd-pipelines",{"content":2691,"config":2698},{"title":2692,"heroImage":2693,"category":707,"description":2694,"authors":2695,"date":2697},"How we turn our group conversations into a podcast with GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678626/Blog/Hero%20Images/group-conversation-podcast.jpg","Want to listen to meetings on the go? Senior SRE John Jarvis explains how he turned his favorite remote meetings at GitLab into podcast format.",[2696],"John Jarvis","2019-07-03",{"slug":2699,"externalUrl":-1},"group-conversation-podcast",{"content":2701,"config":2709},{"title":2702,"heroImage":2703,"category":707,"description":2704,"authors":2705,"date":2708},"Build enterprise-grade IaC pipelines with GitLab DevSecOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1746211002/zlet4rmfg2z0j6lg16mc.png","Learn how to transform infrastructure automation into scalable, secure pipelines using GitLab, Terraform/OpenTofu, and Ansible with integrated security scanning and CI/CD.",[2706,2707],"George Kichukov","Salahddine Aberkan","2019-07-01",{"slug":2710,"externalUrl":-1},"using-ansible-and-gitlab-as-infrastructure-for-code",{"content":2712,"config":2718},{"title":2713,"heroImage":2714,"category":1545,"description":2715,"authors":2716,"date":2717},"4 Benefits of CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670016/Blog/Hero%20Images/modernize-cicd.jpg","Learn how to implement and measure a successful CI/CD pipeline strategy and help your DevOps team deliver higher quality software, faster!",[1783],"2019-06-27",{"slug":2719,"externalUrl":-1},"positive-outcomes-ci-cd",{"content":2721,"config":2726},{"title":2722,"heroImage":2714,"category":1545,"description":2723,"authors":2724,"date":2725},"The business impact of CI/CD","How a good CI/CD strategy generates revenue and keeps developers happy.",[1783,2354],"2019-06-21",{"slug":2727,"externalUrl":-1},"business-impact-ci-cd",{"content":2729,"config":2735},{"title":2730,"heroImage":2731,"category":707,"description":2732,"authors":2733,"date":2734},"Looking back on the 11.x releases for GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666857/Blog/Hero%20Images/photo-cicdlookback.jpg","With GitLab 12.0 coming soon, it's a great time to reflect on all the features we've launched since 11.0.",[1960],"2019-06-19",{"slug":2736,"externalUrl":-1},"look-back-on-11-11-cicd",{"content":2738,"config":2744},{"title":2739,"heroImage":2740,"category":1545,"description":2741,"authors":2742,"date":2743},"Implementing microservices architectures and deployment strategies","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749662898/Blog/Hero%20Images/microservices-explosion.jpg","Want to dump the monolith and get into microservices? Consider these three methods.",[1783],"2019-06-17",{"slug":2745,"externalUrl":-1},"strategies-microservices-architecture",{"content":2747,"config":2753},{"title":2748,"heroImage":2418,"category":272,"description":2749,"authors":2750,"date":2752},"Write once, deploy anywhere: Containerized applications on modern serverless platforms","Containers, serverless, and microservices, oh my! Cut to the chase and learn how to write apps once and deploy anywhere with emerging technologies.",[2751],"Tina Sturgis","2019-06-13",{"slug":2754,"externalUrl":-1},"google-gitlab-serverless-webinar",{"content":2756,"config":2761},{"title":2757,"heroImage":2714,"category":1545,"description":2758,"authors":2759,"date":2760},"3 CI/CD challenges to consider","If these DevOps challenges hit close to home, the right CI/CD could be the answer.",[1783],"2019-06-05",{"slug":2762,"externalUrl":-1},"modernize-your-ci-cd",{"content":2764,"config":2770},{"title":2765,"heroImage":2766,"category":707,"description":2767,"authors":2768,"date":2769},"How IT automation impacts developer productivity","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670529/Blog/Hero%20Images/automate-retrospectives.jpg","See how IT automation promotes a healthier IT culture and unlocks next-level DevOps.",[1783],"2019-05-30",{"slug":2771,"externalUrl":-1},"it-automation-developer-productivity",{"content":2773,"config":2779},{"title":2774,"heroImage":2775,"category":839,"description":2776,"authors":2777,"date":2778},"Thanks Fluentd for betting on GitLab CI/CD!","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678614/Blog/Hero%20Images/gitlab-fluentd.png","We're happy to support fresh CNCF graduate Fluentd with GitLab CI/CD, and excited about their latest innovation offering stream processing on the edge.",[2505],"2019-05-21",{"slug":2780,"externalUrl":-1},"fluentd-using-gitlab-ci-cd",{"content":2782,"config":2788},{"title":2783,"heroImage":2784,"category":1545,"description":2785,"authors":2786,"date":2787},"3 Trends in test automation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663662/Blog/Hero%20Images/trends-in-test-automation.jpg","Faster deployments, fewer bugs, better user experiences – see the latest trends in test automation and what they're bringing to the table.",[1783],"2019-05-01",{"slug":2789,"externalUrl":-1},"trends-in-test-automation",{"content":2791,"config":2797},{"title":2792,"heroImage":2793,"category":1545,"description":2794,"authors":2795,"date":2796},"Speed up secure software delivery with DevSecOps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671258/Blog/Hero%20Images/just-commit-blog-cover.png","It’s time to shift left: Embed security into your DevOps workflow to increase speed, quality, and efficiency in the SDLC.",[2263],"2019-04-30",{"slug":2798,"externalUrl":-1},"speed-secure-software-delivery-devsecops",{"content":2800,"config":2806},{"title":2801,"heroImage":2802,"category":707,"description":2803,"authors":2804,"date":2805},"5 Teams that made the switch to GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678657/Blog/Hero%20Images/ci-cd-competitive-campaign-blog-cover.png","See what happened when these five teams moved on from old continuous integration and delivery solutions and switched to GitLab CI/CD.",[1783],"2019-04-25",{"slug":2807,"externalUrl":-1},"5-teams-that-made-the-switch-to-gitlab-ci-cd",{"content":2809,"config":2815},{"title":2810,"heroImage":2811,"category":707,"description":2812,"authors":2813,"date":2814},"Progressive Delivery: How to get started with Review Apps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666841/Blog/Hero%20Images/progressive-delivery-review-apps.jpg","Progressive Delivery is the next evolution of continuous delivery, and Review Apps are a key enabler.",[1960],"2019-04-19",{"slug":2816,"externalUrl":-1},"progressive-delivery-using-review-apps",{"content":2818,"config":2823},{"title":2819,"heroImage":2342,"category":272,"description":2820,"authors":2821,"date":2822},"What to check out at Google Cloud Next 2019","Support women who code by stopping by our booth, learn from a host of GitLab experts, and more.",[2421],"2019-04-04",{"slug":2824,"externalUrl":-1},"google-next-post",{"content":2826,"config":2831},{"title":2827,"heroImage":2802,"category":272,"description":2828,"authors":2829,"date":2830},"Why GitLab CI/CD?","With GitLab’s out-of-the-box CI/CD, you can spend less time maintaining and more time creating.",[1783],"2019-04-02",{"slug":2832,"externalUrl":-1},"why-gitlab-ci-cd",{"content":2834,"config":2842},{"title":2835,"heroImage":2836,"category":272,"description":2837,"authors":2838,"date":2841},"ZEIT launches Now for GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670498/Blog/Hero%20Images/gitlab-zeit-cover.png","This first-class integration can automatically deploy any GitLab project containing a static or dynamic website to ZEIT's global CDN.",[2839,2840],"Sarup Banskota","Arunoda Susiripala","2019-04-01",{"slug":2843,"externalUrl":-1},"zeit-launches-now-for-gitlab",{"content":2845,"config":2849},{"title":2846,"heroImage":1947,"category":272,"description":2575,"authors":2847,"date":2848},"Extending free use of CI/CD for GitHub on GitLab.com",[2354],"2019-03-21",{"slug":2850,"externalUrl":-1},"six-more-months-ci-cd-github",{"content":2852,"config":2857},{"title":2853,"heroImage":2793,"category":707,"description":2854,"authors":2855,"date":2856},"Examples of legacy modernisation projects","Discover how four teams committed to the application modernization process.",[1783],"2019-03-14",{"slug":2858,"externalUrl":-1},"application-modernization-examples",{"content":2860,"config":2866},{"title":2861,"heroImage":2766,"category":707,"description":2862,"authors":2863,"date":2865},"How we use GitLab to automate our monthly retrospectives","How one engineering team is using GitLab CI to automate asynchronous retrospectives, making collaboration across four continents a breeze.",[2864],"Sean McGivern","2019-03-07",{"slug":2867,"externalUrl":-1},"how-we-used-gitlab-to-automate-our-monthly-retrospectives",{"content":2869,"config":2875},{"title":2870,"heroImage":2871,"category":707,"description":2872,"authors":2873,"date":2874},"How to publish iOS apps to the App Store with GitLab and fastlane","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680470/Blog/Hero%20Images/ios-publishing-cover.jpg","See how GitLab, together with fastlane, can build, sign, and publish apps for iOS to the App Store.",[1960],"2019-03-06",{"slug":2876,"externalUrl":-1},"ios-publishing-with-gitlab-and-fastlane",{"content":2878,"config":2884},{"title":2879,"heroImage":2793,"category":1545,"description":2880,"authors":2881,"date":2883},"Beyond trends: Committing to application modernization","How to overcome analysis paralysis and take your digital transformation efforts from theory to practice.",[2882],"Erica Lindberg","2019-02-25",{"slug":2885,"externalUrl":-1},"beyond-application-modernization-trends",{"content":2887,"config":2893},{"title":2888,"heroImage":2889,"category":272,"description":2890,"authors":2891,"date":2892},"The CI/CD market consolidation","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679957/Blog/Hero%20Images/consolidate.jpg","The DevOps industry is consolidating. GitLab is here to stay.",[1950],"2019-02-21",{"slug":2894,"externalUrl":-1},"ci-cd-market-consolidation",{"content":2896,"config":2903},{"title":2897,"heroImage":2898,"category":839,"description":2899,"authors":2900,"date":2902},"How Verizon Connect reduced datacenter rebuilds from 30 days to under 8 hours with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678933/Blog/Hero%20Images/verizon_video_blog.jpg","Verizon utilized microservices, automation, and GitLab to reduce datacenter rebuilds to under 8 hours.",[2901],"Kim Lock","2019-02-14",{"slug":2904,"externalUrl":-1},"verizon-customer-story",{"content":2906,"config":2913},{"title":2907,"heroImage":2908,"category":707,"description":2909,"authors":2910,"date":2912},"How to set up multi-account AWS SAM deployments with GitLab CI/CD","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666959/Blog/Hero%20Images/gitlab-aws-cover.png","Our guest author, an AWS Serverless hero, shares how to automate SAM deployments using GitLab CI/CD.",[2911],"Forrest Brazeal","2019-02-04",{"slug":2914,"externalUrl":-1},"multi-account-aws-sam-deployments-with-gitlab-ci",{"content":2916,"config":2922},{"title":2917,"heroImage":2918,"category":707,"description":2919,"authors":2920,"date":2921},"How to publish Android apps to the Google Play Store with GitLab and fastlane","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679918/Blog/Hero%20Images/android-fastlane-pipeline.png","See how GitLab, together with fastlane, can build, sign, and publish apps for Android to the Google Play Store.",[1960],"2019-01-28",{"slug":2923,"externalUrl":-1},"android-publishing-with-gitlab-and-fastlane",{"content":2925,"config":2932},{"title":2926,"heroImage":2927,"category":839,"description":2928,"authors":2929,"date":2931},"Streamline and shorten error remediation with Sentry’s new GitLab integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679964/Blog/Hero%20Images/sentry-io-blog.jpg","Your code has bugs, my code has bugs, everyone’s code has bugs (probably). Let’s fix that.",[2930],"Eva Sasson","2019-01-25",{"slug":2933,"externalUrl":-1},"sentry-integration-blog-post",{"content":2935,"config":2941},{"title":2936,"heroImage":1676,"category":707,"description":2937,"authors":2938,"date":2940},"How to streamline interactions between multiple repositories with multi-project pipelines","You can connect CI/CD pipelines and artifacts for multiple related projects to make managing interactions easy.",[2939],"Fabio Busatto","2018-10-31",{"slug":2942,"externalUrl":-1},"use-multiproject-pipelines-with-gitlab-cicd",{"content":2944,"config":2950},{"title":2945,"heroImage":2946,"category":707,"description":2947,"authors":2948,"date":2949},"Setting up GitLab CI for Android projects","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666699/Blog/Hero%20Images/banner.jpg","Learn how to set up GitLab CI to ensure your Android app compiles and passes tests.",[1960],"2018-10-24",{"slug":2951,"externalUrl":-1},"setting-up-gitlab-ci-for-android-projects",{"content":2953,"config":2960},{"title":2954,"heroImage":2955,"category":707,"description":2956,"authors":2957,"date":2959},"Test all the things in GitLab CI with Docker by example","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680261/Blog/Hero%20Images/test-all-the-things-in-gitlab-ci-with-docker-by-example.jpg","Running tests is easier than you think – guest author Gabriel Le Breton shares his presentation about testing everything automatically with GitLab CI/CD.",[2958],"Gabriel Le Breton","2018-02-05",{"slug":2961,"externalUrl":-1},"test-all-the-things-gitlab-ci-docker-examples",{"content":2963,"config":2970},{"title":2964,"heroImage":2965,"category":707,"description":2966,"authors":2967,"date":2969},"A beginner's guide to continuous integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679800/Blog/Hero%20Images/beginners-guide-to-ci.jpg","Here's how to help everyone on your team, like designers and testers, get started with GitLab CI.",[2968],"Riccardo Padovani","2018-01-22",{"slug":2971,"externalUrl":-1},"a-beginners-guide-to-continuous-integration",{"content":2973,"config":2980},{"title":2974,"heroImage":2975,"category":707,"description":2976,"authors":2977,"date":2979},"Go tools and GitLab: How to do continuous integration like a boss","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667978/Blog/Hero%20Images/go-tools-and-gitlab.jpg","How the team at Pantomath makes their lives easier with GitLab CI.",[2978],"Julien Andrieux","2017-11-27",{"slug":2981,"externalUrl":-1},"go-tools-and-gitlab-how-to-do-continuous-integration-like-a-boss",{"content":2983,"config":2990},{"title":2984,"heroImage":2985,"category":707,"description":2986,"authors":2987,"date":2989},"Autoscale GitLab CI/CD runners and save 90% on EC2 costs","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680305/Blog/Hero%20Images/autoscale-gitlab-ci-runners.jpg","Guest author Max Woolf shows how his team makes big savings with an autoscaling cluster of GitLab CI/CD runners.",[2988],"Max Woolf","2017-11-23",{"slug":2991,"externalUrl":-1},"autoscale-ci-runners",{"content":2993,"config":3000},{"title":2994,"heroImage":2995,"category":707,"description":2996,"authors":2997,"date":2999},"Working with YAML in GitLab CI from the Android perspective","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749665524/Blog/Hero%20Images/yaml-gitlab-ci-android.png","Guest author Renato Stanic shares a sample YAML configuration for Android projects, which helps his team with faster, more iterative development.",[2998],"Renato Stanic","2017-11-20",{"slug":3001,"externalUrl":-1},"working-with-yaml-gitlab-ci-android",{"content":3003,"config":3010},{"title":3004,"heroImage":3005,"category":707,"description":3006,"authors":3007,"date":3009},"GitBot – automating boring Git operations with CI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672374/Blog/Hero%20Images/gitbot-automate-git-operations.jpg","Guest author Kristian Larsson shares how he automates some common Git operations, like rebase, using GitLab CI.",[3008],"Kristian Larsson","2017-11-02",{"slug":3011,"externalUrl":-1},"automating-boring-git-operations-gitlab-ci",{"content":3013,"config":3020},{"title":3014,"heroImage":3015,"category":707,"description":3016,"authors":3017,"date":3019},"How to use GitLab CI/CD for Vue.js","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680363/Blog/Hero%20Images/build-test-deploy-vue.jpg","Learn how to get the most out of GitLab CI/CD with this guide.",[3018],"Simon Tarchichi","2017-09-12",{"slug":3021,"externalUrl":-1},"vuejs-app-gitlab",{"content":3023,"config":3029},{"title":3024,"heroImage":3025,"category":707,"description":3026,"authors":3027,"date":3028},"How to automatically create a new MR on GitLab with GitLab CI","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679783/Blog/Hero%20Images/whats-next-for-gitlab-ci.jpg","With this script, every time we push a commit, GitLab CI checks if the branch that commit belongs to already has an open MR and, if not, creates one.",[2968],"2017-09-05",{"slug":3030,"externalUrl":-1},"how-to-automatically-create-a-new-mr-on-gitlab-with-gitlab-ci",{"content":3032,"config":3040},{"title":3033,"heroImage":3034,"category":707,"description":3035,"authors":3036,"date":3039},"How we use GitLab at the Province of Nova Scotia","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670226/Blog/Hero%20Images/how-we-use-gitlab-at-nova-scotia.jpg","The Unix operations team at the Province of Nova Scotia decided to implement GitLab for source control and CI/CD. Here's how we started exploring DevOps.",[3037,3038],"Steven Zinck","Paul Badcock","2017-07-18",{"slug":3041,"externalUrl":-1},"how-we-use-gitlab-at-the-province-of-nova-scotia",{"content":3043,"config":3050},{"title":3044,"heroImage":3045,"category":707,"description":3046,"authors":3047,"date":3049},"Making CI/CD easier with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680423/Blog/Hero%20Images/making-ci-easier-with-gitlab.jpg","The team at Trek10 tries to consider the need for automation and repeatability with everything they do. One team member gives a crash course in GitLab CI/CD and explains how they use it.",[3048],"Rob Ribeiro","2017-07-13",{"slug":3051,"externalUrl":-1},"making-ci-easier-with-gitlab",{"content":3053,"config":3060},{"title":3054,"heroImage":3055,"category":707,"description":3056,"authors":3057,"date":3059},"Dockerizing GitLab Review Apps","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680430/Blog/Hero%20Images/dockerizing-review-apps.jpg","A GitLab user shows us how to deploy Docker containers as a Review App.",[3058],"Stephan Hochdörfer","2017-07-11",{"slug":3061,"externalUrl":-1},"dockerizing-review-apps",{"content":3063,"config":3068},{"title":3064,"heroImage":3025,"category":1545,"description":3065,"authors":3066,"date":3067},"From 2/3 of the self-managed Git market, to the next-generation CI system, to Auto DevOps","GitLab first became the standard for self hosting git with two-thirds of the market, then became the next generation CI system, and the next step is creating Auto DevOps.",[1950],"2017-06-29",{"slug":3069,"externalUrl":-1},"whats-next-for-gitlab-ci",{"content":3071,"config":3078},{"title":3072,"heroImage":3073,"category":707,"description":3074,"authors":3075,"date":3077},"How GitLab CI supported Ticketmaster's ramp up to weekly mobile releases","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749682946/Blog/Hero%20Images/tm-cover-image-small.jpg","Ticketmaster Android developer Jeff Kelsey shares why GitLab CI was a game changer for his team.",[3076],"Jeff Kelsey","2017-06-07",{"slug":3079,"externalUrl":-1},"continuous-integration-ticketmaster",1772652080084]