[{"data":1,"prerenderedAt":983},["ShallowReactive",2],{"/blog/getting-started-gitlab-and-shippable":3,"navigation-en-us":221,"banner-en-us":652,"footer-en-us":662,"blog-post-authors-en-us-GitLab":923,"blog-related-posts-en-us-getting-started-gitlab-and-shippable":938,"blog-share-wrapper-en-us":963,"next-steps-en-us":973},{"id":4,"title":5,"authors":6,"body":8,"category":188,"date":189,"description":190,"extension":191,"externalUrl":192,"faq":192,"featured":193,"heroImage":194,"meta":195,"navigation":211,"path":212,"seo":213,"slug":217,"stem":218,"tags":192,"template":219,"updatedDate":192,"__hash__":220},"blogPosts/en-us/blog/getting-started-gitlab-and-shippable.md","Getting Started with GitLab and Shippable Continuous Integration",[7],"GitLab",{"type":9,"value":10,"toc":181},"minimark",[11,25,28,35,41,44,47,52,61,74,81,104,110,115,118,124,132,136,145,150,154,167,176,178],[12,13,14],"p",{},[15,16,17,18,24],"em",{},"This tutorial is a re-post of ",[19,20,23],"a",{"href":21,"rel":22},"http://blog.shippable.com/getting-started-gitlab-with-shippable-ci",[],"Shippable's blog post",".",[12,26,27],{},"GitLab is a fast-growing choice for enterprises managing their application code and team\ncollaboration both on-premises and in the cloud. Today we are excited to announce Shippable\nsupport for application delivery pipelines for GitLab developers.",[12,29,30,31,34],{},"Shippable now extends ",[19,32,7],{"href":33},"/","'s combination of Git-based source code repositories and enterprise\nfeatures such as authentication and security with CI/CD pipelines. Shippable connects with\nGitLab self-managed community and enterprise editions as well as their cloud offering so we\nwork the way you want to.",[36,37,38],"blockquote",{},[12,39,40],{},"\"We're excited that Shippable now integrates with GitLab. With Shippable anyone using GitLab\ncan now easily deploy their code, independent of their stack and cloud environment.\" says Job van der Voort\nVP of Product at GitLab. \"Like GitLab, Shippable works with established technologies, as well as with\ncontainers, making this an excellent solution for organizations of any size to bring their code from\ntheir repositories in GitLab to production.\"",[12,42,43],{},"Our new Shippable integration for GitLab supports running builds for your push commits, merge requests\nand even show the build status in GitLab, so you can enjoy the power of Shippable within GitLab. To know\nmore about how to set up Shippable CI with GitLab, read on.",[45,46],"hr",{},[48,49,51],"h2",{"id":50},"setting-up-gitlab-account-integration","Setting up GitLab account integration",[12,53,54,55,60],{},"To start off, ",[19,56,59],{"href":57,"rel":58},"https://app.shippable.com/",[],"sign into Shippable",". (GitLab.com identity support coming soon.)\nOnce signed into Shippable:",[62,63,64,68,71],"ul",{},[65,66,67],"li",{},"Click on the gear icon for 'Account Settings' in the top right navigation bar",[65,69,70],{},"Click on the 'Integrations' tab",[65,72,73],{},"Click on 'Add Integration'",[12,75,76],{},[77,78],"img",{"alt":79,"src":80},"Add integration in account settings","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399024/blog/Content%20Images/shippable-blog-images/2-Add_Integration_in_Account_settings.png",[62,82,83,86,89,101],{},[65,84,85],{},"Select the drop down under the 'Master Integration' & select 'GitLab'",[65,87,88],{},"For the 'Integration Name', use a distinctive name that's easy to recall",[65,90,91,92,96,97,24],{},"For 'url', enter the API end-point of your GitLab instance, this is usually of the format ",[93,94,95],"code",{},"https://your-gitlab.com/api/v3",". If you're using GitLab.com, this will be ",[19,98,99],{"href":99,"rel":100},"https://gitlab.com/api/v3",[],[65,102,103],{},"For 'token', navigate to your GitLab Profile Settings in your GitLab instance and copy the Private Token provided under Account.",[12,105,106],{},[77,107],{"alt":108,"src":109},"Account integration","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399024/blog/Content%20Images/shippable-blog-images/3-acc_int.png",[62,111,112],{},[65,113,114],{},"Click save.",[12,116,117],{},"Next, let's sync the Account to ensure the permissions are up to date. To do this, go to the 'Accounts'\ntab & click 'Sync'.",[12,119,120],{},[77,121],{"alt":122,"src":123},"Account sync","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399025/blog/Content%20Images/shippable-blog-images/4-accountSync.png",[12,125,126,127,24],{},"Once synced, your GitLab subscription should be available from the 'Subscriptions' drop down in\nthe dashboard page. You can now proceed to enable any repository (project) and configure your\n",[19,128,131],{"href":129,"rel":130},"http://docs.shippable.com/ci_configure/",[],"Continuous Integration",[48,133,135],{"id":134},"build-triggers","Build triggers",[12,137,138,139,144],{},"Shippable automatically triggers build runs for all GitLab code commits or merge requests, indepenedent\nof the user who initiated it. Once the build triggers, you can view the ",[19,140,143],{"href":141,"rel":142},"http://docs.shippable.com/ci_builds/",[],"build status and build details",". In addition, Shippable integrates with GitLab build status API and displays the build status directly in GitLab as shown below.",[12,146,147],{},[77,148],{"alt":122,"src":149},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399025/blog/Content%20Images/shippable-blog-images/5-example.png",[48,151,153],{"id":152},"get-a-build-going","Get a build going",[12,155,156,157,161,162,24],{},"To get a build going for a project, ",[19,158,160],{"href":129,"rel":159},[],"add the Shippable config"," to it and then proceed to enable the project\nfrom your subscription in Shippable. Any build failures are notified instantly via email, and in Gitlab's\nbuild status. Slack, and Hipchat, IRC notifications can also be ",[19,163,166],{"href":164,"rel":165},"http://docs.shippable.com/int_notifications/",[],"configured",[12,168,169,170,175],{},"You can even proceed to configure ",[19,171,174],{"href":172,"rel":173},"http://docs.shippable.com/pipelines_overview/",[],"Continuous Delivery"," using Shippable Pipelines and Docker. With Continuous Integration\nensuring that the features are working fine, and Continuous Delivery automatically deploying the successful builds,\nyou can ensure a smooth, fast, bug-less transition from development to production.",[45,177],{},[12,179,180],{},"At GitLab, we are always excited to integrate with products that our customers use. Thanks to the Shippable team\nfor writing this blog post and for working with us.",{"title":182,"searchDepth":183,"depth":183,"links":184},"",2,[185,186,187],{"id":50,"depth":183,"text":51},{"id":134,"depth":183,"text":135},{"id":152,"depth":183,"text":153},"engineering","2016-05-05"," To know more about how to set up Shippable CI with GitLab, read on.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749672330/Blog/Hero%20Images/1-aye_aye_gitlab.png",{"excerpt":196},{"type":9,"value":197},[198,205,207],[12,199,200],{},[15,201,17,202,24],{},[19,203,23],{"href":21,"rel":204},[],[12,206,27],{},[12,208,30,209,34],{},[19,210,7],{"href":33},true,"/en-us/blog/getting-started-gitlab-and-shippable",{"title":5,"description":190,"ogTitle":5,"ogDescription":190,"noIndex":193,"ogImage":194,"ogUrl":214,"ogSiteName":215,"ogType":216,"canonicalUrls":214},"https://about.gitlab.com/blog/getting-started-gitlab-and-shippable","https://about.gitlab.com","article","getting-started-gitlab-and-shippable","en-us/blog/getting-started-gitlab-and-shippable","BlogPost","NbU4RkgCv7YJMedketCyunXKPV20ebvZ4Uh17csrwFg",{"logo":222,"freeTrial":226,"sales":231,"login":236,"items":241,"search":572,"minimal":603,"duo":622,"switchNav":631,"pricingDeployment":642},{"config":223},{"href":33,"dataGaName":224,"dataGaLocation":225},"gitlab logo","header",{"text":227,"config":228},"Get free trial",{"href":229,"dataGaName":230,"dataGaLocation":225},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":232,"config":233},"Request a demo",{"href":234,"dataGaName":235,"dataGaLocation":225},"/request-a-demo/","sales",{"text":237,"config":238},"Sign in",{"href":239,"dataGaName":240,"dataGaLocation":225},"https://gitlab.com/users/sign_in/","sign in",[242,328,416,421,496,550],{"text":243,"left":211,"config":244,"menu":246},"Platform",{"dataNavLevelOne":245},"platform",{"type":247,"link":248,"columns":252,"feature":317},"lists",{"text":249,"config":250},"Explore the Platform",{"href":251,"dataGaName":245,"dataGaLocation":225},"/platform/",[253,276,299],{"title":254,"items":255},"Execution & Workflows",[256,261,266,271],{"text":257,"config":258},"CI/CD",{"href":259,"dataGaLocation":225,"dataGaName":260},"/solutions/continuous-integration/","ci/cd",{"text":262,"config":263},"Source Code Management",{"href":264,"dataGaLocation":225,"dataGaName":265},"/solutions/source-code-management/","source code management",{"text":267,"config":268},"Agile Delivery",{"href":269,"dataGaLocation":225,"dataGaName":270},"/solutions/agile-delivery/","agile delivery",{"text":272,"config":273},"Artifact Management",{"href":274,"dataGaLocation":225,"dataGaName":275},"/artifact-central/","artifact management",{"title":277,"items":278},"Security & Governance",[279,284,289,294],{"text":280,"config":281},"Application Security Testing",{"href":282,"dataGaLocation":225,"dataGaName":283},"/solutions/application-security-testing/","application security testing",{"text":285,"config":286},"Governance & Compliance",{"href":287,"dataGaLocation":225,"dataGaName":288},"/solutions/software-compliance/","governance and compliance",{"text":290,"config":291},"Secrets Management",{"href":292,"dataGaLocation":225,"dataGaName":293},"/gitlab-secrets-manager/","secrets management",{"text":295,"config":296},"Supply Chain Security",{"href":297,"dataGaLocation":225,"dataGaName":298},"/solutions/supply-chain/","supply chain security",{"title":300,"items":301},"Context & AI",[302,307,312],{"text":303,"config":304},"Agentic Orchestration",{"href":305,"dataGaLocation":225,"dataGaName":306},"/gitlab-duo-agent-platform/","agentic orchestration",{"text":308,"config":309},"Context Graph",{"href":310,"dataGaLocation":225,"dataGaName":311},"/gitlab-orbit/","context graph",{"text":313,"config":314},"Visibility & Measurement",{"href":315,"dataGaLocation":225,"dataGaName":316},"/solutions/visibility-measurement/","visibility and measurement",{"config":318,"title":321,"text":322,"link":323},{"background":319,"textColor":320},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1790185102/o7dn32anqcb6z8dgd3as.jpg')","#000","Why GitLab","One platform for speed with control across your software lifecycle.",{"text":324,"config":325},"Learn more",{"href":326,"dataGaName":327,"dataGaLocation":225},"/why-gitlab/","why gitlab",{"text":329,"left":211,"config":330,"menu":332},"Solutions",{"dataNavLevelOne":331},"solutions",{"type":247,"link":333,"columns":337,"feature":407},{"text":334,"config":335},"View all Solutions",{"href":336,"dataGaName":331,"dataGaLocation":225},"/solutions/",[338,356,374],{"title":339,"items":340},"Outcomes",[341,346,351],{"text":342,"config":343},"DevOps Modernization",{"href":344,"dataGaLocation":225,"dataGaName":345},"/assessments/devops-modernization-assessment/","devops modernization",{"text":347,"config":348},"Security Modernization",{"href":349,"dataGaLocation":225,"dataGaName":350},"/assessments/security-modernization-assessment/","security modernization",{"text":352,"config":353},"AI Modernization",{"href":354,"dataGaLocation":225,"dataGaName":355},"/assessments/ai-modernization-assessment/","ai modernization",{"title":357,"items":358},"By size",[359,364,369],{"text":360,"config":361},"Enterprise",{"href":362,"dataGaLocation":225,"dataGaName":363},"/enterprise/","enterprise",{"text":365,"config":366},"Small Business",{"href":367,"dataGaLocation":225,"dataGaName":368},"/small-business/","small business",{"text":370,"config":371},"Startups",{"href":372,"dataGaLocation":225,"dataGaName":373},"/solutions/startups/","startups",{"title":375,"items":376},"Industries",[377,382,387,392,397,402],{"text":378,"config":379},"Financial Services",{"href":380,"dataGaLocation":225,"dataGaName":381},"/solutions/finance/","financial services",{"text":383,"config":384},"Public Sector",{"href":385,"dataGaLocation":225,"dataGaName":386},"/solutions/public-sector/","public sector",{"text":388,"config":389},"Telecommunications",{"href":390,"dataGaLocation":225,"dataGaName":391},"/solutions/telecommunications/","telecommunications",{"text":393,"config":394},"Automotive",{"href":395,"dataGaLocation":225,"dataGaName":396},"/solutions/automotive/","automotive",{"text":398,"config":399},"Education",{"href":400,"dataGaLocation":225,"dataGaName":401},"/solutions/education/","education",{"text":403,"config":404},"Aerospace",{"href":405,"dataGaLocation":225,"dataGaName":406},"/solutions/aerospace/","aerospace",{"config":408,"title":409,"text":410,"link":411},{"background":319,"textColor":320},"GitLab Security Standard","Learn how to harden your software factory and let AI agents earn autonomy, without trading away security.",{"text":412,"config":413},"Explore the standard",{"href":414,"dataGaName":415,"dataGaLocation":225},"/gitlab-security-standard/","gitlab security standard",{"text":417,"config":418},"Pricing",{"href":419,"dataGaName":420,"dataGaLocation":225,"dataNavLevelOne":420},"/pricing/","pricing",{"text":422,"config":423,"menu":425},"Resources",{"dataNavLevelOne":424},"resources",{"type":247,"link":426,"columns":430,"feature":487},{"text":427,"config":428},"View all resources",{"href":429,"dataGaName":424,"dataGaLocation":225},"/resources/",[431,459],{"title":432,"items":433},"Discover",[434,439,444,449,454],{"text":435,"config":436},"Docs",{"href":437,"dataGaName":438,"dataGaLocation":225},"https://docs.gitlab.com/","docs",{"text":440,"config":441},"University",{"href":442,"dataGaName":443,"dataGaLocation":225},"https://university.gitlab.com/","university",{"text":445,"config":446},"Demo Series",{"href":447,"dataGaName":448,"dataGaLocation":225},"/gitlab-technical-demo-series/","demo series",{"text":450,"config":451},"Demo Hub",{"href":452,"dataGaName":453,"dataGaLocation":225},"/demo-hub/","demo hub",{"text":455,"config":456},"Services",{"href":457,"dataGaName":458,"dataGaLocation":225},"/services/","services",{"title":460,"items":461},"Connect",[462,467,472,477,482],{"text":463,"config":464},"Blog",{"href":465,"dataGaName":466,"dataGaLocation":225},"/blog/","blog",{"text":468,"config":469},"Community",{"href":470,"dataGaName":471,"dataGaLocation":225},"/community/","community",{"text":473,"config":474},"Customers",{"href":475,"dataGaName":476,"dataGaLocation":225},"/customers/","customers",{"text":478,"config":479},"Partners",{"href":480,"dataGaName":481,"dataGaLocation":225},"/partners/","partners",{"text":483,"config":484},"Events",{"href":485,"dataGaName":486,"dataGaLocation":225},"/events/","events",{"config":488,"title":489,"text":490,"link":491},{"background":319,"textColor":320},"What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":492,"config":493},"Read the latest",{"href":494,"dataGaName":495,"dataGaLocation":225},"/whats-new/","whats new",{"text":497,"config":498,"menu":500},"Company",{"dataNavLevelOne":499},"company",{"type":247,"columns":501},[502],{"items":503},[504,509,515,520,525,530,535,540,545],{"text":505,"config":506},"About",{"href":507,"dataGaName":508,"dataGaLocation":225},"/company/","about",{"text":510,"config":511,"footerGa":514},"Jobs",{"href":512,"dataGaName":513,"dataGaLocation":225},"/jobs/","jobs",{"dataGaName":513},{"text":516,"config":517},"Press",{"href":518,"dataGaName":519,"dataGaLocation":225},"/press/","press",{"text":521,"config":522},"Handbook",{"href":523,"dataGaName":524,"dataGaLocation":225},"https://handbook.gitlab.com/","handbook",{"text":526,"config":527},"Leadership",{"href":528,"dataGaName":529,"dataGaLocation":225},"/company/team/e-group/","leadership",{"text":531,"config":532},"Investor relations",{"href":533,"dataGaName":534,"dataGaLocation":225},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":536,"config":537},"Trust Center",{"href":538,"dataGaName":539,"dataGaLocation":225},"/security/","trust center",{"text":541,"config":542},"AI Transparency Center",{"href":543,"dataGaName":544,"dataGaLocation":225},"/ai-transparency-center/","ai transparency center",{"text":546,"config":547},"Newsletter",{"href":548,"dataGaName":549,"dataGaLocation":225},"/company/contact/#contact-forms","newsletter",{"text":551,"config":552,"menu":553},"Contact us",{"dataNavLevelOne":499},{"type":247,"columns":554},[555],{"items":556},[557,562,567],{"text":558,"config":559},"Talk to sales",{"href":560,"dataGaName":561,"dataGaLocation":225},"/sales/","talk to sales",{"text":563,"config":564},"Support portal",{"href":565,"dataGaName":566,"dataGaLocation":225},"https://support.gitlab.com/hc/en-us","support portal",{"text":568,"config":569},"Customer portal",{"href":570,"dataGaName":571,"dataGaLocation":225},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":573,"login":574,"suggestions":581},"Close",{"text":575,"link":576},"To search repositories and projects, login to",{"text":577,"config":578},"gitlab.com",{"href":239,"dataGaName":579,"dataGaLocation":580},"search login","search",{"text":582,"default":583},"Suggestions",[584,587,590,592,596,600],{"text":585,"config":586},"GitLab Duo Agent Platform",{"href":305,"dataGaName":585,"dataGaLocation":580},{"text":588,"config":589},"Code Suggestions (AI)",{"href":305,"dataGaName":588,"dataGaLocation":580},{"text":257,"config":591},{"href":259,"dataGaName":257,"dataGaLocation":580},{"text":593,"config":594},"GitLab on AWS",{"href":595,"dataGaName":593,"dataGaLocation":580},"/partners/technology-partners/aws/",{"text":597,"config":598},"GitLab on Google Cloud",{"href":599,"dataGaName":597,"dataGaLocation":580},"/partners/technology-partners/google-cloud-platform/",{"text":601,"config":602},"Why GitLab?",{"href":326,"dataGaName":601,"dataGaLocation":580},{"freeTrial":604,"mobileIcon":609,"desktopIcon":614,"secondaryButton":617},{"text":605,"config":606},"Start free trial",{"href":607,"dataGaName":230,"dataGaLocation":608},"https://gitlab.com/-/trials/new/","nav",{"altText":610,"config":611},"Gitlab Icon",{"src":612,"dataGaName":613,"dataGaLocation":608},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":610,"config":615},{"src":616,"dataGaName":613,"dataGaLocation":608},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":618,"config":619},"Get Started",{"href":620,"dataGaName":621,"dataGaLocation":608},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":623,"mobileIcon":627,"desktopIcon":629},{"text":624,"config":625},"Learn more about GitLab Duo",{"href":305,"dataGaName":626,"dataGaLocation":608},"gitlab duo",{"altText":610,"config":628},{"src":612,"dataGaName":613,"dataGaLocation":608},{"altText":610,"config":630},{"src":616,"dataGaName":613,"dataGaLocation":608},{"button":632,"mobileIcon":637,"desktopIcon":639},{"text":633,"config":634},"/switch",{"href":635,"dataGaName":636,"dataGaLocation":608},"#contact","switch",{"altText":610,"config":638},{"src":612,"dataGaName":613,"dataGaLocation":608},{"altText":610,"config":640},{"src":641,"dataGaName":613,"dataGaLocation":608},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":643,"mobileIcon":648,"desktopIcon":650},{"text":644,"config":645},"Back to pricing",{"href":419,"dataGaName":646,"dataGaLocation":608,"icon":647},"back to pricing","GoBack",{"altText":610,"config":649},{"src":612,"dataGaName":613,"dataGaLocation":608},{"altText":610,"config":651},{"src":616,"dataGaName":613,"dataGaLocation":608},{"title":653,"button":654,"config":660},"Ship at agent speed. Prove every step. Transcend is here.",{"text":655,"config":656},"Watch now",{"href":657,"dataGaName":658,"dataGaLocation":659},"/events/transcend/virtual/#watch-gitlab-transcend","transcend-october-2026-banner","global-banner",{"layout":661,"disabled":193},"release",{"data":663},{"text":664,"source":665,"edit":671,"contribute":676,"config":681,"items":686,"minimal":912},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":666,"config":667},"View page source",{"href":668,"dataGaName":669,"dataGaLocation":670},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":672,"config":673},"Edit this page",{"href":674,"dataGaName":675,"dataGaLocation":670},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":677,"config":678},"Please contribute",{"href":679,"dataGaName":680,"dataGaLocation":670},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":682,"facebook":683,"youtube":684,"linkedin":685},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[687,734,792,839,880],{"title":417,"links":688,"subMenu":703},[689,693,698],{"text":690,"config":691},"View plans",{"href":419,"dataGaName":692,"dataGaLocation":670},"view plans",{"text":694,"config":695},"Why Premium?",{"href":696,"dataGaName":697,"dataGaLocation":670},"/pricing/premium/","why premium",{"text":699,"config":700},"Why Ultimate?",{"href":701,"dataGaName":702,"dataGaLocation":670},"/pricing/ultimate/","why ultimate",[704],{"title":705,"links":706},"Contact Us",[707,710,712,714,719,724,729],{"text":708,"config":709},"Contact sales",{"href":560,"dataGaName":235,"dataGaLocation":670},{"text":563,"config":711},{"href":565,"dataGaName":566,"dataGaLocation":670},{"text":568,"config":713},{"href":570,"dataGaName":571,"dataGaLocation":670},{"text":715,"config":716},"Status",{"href":717,"dataGaName":718,"dataGaLocation":670},"https://status.gitlab.com/","status",{"text":720,"config":721},"Terms of use",{"href":722,"dataGaName":723,"dataGaLocation":670},"/terms/","terms of use",{"text":725,"config":726},"Privacy statement",{"href":727,"dataGaName":728,"dataGaLocation":670},"/privacy/","privacy statement",{"text":730,"config":731},"Cookie preferences",{"dataGaName":732,"dataGaLocation":670,"id":733,"isOneTrustButton":211},"cookie preferences","ot-sdk-btn",{"title":243,"links":735,"subMenu":749},[736,739,741,743,745,747],{"text":737,"config":738},"Explore the platform",{"href":251,"dataGaName":245,"dataGaLocation":670},{"text":303,"config":740},{"href":305,"dataGaName":306,"dataGaLocation":670},{"text":257,"config":742},{"href":259,"dataGaName":260,"dataGaLocation":670},{"text":308,"config":744},{"href":310,"dataGaName":311,"dataGaLocation":670},{"text":290,"config":746},{"href":292,"dataGaName":293,"dataGaLocation":670},{"text":321,"config":748},{"href":326,"dataGaName":327,"dataGaLocation":670},[750],{"title":751,"links":752},"Topics",[753,757,762,767,772,777,782,787],{"text":257,"config":754},{"href":755,"dataGaName":756,"dataGaLocation":670},"/topics/ci-cd/","cicd",{"text":758,"config":759},"GitOps",{"href":760,"dataGaName":761,"dataGaLocation":670},"/topics/gitops/","gitops",{"text":763,"config":764},"DevOps",{"href":765,"dataGaName":766,"dataGaLocation":670},"/topics/devops/","devops",{"text":768,"config":769},"Version Control",{"href":770,"dataGaName":771,"dataGaLocation":670},"/topics/version-control/","version control",{"text":773,"config":774},"DevSecOps",{"href":775,"dataGaName":776,"dataGaLocation":670},"/topics/devsecops/","devsecops",{"text":778,"config":779},"Cloud Native",{"href":780,"dataGaName":781,"dataGaLocation":670},"/topics/cloud-native/","cloud native",{"text":783,"config":784},"AI for Coding",{"href":785,"dataGaName":786,"dataGaLocation":670},"/topics/devops/ai-for-coding/","ai for coding",{"text":788,"config":789},"Agentic AI",{"href":790,"dataGaName":791,"dataGaLocation":670},"/topics/agentic-ai/","agentic ai",{"title":329,"links":793},[794,797,800,803,806,809,811,813,815,817,819,822,824,827,831,835],{"text":795,"config":796},"DevOps modernization",{"href":344,"dataGaName":345,"dataGaLocation":670},{"text":798,"config":799},"Security modernization",{"href":349,"dataGaName":350,"dataGaLocation":670},{"text":801,"config":802},"AI modernization",{"href":354,"dataGaName":355,"dataGaLocation":670},{"text":804,"config":805},"Financial services",{"href":380,"dataGaName":381,"dataGaLocation":670},{"text":807,"config":808},"Public sector",{"href":385,"dataGaName":386,"dataGaLocation":670},{"text":388,"config":810},{"href":390,"dataGaName":391,"dataGaLocation":670},{"text":393,"config":812},{"href":395,"dataGaName":396,"dataGaLocation":670},{"text":398,"config":814},{"href":400,"dataGaName":401,"dataGaLocation":670},{"text":403,"config":816},{"href":405,"dataGaName":406,"dataGaLocation":670},{"text":360,"config":818},{"href":362,"dataGaName":363,"dataGaLocation":670},{"text":820,"config":821},"Small business",{"href":367,"dataGaName":368,"dataGaLocation":670},{"text":370,"config":823},{"href":372,"dataGaName":373,"dataGaLocation":670},{"text":758,"config":825},{"href":826,"dataGaName":761,"dataGaLocation":670},"/solutions/gitops/",{"text":828,"config":829},"Software composition analysis",{"href":297,"dataGaName":830,"dataGaLocation":670},"software composition analysis",{"text":832,"config":833},"Value stream management",{"href":315,"dataGaName":834,"dataGaLocation":670},"value stream management",{"text":836,"config":837},"All solutions",{"href":336,"dataGaName":838,"dataGaLocation":670},"all solutions",{"title":422,"links":840},[841,846,851,853,855,857,859,861,863,865,867,869,871,873,876],{"text":842,"config":843},"Install",{"href":844,"dataGaName":845,"dataGaLocation":670},"/install/","install",{"text":847,"config":848},"Quick start guides",{"href":849,"dataGaName":850,"dataGaLocation":670},"/get-started/","quick setup checklists",{"text":435,"config":852},{"href":437,"dataGaName":438,"dataGaLocation":670},{"text":440,"config":854},{"href":442,"dataGaName":443,"dataGaLocation":670},{"text":445,"config":856},{"href":447,"dataGaName":448,"dataGaLocation":670},{"text":450,"config":858},{"href":452,"dataGaName":453,"dataGaLocation":670},{"text":455,"config":860},{"href":457,"dataGaName":458,"dataGaLocation":670},{"text":463,"config":862},{"href":465,"dataGaName":466,"dataGaLocation":670},{"text":468,"config":864},{"href":470,"dataGaName":471,"dataGaLocation":670},{"text":473,"config":866},{"href":475,"dataGaName":476,"dataGaLocation":670},{"text":478,"config":868},{"href":480,"dataGaName":481,"dataGaLocation":670},{"text":483,"config":870},{"href":485,"dataGaName":486,"dataGaLocation":670},{"text":546,"config":872},{"href":548,"dataGaName":549,"dataGaLocation":670},{"text":874,"config":875},"What's new",{"href":494,"dataGaName":495,"dataGaLocation":670},{"text":877,"config":878},"All resources",{"href":429,"dataGaName":879,"dataGaLocation":670},"all resources",{"title":497,"links":881},[882,884,886,888,890,892,894,896,898,902,907],{"text":505,"config":883},{"href":507,"dataGaName":499,"dataGaLocation":670},{"text":510,"config":885},{"href":512,"dataGaName":513,"dataGaLocation":670},{"text":516,"config":887},{"href":518,"dataGaName":519,"dataGaLocation":670},{"text":521,"config":889},{"href":523,"dataGaName":524,"dataGaLocation":670},{"text":526,"config":891},{"href":528,"dataGaName":529,"dataGaLocation":670},{"text":531,"config":893},{"href":533,"dataGaName":534,"dataGaLocation":670},{"text":536,"config":895},{"href":538,"dataGaName":539,"dataGaLocation":670},{"text":541,"config":897},{"href":543,"dataGaName":544,"dataGaLocation":670},{"text":899,"config":900},"Sustainability",{"href":901,"dataGaName":899,"dataGaLocation":670},"/sustainability/",{"text":903,"config":904},"Diversity, inclusion and belonging (DIB)",{"href":905,"dataGaName":906,"dataGaLocation":670},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":908,"config":909},"Modern Slavery Transparency Statement",{"href":910,"dataGaName":911,"dataGaLocation":670},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":913},[914,917,920],{"text":915,"config":916},"Terms",{"href":722,"dataGaName":723,"dataGaLocation":670},{"text":918,"config":919},"Cookies",{"dataGaName":732,"dataGaLocation":670,"id":733,"isOneTrustButton":211},{"text":921,"config":922},"Privacy",{"href":727,"dataGaName":728,"dataGaLocation":670},[924],{"id":925,"title":926,"body":192,"config":927,"content":929,"description":192,"extension":932,"meta":933,"navigation":211,"path":934,"seo":935,"stem":936,"__hash__":937},"blogAuthors/en-us/blog/authors/gitlab.yml","Gitlab",{"template":928},"BlogAuthor",{"name":7,"config":930},{"headshot":931,"ctfId":7},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","yml",{},"/en-us/blog/authors/gitlab",{},"en-us/blog/authors/gitlab","XCBKIcPoCs6zi2oHG7o-bAp52Jhaw8_zGhIJ2jNrEjU",[939,947,955],{"title":940,"description":941,"heroImage":942,"category":188,"date":943,"authors":944,"slug":946,"externalUrl":192},"Two front doors: Module-level access in a Django GRC app","A technical deep-dive on restructuring a Django internal tool to support two distinct GitLab teams: Security Compliance and Internal Audit.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750097663/Blog/Hero%20Images/Blog/Hero%20Images/Workflow%201800x945_2gQoQIbY9NvjLFpXtsxtXy_1750097663612.png","2026-10-05",[945],"Donovan Felton","module-level-access-in-a-django-grc-app",{"title":948,"description":949,"heroImage":950,"category":188,"date":951,"authors":952,"slug":954,"externalUrl":192},"How GitLab reduced code-per-agentic-flow ratio by 45%","Learn how Flow Registry, a component-based framework that compiles YAML configurations into fully functional LangGraph flows, helped improve scalability and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-09-22",[953],"Mikolaj Wawrzyniak","how-gitlab-reduced-code-per-agentic-flow-ratio",{"title":956,"description":957,"heroImage":958,"category":188,"date":959,"authors":960,"slug":962,"externalUrl":192},"Co-Create: Building GitLab with our users","How GitLab users collaborated with us to build practical product improvements in the first half of 2026.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-09-10",[961],"Isa Huerga","co-create-h1-2026",{"header":964,"text":965,"button":969,"disclaimer":972},"Start your free\n\n30-day GitLab trial\n",[966,967,968],"GitLab Duo Agent Platform access","Try our most advanced features","Automate complex tasks with AI",{"text":227,"config":970},{"href":971,"dataGaName":230,"dataGaLocation":466},"https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/blog/","No credit card required.",{"header":974,"blurb":975,"button":976,"secondaryButton":981},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":977,"config":978},"Get your free trial",{"href":979,"dataGaName":230,"dataGaLocation":980},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":708,"config":982},{"href":560,"dataGaName":235,"dataGaLocation":980},1792018370143]