[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"/blog/devops-and-the-scientific-process-a-perfect-pairing":3,"navigation-en-us":174,"banner-en-us":599,"footer-en-us":609,"blog-post-authors-en-us-Christina Hupy, Ph.D.":850,"blog-related-posts-en-us-devops-and-the-scientific-process-a-perfect-pairing":865,"blog-promotions-en-us":890,"next-steps-en-us":944},{"id":4,"title":5,"authors":6,"body":8,"category":152,"date":153,"description":154,"extension":155,"externalUrl":156,"faq":156,"featured":157,"heroImage":158,"meta":159,"navigation":160,"path":161,"seo":162,"slug":166,"stem":167,"tags":168,"template":172,"updatedDate":156,"__hash__":173},"blogPosts/en-us/blog/devops-and-the-scientific-process-a-perfect-pairing.md","DevOps and the scientific process: A perfect pairing",[7],"Christina Hupy, Ph.D.",{"type":9,"value":10,"toc":144},"minimark",[11,15,18,21,24,33,40,45,48,51,69,73,76,80,83,88,92,101,104,107,110,118,130],[12,13,14],"p",{},"The scientific process and the DevOps lifecycle. At first glance, it’s hard to imagine a connection. Yet, if you look at how some of GitLab’s customers and community members are marrying the two, it makes perfect sense.",[12,16,17],{},"Take, for example, the European Space Agency (ESA), which uses GitLab extensively for a variety of purposes, including version control, enabling collaboration, increasing security, and coordinating the intellectual resources of its 22 member states. ESA  has more than 140 groups and 1,500 projects stored on its GitLab instance. In the first year of using the DevOps Platform, ESA ran more than 60,000 pipeline jobs, allowing the organization to deploy code faster and to simplify its toolchain. The projects range from mission control systems, onboard software for spacecraft, image processing, and monitoring tools for lLabs. The ESA IT Department also uses GitLab to host its code tools and configurations infrastructure. Since adopting GitLab, ESA has enjoyed a culture of collaboration that is increasing around the organization.",[12,19,20],{},"As you can see with the ESA example, the connection between research and DevOps is powerful. Let’s examine why this combination works so well.",[12,22,23],{},"The scientific process moves through stages: asking a question, conducting background research, constructing a hypothesis, testing your hypothesis by doing an experiment, analyzing data, and reporting results. This process is very often iterative as new information is discovered throughout. It also is very collaborative as researchers work together to formulate hypotheses, gather data, and analyze the data.  Many artifacts are generated throughout the process, including data, analysis scripts, results, and research papers. Often, software itself is built to run equipment, labs, or process data.",[12,25,26,27,32],{},"DevOps, the set of practices and tools that combines software development and information technology operations, also moves through stages. ",[28,29,31],"a",{"href":30},"/stages-devops-lifecycle/","These stages"," include manage,  plan, create, verify, and release. DevOps is also very iterative and collaborative and many different types of artifacts are generated along the way.",[12,34,35],{},[36,37],"img",{"alt":38,"src":39},"Alt text for your image","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398188/blog/Content%20Images/devopsinscience1.png",[41,42,44],"h2",{"id":43},"how-the-scientific-process-and-the-devops-lifecycle-align","How the scientific process and the DevOps lifecycle align",[12,46,47],{},"We aren’t the only ones who noticed the similarities! As researchers were looking for tools to help them organize their plans, data, scripts, and results in a way that allowed them to work collaboratively and efficiently, they started using source control management. Storing their artifacts in a central repository had immediate benefits for collaboration.  It was a natural progression from there expanding across the DevOps lifecycle. As the shift happened and scientists began using the DevOps lifecycle for the scientific process, the results were transformational. Shifting the approach of science to follow the DevOps lifecycle resulted in increased transparency, collaboration, reproducibility,  speed to results, and data integrity.",[12,49,50],{},"In this transformation, the first stages of the scientific method – observing and hypothesizing – equate to the DevOps plan stage.  Hypotheses and research tasks can be managed and documented in issue tracking systems. Issues define what work needs to be done and progress can be tracked with milestones and labels. No information is lost in separate email threads or local documents. Assigning issues to users, along with approver and reviewer features, can make the research process highly efficient among collaborators, graduate students, and mentors.",[12,52,53,54,58,59,63,64,68],{},"Data collected during the testing stage is stored in a central repository where source control management (SCM) keeps them safe and accessible.  ",[28,55,57],{"href":56},"/topics/version-control/what-is-centralized-version-control-system/","Git technology"," allows all changes to be controlled, tagged, versioned with branches, and peer-reviewed through merge requests.  Analysis scripts are also stored in ",[28,60,62],{"href":61},"/solutions/source-code-management/","source code management"," as well and run using ",[28,65,67],{"href":66},"/solutions/continuous-integration/","continuous integration","(CI), a.k.a. the verify stage. Containerization is used to replicate computing environments and ensure reproducible results.",[41,70,72],{"id":71},"the-role-of-documentation","The role of documentation",[12,74,75],{},"DevOps platforms are able to transform the scientific research process because the whole research lifecycle can be documented with a single source of truth in a repository,  open, shared, and accessed. Where, currently, only final results are reviewed and published in the form of papers, leaving the rest of the process mostly opaque to reviewers and the public, the DevOps workflow allows access to and collaboration on all stages of the scientific lifecycle. As this one repository hosts all stages of the scientific process, metrics can be generated on all contributions. Researchers around the world can use the same containers, environment, and analysis on their own data ensuring reproducible science.",[41,77,79],{"id":78},"breaking-down-research-silos","Breaking down research silos",[12,81,82],{},"Most research today is happening sequentially, with locally optimized research groups working in silos. We often see duplication of work, incomplete documentation of results, and intransparent data and analysis. The DevOps transformation is shifting science to concurrent science where researchers are working collaboratively, with full transparency for reviewers.",[12,84,85],{},[36,86],{"alt":38,"src":87},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782398188/blog/Content%20Images/devopsinscience2.png",[41,89,91],{"id":90},"examples-of-the-research-devops-alliance","Examples of the Research-DevOps alliance",[12,93,94,95,100],{},"Let’s take a look at some examples, in addition to ESA mentioned at the outset. Researchers at MathWorks use DevOps tools workflows to perform requirements-based testing on an automotive lane-following system with Model-Based Design, as mentioned in this article ",[28,96,99],{"href":97,"rel":98},"https://www.mathworks.com/company/newsletters/articles/continuous-integration-for-verification-of-simulink-models-using-gitlab.html",[],"“Continuous Integration for Verification of Simulink Models”",".",[12,102,103],{},"Data and code are stored in an SCM and then  are forked to a testing branch.  CI pipelines are used to run various experiements and  tests on the code. When a test-case failure is detected in a GitLab CI pipeline, the researchers create an Issue to track and discuss the bugfix. The bug is reproduced locally in MATLAB, the issue is fixed, and the tests are run locally. The changes are reviewed on the testing branch. These changes can be committed to the testing branch where the verify, test, and build process is repeated. Researchers then create a merge equest to send the changes of the test branch into the master branch and close the corresponding Issue.",[12,105,106],{},"According to the authors, “CI is gaining in popularity and becoming an integral part of Model-Based Design”.  The benefits of using CI cited by the researchers include: repeatability, quality assurance, reduced development time, improved collaboration, and audit-ready code.",[12,108,109],{},"The Square Kilometre Array Organisation (SKAO) is leading the design of the globally distributed radio telescope SKA, using GitLab SCM and CI for scientific collaboration, development efficiency, and transparency. According to Lead Software Architect Marco Bartolini, “The large success is having been able to onboard code and software projects from many different organizations and with very different tools and technology into one single platform, easily. It was not a pain, and now we got it all under control. So that's brilliant.”",[12,111,112,113,117],{},"The sky is the limit for how DevOps is transforming the scientific research process – perhaps it could transform yours.  Vist ",[28,114,116],{"href":115},"/solutions/education/","GitLab for Education Program"," to learn more and watch our “GitLab for Scientific Research” video below.",[119,120,123,124],"figure",{"className":121},[122],"video_container","\n  ",[125,126],"iframe",{"src":127,"frameBorder":128,"allowFullScreen":129},"https://www.youtube.com/embed/4PRFhDIV_4Q","0","true",[12,131,132,133,138,139],{},"Cover image by ",[28,134,137],{"href":135,"rel":136},"https://unsplash.com/photos/lQGJCMY5qcM",[],"Hans Reiners"," on ",[28,140,143],{"href":141,"rel":142},"https://unsplash.com/",[],"Unsplash",{"title":145,"searchDepth":146,"depth":146,"links":147},"",2,[148,149,150,151],{"id":43,"depth":146,"text":44},{"id":71,"depth":146,"text":72},{"id":78,"depth":146,"text":79},{"id":90,"depth":146,"text":91},"devsecops","2022-02-15","Research teams have taken to DevOps principles and practices. Find out why and how to adopt DevOps in your organization.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668378/Blog/Hero%20Images/hans-reniers-lQGJCMY5qcM-unsplash.jpg",{},true,"/en-us/blog/devops-and-the-scientific-process-a-perfect-pairing",{"title":5,"description":154,"ogTitle":5,"ogDescription":154,"noIndex":157,"ogImage":158,"ogUrl":163,"ogSiteName":164,"ogType":165,"canonicalUrls":163},"https://about.gitlab.com/blog/devops-and-the-scientific-process-a-perfect-pairing","https://about.gitlab.com","article","devops-and-the-scientific-process-a-perfect-pairing","en-us/blog/devops-and-the-scientific-process-a-perfect-pairing",[169,170,171],"DevOps","community","customers","BlogPost","Fzj2jzojsjNzkJa4x51WqHvpsblW64xVNDgAav2_JCQ",{"logo":175,"freeTrial":180,"sales":185,"login":190,"items":195,"search":519,"minimal":550,"duo":569,"switchNav":578,"pricingDeployment":589},{"config":176},{"href":177,"dataGaName":178,"dataGaLocation":179},"/","gitlab logo","header",{"text":181,"config":182},"Get free trial",{"href":183,"dataGaName":184,"dataGaLocation":179},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":186,"config":187},"Request a demo",{"href":188,"dataGaName":189,"dataGaLocation":179},"/sales/?contact-topic=request-demo","sales",{"text":191,"config":192},"Sign in",{"href":193,"dataGaName":194,"dataGaLocation":179},"https://gitlab.com/users/sign_in/","sign in",[196,225,323,328,441,497],{"text":197,"config":198,"menu":200},"Platform",{"dataNavLevelOne":199},"platform",{"type":201,"columns":202},"cards",[203,209,217],{"title":197,"description":204,"link":205},"The intelligent orchestration platform for DevSecOps",{"text":206,"config":207},"Explore our Platform",{"href":208,"dataGaName":199,"dataGaLocation":179},"/platform/",{"title":210,"description":211,"link":212},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":213,"config":214},"Meet GitLab Duo",{"href":215,"dataGaName":216,"dataGaLocation":179},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":218,"description":219,"link":220},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":221,"config":222},"Learn more",{"href":223,"dataGaName":224,"dataGaLocation":179},"/why-gitlab/","why gitlab",{"text":226,"left":160,"config":227,"menu":229},"Product",{"dataNavLevelOne":228},"solutions",{"type":230,"link":231,"columns":235,"feature":302},"lists",{"text":232,"config":233},"View all Solutions",{"href":234,"dataGaName":228,"dataGaLocation":179},"/solutions/",[236,258,281],{"title":237,"description":238,"link":239,"items":244},"Automation","CI/CD and automation to accelerate deployment",{"config":240},{"icon":241,"href":242,"dataGaName":243,"dataGaLocation":179},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[245,248,251,254],{"text":246,"config":247},"CI/CD",{"href":66,"dataGaLocation":179,"dataGaName":246},{"text":210,"config":249},{"href":215,"dataGaLocation":179,"dataGaName":250},"gitlab duo agent platform - product menu",{"text":252,"config":253},"Source Code Management",{"href":61,"dataGaLocation":179,"dataGaName":252},{"text":255,"config":256},"Automated Software Delivery",{"href":242,"dataGaLocation":179,"dataGaName":257},"Automated software delivery",{"title":259,"description":260,"link":261,"items":266},"Security","Deliver code faster without compromising security",{"config":262},{"href":263,"dataGaName":264,"dataGaLocation":179,"icon":265},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[267,271,276],{"text":268,"config":269},"Application Security Testing",{"href":263,"dataGaName":270,"dataGaLocation":179},"Application security testing",{"text":272,"config":273},"Software Supply Chain Security",{"href":274,"dataGaLocation":179,"dataGaName":275},"/solutions/supply-chain/","Software supply chain security",{"text":277,"config":278},"Software Compliance",{"href":279,"dataGaName":280,"dataGaLocation":179},"/solutions/software-compliance/","software compliance",{"title":282,"link":283,"items":288},"Measurement",{"config":284},{"icon":285,"href":286,"dataGaName":287,"dataGaLocation":179},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[289,293,297],{"text":290,"config":291},"Visibility & Measurement",{"href":286,"dataGaLocation":179,"dataGaName":292},"Visibility and Measurement",{"text":294,"config":295},"Value Stream Management",{"href":296,"dataGaLocation":179,"dataGaName":294},"/solutions/value-stream-management/",{"text":298,"config":299},"Analytics & Insights",{"href":300,"dataGaLocation":179,"dataGaName":301},"/solutions/analytics-and-insights/","Analytics and insights",{"title":303,"type":230,"items":304},"GitLab for",[305,311,317],{"text":306,"config":307},"Enterprise",{"icon":308,"href":309,"dataGaLocation":179,"dataGaName":310},"Building","/enterprise/","enterprise",{"text":312,"config":313},"Small Business",{"icon":314,"href":315,"dataGaLocation":179,"dataGaName":316},"Work","/small-business/","small business",{"text":318,"config":319},"Public Sector",{"icon":320,"href":321,"dataGaLocation":179,"dataGaName":322},"Organization","/solutions/public-sector/","public sector",{"text":324,"config":325},"Pricing",{"href":326,"dataGaName":327,"dataGaLocation":179,"dataNavLevelOne":327},"/pricing/","pricing",{"text":329,"config":330,"menu":332},"Resources",{"dataNavLevelOne":331},"resources",{"type":230,"link":333,"columns":337,"feature":430},{"text":334,"config":335},"View all resources",{"href":336,"dataGaName":331,"dataGaLocation":179},"/resources/",[338,371,398],{"title":339,"items":340},"Getting started",[341,346,351,356,361,366],{"text":342,"config":343},"Install",{"href":344,"dataGaName":345,"dataGaLocation":179},"/install/","install",{"text":347,"config":348},"Quick start guides",{"href":349,"dataGaName":350,"dataGaLocation":179},"/get-started/","quick setup checklists",{"text":352,"config":353},"Learn",{"href":354,"dataGaLocation":179,"dataGaName":355},"https://university.gitlab.com/","learn",{"text":357,"config":358},"Product documentation",{"href":359,"dataGaName":360,"dataGaLocation":179},"https://docs.gitlab.com/","product documentation",{"text":362,"config":363},"Best practice videos",{"href":364,"dataGaName":365,"dataGaLocation":179},"/getting-started-videos/","best practice videos",{"text":367,"config":368},"Integrations",{"href":369,"dataGaName":370,"dataGaLocation":179},"/integrations/","integrations",{"title":372,"items":373},"Discover",[374,379,384,389,393],{"text":375,"config":376},"Customer success stories",{"href":377,"dataGaName":378,"dataGaLocation":179},"/customers/","customer success stories",{"text":380,"config":381},"Blog",{"href":382,"dataGaName":383,"dataGaLocation":179},"/blog/","blog",{"text":385,"config":386},"Demo Hub",{"href":387,"dataGaName":388,"dataGaLocation":179},"/demo-hub/","demo hub",{"text":390,"config":391},"The Source",{"href":392,"dataGaName":383,"dataGaLocation":179},"/the-source/",{"text":394,"config":395},"Remote",{"href":396,"dataGaName":397,"dataGaLocation":179},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":399,"items":400},"Connect",[401,406,411,415,420,425],{"text":402,"config":403},"GitLab Services",{"href":404,"dataGaName":405,"dataGaLocation":179},"/services/","services",{"text":407,"config":408},"Contribute",{"href":409,"dataGaName":410,"dataGaLocation":179},"https://contributors.gitlab.com","contribute",{"text":412,"config":413},"Community",{"href":414,"dataGaName":170,"dataGaLocation":179},"/community/",{"text":416,"config":417},"Forum",{"href":418,"dataGaName":419,"dataGaLocation":179},"https://forum.gitlab.com/","forum",{"text":421,"config":422},"Events",{"href":423,"dataGaName":424,"dataGaLocation":179},"/events/","events",{"text":426,"config":427},"Partners",{"href":428,"dataGaName":429,"dataGaLocation":179},"/partners/","partners",{"config":431,"title":434,"text":435,"link":436},{"background":432,"textColor":433},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","What’s new in GitLab","Stay updated with our latest features and improvements.",{"text":437,"config":438},"Read the latest",{"href":439,"dataGaName":440,"dataGaLocation":179},"/whats-new/","whats new",{"text":442,"config":443,"menu":445},"Company",{"dataNavLevelOne":444},"company",{"type":230,"columns":446},[447],{"items":448},[449,454,460,462,467,472,477,482,487,492],{"text":450,"config":451},"About",{"href":452,"dataGaName":453,"dataGaLocation":179},"/company/","about",{"text":455,"config":456,"footerGa":459},"Jobs",{"href":457,"dataGaName":458,"dataGaLocation":179},"/jobs/","jobs",{"dataGaName":458},{"text":421,"config":461},{"href":423,"dataGaName":424,"dataGaLocation":179},{"text":463,"config":464},"Leadership",{"href":465,"dataGaName":466,"dataGaLocation":179},"/company/team/e-group/","leadership",{"text":468,"config":469},"Handbook",{"href":470,"dataGaName":471,"dataGaLocation":179},"https://handbook.gitlab.com/","handbook",{"text":473,"config":474},"Investor relations",{"href":475,"dataGaName":476,"dataGaLocation":179},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":478,"config":479},"Trust Center",{"href":480,"dataGaName":481,"dataGaLocation":179},"/security/","trust center",{"text":483,"config":484},"AI Transparency Center",{"href":485,"dataGaName":486,"dataGaLocation":179},"/ai-transparency-center/","ai transparency center",{"text":488,"config":489},"Newsletter",{"href":490,"dataGaName":491,"dataGaLocation":179},"/company/contact/#contact-forms","newsletter",{"text":493,"config":494},"Press",{"href":495,"dataGaName":496,"dataGaLocation":179},"/press/","press",{"text":498,"config":499,"menu":500},"Contact us",{"dataNavLevelOne":444},{"type":230,"columns":501},[502],{"items":503},[504,509,514],{"text":505,"config":506},"Talk to sales",{"href":507,"dataGaName":508,"dataGaLocation":179},"/sales/","talk to sales",{"text":510,"config":511},"Support portal",{"href":512,"dataGaName":513,"dataGaLocation":179},"https://support.gitlab.com/hc/en-us","support portal",{"text":515,"config":516},"Customer portal",{"href":517,"dataGaName":518,"dataGaLocation":179},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":520,"login":521,"suggestions":528},"Close",{"text":522,"link":523},"To search repositories and projects, login to",{"text":524,"config":525},"gitlab.com",{"href":193,"dataGaName":526,"dataGaLocation":527},"search login","search",{"text":529,"default":530},"Suggestions",[531,533,537,539,543,547],{"text":210,"config":532},{"href":215,"dataGaName":210,"dataGaLocation":527},{"text":534,"config":535},"Code Suggestions (AI)",{"href":536,"dataGaName":534,"dataGaLocation":527},"/solutions/code-suggestions/",{"text":246,"config":538},{"href":66,"dataGaName":246,"dataGaLocation":527},{"text":540,"config":541},"GitLab on AWS",{"href":542,"dataGaName":540,"dataGaLocation":527},"/partners/technology-partners/aws/",{"text":544,"config":545},"GitLab on Google Cloud",{"href":546,"dataGaName":544,"dataGaLocation":527},"/partners/technology-partners/google-cloud-platform/",{"text":548,"config":549},"Why GitLab?",{"href":223,"dataGaName":548,"dataGaLocation":527},{"freeTrial":551,"mobileIcon":556,"desktopIcon":561,"secondaryButton":564},{"text":552,"config":553},"Start free trial",{"href":554,"dataGaName":184,"dataGaLocation":555},"https://gitlab.com/-/trials/new/","nav",{"altText":557,"config":558},"Gitlab Icon",{"src":559,"dataGaName":560,"dataGaLocation":555},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":557,"config":562},{"src":563,"dataGaName":560,"dataGaLocation":555},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":565,"config":566},"Get Started",{"href":567,"dataGaName":568,"dataGaLocation":555},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":570,"mobileIcon":574,"desktopIcon":576},{"text":571,"config":572},"Learn more about GitLab Duo",{"href":215,"dataGaName":573,"dataGaLocation":555},"gitlab duo",{"altText":557,"config":575},{"src":559,"dataGaName":560,"dataGaLocation":555},{"altText":557,"config":577},{"src":563,"dataGaName":560,"dataGaLocation":555},{"button":579,"mobileIcon":584,"desktopIcon":586},{"text":580,"config":581},"/switch",{"href":582,"dataGaName":583,"dataGaLocation":555},"#contact","switch",{"altText":557,"config":585},{"src":559,"dataGaName":560,"dataGaLocation":555},{"altText":557,"config":587},{"src":588,"dataGaName":560,"dataGaLocation":555},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":590,"mobileIcon":595,"desktopIcon":597},{"text":591,"config":592},"Back to pricing",{"href":326,"dataGaName":593,"dataGaLocation":555,"icon":594},"back to pricing","GoBack",{"altText":557,"config":596},{"src":559,"dataGaName":560,"dataGaLocation":555},{"altText":557,"config":598},{"src":563,"dataGaName":560,"dataGaLocation":555},{"title":600,"titleMobile":601,"button":602,"config":607},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":221,"config":603},{"href":604,"dataGaName":605,"dataGaLocation":606},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":608,"disabled":157},"release",{"data":610},{"text":611,"source":612,"edit":618,"contribute":623,"config":628,"items":633,"minimal":839},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":613,"config":614},"View page source",{"href":615,"dataGaName":616,"dataGaLocation":617},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":619,"config":620},"Edit this page",{"href":621,"dataGaName":622,"dataGaLocation":617},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":624,"config":625},"Please contribute",{"href":626,"dataGaName":627,"dataGaLocation":617},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":629,"facebook":630,"youtube":631,"linkedin":632},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[634,681,733,775,807],{"title":324,"links":635,"subMenu":650},[636,640,645],{"text":637,"config":638},"View plans",{"href":326,"dataGaName":639,"dataGaLocation":617},"view plans",{"text":641,"config":642},"Why Premium?",{"href":643,"dataGaName":644,"dataGaLocation":617},"/pricing/premium/","why premium",{"text":646,"config":647},"Why Ultimate?",{"href":648,"dataGaName":649,"dataGaLocation":617},"/pricing/ultimate/","why ultimate",[651],{"title":652,"links":653},"Contact Us",[654,657,659,661,666,671,676],{"text":655,"config":656},"Contact sales",{"href":507,"dataGaName":189,"dataGaLocation":617},{"text":510,"config":658},{"href":512,"dataGaName":513,"dataGaLocation":617},{"text":515,"config":660},{"href":517,"dataGaName":518,"dataGaLocation":617},{"text":662,"config":663},"Status",{"href":664,"dataGaName":665,"dataGaLocation":617},"https://status.gitlab.com/","status",{"text":667,"config":668},"Terms of use",{"href":669,"dataGaName":670,"dataGaLocation":617},"/terms/","terms of use",{"text":672,"config":673},"Privacy statement",{"href":674,"dataGaName":675,"dataGaLocation":617},"/privacy/","privacy statement",{"text":677,"config":678},"Cookie preferences",{"dataGaName":679,"dataGaLocation":617,"id":680,"isOneTrustButton":160},"cookie preferences","ot-sdk-btn",{"title":226,"links":682,"subMenu":691},[683,687],{"text":684,"config":685},"DevSecOps platform",{"href":208,"dataGaName":686,"dataGaLocation":617},"devsecops platform",{"text":688,"config":689},"AI-Assisted Development",{"href":215,"dataGaName":690,"dataGaLocation":617},"ai-assisted development",[692],{"title":693,"links":694},"Topics",[695,700,705,709,714,718,723,728],{"text":696,"config":697},"CICD",{"href":698,"dataGaName":699,"dataGaLocation":617},"/topics/ci-cd/","cicd",{"text":701,"config":702},"GitOps",{"href":703,"dataGaName":704,"dataGaLocation":617},"/topics/gitops/","gitops",{"text":169,"config":706},{"href":707,"dataGaName":708,"dataGaLocation":617},"/topics/devops/","devops",{"text":710,"config":711},"Version Control",{"href":712,"dataGaName":713,"dataGaLocation":617},"/topics/version-control/","version control",{"text":715,"config":716},"DevSecOps",{"href":717,"dataGaName":152,"dataGaLocation":617},"/topics/devsecops/",{"text":719,"config":720},"Cloud Native",{"href":721,"dataGaName":722,"dataGaLocation":617},"/topics/cloud-native/","cloud native",{"text":724,"config":725},"AI for Coding",{"href":726,"dataGaName":727,"dataGaLocation":617},"/topics/devops/ai-for-coding/","ai for coding",{"text":729,"config":730},"Agentic AI",{"href":731,"dataGaName":732,"dataGaLocation":617},"/topics/agentic-ai/","agentic ai",{"title":734,"links":735},"Solutions",[736,738,740,745,748,751,755,758,760,763,766,770],{"text":268,"config":737},{"href":263,"dataGaName":268,"dataGaLocation":617},{"text":257,"config":739},{"href":242,"dataGaName":243,"dataGaLocation":617},{"text":741,"config":742},"Agile development",{"href":743,"dataGaName":744,"dataGaLocation":617},"/solutions/agile-delivery/","agile delivery",{"text":746,"config":747},"SCM",{"href":61,"dataGaName":62,"dataGaLocation":617},{"text":696,"config":749},{"href":66,"dataGaName":750,"dataGaLocation":617},"continuous integration & delivery",{"text":752,"config":753},"Value stream management",{"href":296,"dataGaName":754,"dataGaLocation":617},"value stream management",{"text":701,"config":756},{"href":757,"dataGaName":704,"dataGaLocation":617},"/solutions/gitops/",{"text":306,"config":759},{"href":309,"dataGaName":310,"dataGaLocation":617},{"text":761,"config":762},"Small business",{"href":315,"dataGaName":316,"dataGaLocation":617},{"text":764,"config":765},"Public sector",{"href":321,"dataGaName":322,"dataGaLocation":617},{"text":767,"config":768},"Education",{"href":115,"dataGaName":769,"dataGaLocation":617},"education",{"text":771,"config":772},"Financial services",{"href":773,"dataGaName":774,"dataGaLocation":617},"/solutions/finance/","financial services",{"title":329,"links":776},[777,779,781,783,786,788,791,793,795,797,799,801,803,805],{"text":342,"config":778},{"href":344,"dataGaName":345,"dataGaLocation":617},{"text":347,"config":780},{"href":349,"dataGaName":350,"dataGaLocation":617},{"text":352,"config":782},{"href":354,"dataGaName":355,"dataGaLocation":617},{"text":357,"config":784},{"href":359,"dataGaName":785,"dataGaLocation":617},"docs",{"text":380,"config":787},{"href":382,"dataGaName":383,"dataGaLocation":617},{"text":789,"config":790},"What's new",{"href":439,"dataGaName":440,"dataGaLocation":617},{"text":375,"config":792},{"href":377,"dataGaName":378,"dataGaLocation":617},{"text":394,"config":794},{"href":396,"dataGaName":397,"dataGaLocation":617},{"text":402,"config":796},{"href":404,"dataGaName":405,"dataGaLocation":617},{"text":407,"config":798},{"href":409,"dataGaName":410,"dataGaLocation":617},{"text":412,"config":800},{"href":414,"dataGaName":170,"dataGaLocation":617},{"text":416,"config":802},{"href":418,"dataGaName":419,"dataGaLocation":617},{"text":421,"config":804},{"href":423,"dataGaName":424,"dataGaLocation":617},{"text":426,"config":806},{"href":428,"dataGaName":429,"dataGaLocation":617},{"title":442,"links":808},[809,811,813,815,817,819,823,828,830,832,834],{"text":450,"config":810},{"href":452,"dataGaName":444,"dataGaLocation":617},{"text":455,"config":812},{"href":457,"dataGaName":458,"dataGaLocation":617},{"text":463,"config":814},{"href":465,"dataGaName":466,"dataGaLocation":617},{"text":468,"config":816},{"href":470,"dataGaName":471,"dataGaLocation":617},{"text":473,"config":818},{"href":475,"dataGaName":476,"dataGaLocation":617},{"text":820,"config":821},"Sustainability",{"href":822,"dataGaName":820,"dataGaLocation":617},"/sustainability/",{"text":824,"config":825},"Diversity, inclusion and belonging (DIB)",{"href":826,"dataGaName":827,"dataGaLocation":617},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":478,"config":829},{"href":480,"dataGaName":481,"dataGaLocation":617},{"text":488,"config":831},{"href":490,"dataGaName":491,"dataGaLocation":617},{"text":493,"config":833},{"href":495,"dataGaName":496,"dataGaLocation":617},{"text":835,"config":836},"Modern Slavery Transparency Statement",{"href":837,"dataGaName":838,"dataGaLocation":617},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":840},[841,844,847],{"text":842,"config":843},"Terms",{"href":669,"dataGaName":670,"dataGaLocation":617},{"text":845,"config":846},"Cookies",{"dataGaName":679,"dataGaLocation":617,"id":680,"isOneTrustButton":160},{"text":848,"config":849},"Privacy",{"href":674,"dataGaName":675,"dataGaLocation":617},[851],{"id":852,"title":853,"body":156,"config":854,"content":856,"description":156,"extension":859,"meta":860,"navigation":160,"path":861,"seo":862,"stem":863,"__hash__":864},"blogAuthors/en-us/blog/authors/christina-hupy-phd.yml","Christina Hupy Phd",{"template":855},"BlogAuthor",{"name":7,"config":857},{"headshot":145,"ctfId":858},"chupy","yml",{},"/en-us/blog/authors/christina-hupy-phd",{},"en-us/blog/authors/christina-hupy-phd","vj58U3XnXzhuPozZyW8AvxsQMmDMX8Y1JZa3TSc7wOQ",[866,874,882],{"title":867,"description":868,"heroImage":869,"category":152,"date":870,"authors":871,"slug":873,"externalUrl":156},"Consolidate your GitLab stack with Gitaly on Kubernetes","Discover how to install Gitaly on Kubernetes, which is now generally available.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756500636/wmey6kqzzuhirk88w2de.png","2026-05-07",[872],"Olivier Campeau","gitaly-on-kubernetes-generally-available",{"title":875,"description":876,"heroImage":877,"category":152,"date":878,"authors":879,"slug":881,"externalUrl":156},"Teaching software development the easy way using GitLab","Learn how University of Washington lecturer Stephen G. Dame uses GitLab for Education to manage student assignments, distribute course materials, and provide inline code feedback at scale.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659537/Blog/Hero%20Images/display-article-image-0679-1800x945-fy26.png","2026-04-29",[880],"Rod Burns","teaching-software-development-the-easy-way-using-gitlab",{"title":883,"description":884,"heroImage":885,"category":152,"date":886,"authors":887,"slug":889,"externalUrl":156},"AI is reshaping DevSecOps: Attend GitLab Transcend to see what’s next","AI-generated code is 34% of development work. Discover how to balance productivity gains with quality, reliability, and security.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1767982271/e9ogyosmuummq7j65zqg.png","2026-01-08",[888],"Manav Khurana","ai-is-reshaping-devsecops-attend-gitlab-transcend-to-see-whats-next",{"promotions":891},[892,906,918,930],{"id":893,"categories":894,"header":896,"text":897,"button":898,"image":903},"ai-modernization",[895],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":899,"config":900},"Get your AI maturity score",{"href":901,"dataGaName":902,"dataGaLocation":383},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":904},{"src":905},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":907,"categories":908,"header":910,"text":897,"button":911,"image":915},"devops-modernization",[909,152],"product","Are you just managing tools or shipping innovation?",{"text":912,"config":913},"Get your DevOps maturity score",{"href":914,"dataGaName":902,"dataGaLocation":383},"/assessments/devops-modernization-assessment/",{"config":916},{"src":917},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":919,"categories":920,"header":922,"text":897,"button":923,"image":927},"security-modernization",[921],"security","Are you trading speed for security?",{"text":924,"config":925},"Get your security maturity score",{"href":926,"dataGaName":902,"dataGaLocation":383},"/assessments/security-modernization-assessment/",{"config":928},{"src":929},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":931,"paths":932,"header":935,"text":936,"button":937,"image":942},"github-azure-migration",[933,934],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","Is your team ready for GitHub's Azure move?","GitHub is already rebuilding around Azure. Find out what it means for you.",{"text":938,"config":939},"See how GitLab compares to GitHub",{"href":940,"dataGaName":941,"dataGaLocation":383},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":943},{"src":917},{"header":945,"blurb":946,"button":947,"secondaryButton":952},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":948,"config":949},"Get your free trial",{"href":950,"dataGaName":184,"dataGaLocation":951},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":655,"config":953},{"href":507,"dataGaName":189,"dataGaLocation":951},1786803748906]