[{"data":1,"prerenderedAt":991},["ShallowReactive",2],{"/en-us/topics/devops/devops-test-automation":3,"navigation-en-us":193,"banner-en-us":618,"footer-en-us":635,"next-steps-en-us":876,"footer-source-/en-us/topics/devops/devops-test-automation/":891},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":8,"content":11,"_id":187,"_type":188,"title":7,"_source":189,"_file":190,"_stem":191,"_extension":192},"/en-us/topics/devops/devops-test-automation","devops",false,"",{"title":9,"ogTitle":9,"description":10,"ogDescription":10},"DevOps test automation","DevOps test automation improves speed, reliability, and software quality. Learn its stages, benefits, and best practices.",[12,25,31,128,150,185],{"type":13,"componentName":13,"componentContent":14},"CommonBreadcrumbs",{"crumbs":15},[16,20,24],{"title":17,"config":18},"Topics",{"href":19},"/topics/",{"title":21,"config":22},"DevOps",{"href":23},"/topics/devops/",{"title":9},{"type":26,"componentName":26,"componentContent":27},"CommonArticleHero",{"title":9,"text":28,"config":29},"By automating software testing, organizations can remove redundancy, create a more unified approach among teams, and facilitate more efficient development.\n",{"id":30,"twoColumns":6},"devops-test-automation",{"type":32,"componentName":32,"componentContent":33},"CommonSideNavigationWithTree",{"anchors":34,"components":73},{"text":35,"data":36},"On this page",[37,41,45,49,53,57,61,65,69],{"text":38,"config":39},"What is DevOps test automation?",{"href":40},"#what-is-dev-ops-test-automation",{"text":42,"config":43},"The importance of test automation",{"href":44},"#the-importance-of-test-automation",{"text":46,"config":47},"Test automation stages",{"href":48},"#test-automation-stages",{"text":50,"config":51},"Automated testing in DevOps",{"href":52},"#automated-testing-in-dev-ops",{"text":54,"config":55},"The benefits of automated testing",{"href":56},"#the-benefits-of-automated-testing",{"text":58,"config":59},"How much test automation is too much?",{"href":60},"#how-much-test-automation-is-too-much",{"text":62,"config":63},"Getting started with automated testing",{"href":64},"#getting-started-with-automated-testing",{"text":66,"config":67},"Best practices for test automation",{"href":68},"#best-practices-for-test-automation",{"text":70,"config":71},"Conclusion",{"href":72},"#conclusion",[74,80,85,90,95,100,105,110,115,120],{"type":75,"componentName":75,"componentContent":76},"TopicsCopy",{"header":38,"text":77,"config":78},"DevOps test automation is the use of automated tests within DevOps workflows to validate software quality, accelerate delivery, and reduce human error.\n\nSoftware testing is a vital process in the development of software. However, manual testing processes create considerable difficulty in collaborating and communicating feedback for DevOps and quality assurance (QA) teams, resulting in slower release cycles. \n\nTest automation, or automated QA testing, involves automatically reviewing, validating, and analyzing a software product and using the results from these assessments to improve software quality — ensuring more consistent and unified code and optimizing product functionality and user experience. Plus, it makes for happier developers.\n\nBy embracing DevOps practices and cultivating a DevOps culture, organizations enable a seamless flow from development to production, enhancing both code quality and the overall software delivery process.",{"id":79},"what-is-dev-ops-test-automation",{"type":75,"componentName":75,"componentContent":81},{"header":42,"text":82,"config":83},"Test automation is important because it improves speed, reliability, and consistency in testing, helping DevOps and QA teams deliver higher-quality software faster.\n\nContinuous testing and test automation increase the reliability, consistency, and efficiency of both the development team and the final product. This makes it easier for DevOps and QA teams to remain on schedule without sacrificing crucial debugging and troubleshooting processes.\n\nAdditionally, test automation is faster and more effective than manual tests. It reduces the potential for costly human error and eliminates communication barriers among team members, saving time and money.\n\nTest automation also offers new modes of flexibility, meaning development teams can reuse their test scripts for any related testing suites. Thanks to the automation environment, they don’t have to worry about breaking the code or creating new scripts for each test case.\n",{"id":84},"the-importance-of-test-automation",{"type":75,"componentName":75,"componentContent":86},{"header":46,"text":87,"config":88},"The stages of test automation follow the test pyramid, beginning with unit testing and progressing through integration, regression, end-to-end, and exploratory testing.\n\nTest automation contains several key automation concepts you should follow to ensure quality software testing. These test automation frameworks appear in stages, following the test pyramid hierarchy.\n\n### Unit testing\nUnit testing involves isolating your application into units and then testing the behavior of each as a function independent from external parties, databases, or configurations. Unit testing often occurs during the build period and is considered the first layer of testing.\n\n### Integration testing\nIntegration testing evaluates how several units are logically integrated, and how this affects the system functionality without unintended errors in the integration process. The main purpose of integration testing is to test the compliance of a system by verifying how disparate modules work together.\n\n### Regression testing\nRegression testing ensures that bug fixes or other changes have not adversely affected existing functionality. Automating regression tests allows developers to quickly and efficiently identify and fix any issues that may have been introduced by code changes, ensuring that the software remains reliable and bug-free.\n\n### End-to-end testing\nAn end-to-end testing framework tests the functionality and performance of the application by simulating the user’s expectations and needs from start to finish. The end goal isn’t just to ensure the application validates and checks all the user’s needs, but to ensure it operates and behaves at least as well as expected.\n\n### Exploratory testing\nExploratory testing is a more sophisticated software testing strategy that involves parallel learning, testing, and reviewing various functional and visual components from the user’s perspective.\n",{"id":89},"test-automation-stages",{"type":75,"componentName":75,"componentContent":91},{"header":50,"text":92,"config":93},"Automated testing is a core part of DevOps because it enables continuous testing in CI/CD pipelines, ensuring fast feedback and frequent, reliable releases.\n\nDevOps involves the software development workflows that accelerate the build, test, configuration, deployment, and release of software products. This approach helps teams build applications much faster. Because continuous testing is an integral part of continuous integration and continuous delivery (CI/CD) practices, adopting automated testing makes CI/CD more efficient and enables teams to release software more frequently.\n\nQuality assurance engineers should focus on developing automated integration and end-to-end tests while developers perform unit tests for each block of code they build. These tests should be executed early enough in the DevOps CI/CD pipeline to ensure each component works as expected. \n\nAdditionally, product managers should perform functional testing (e.g., the black-box method) to ensure the optimal user experience.\n",{"id":94},"automated-testing-in-dev-ops",{"type":75,"componentName":75,"componentContent":96},{"header":54,"text":97,"config":98},"Adopting automated testing is a cornerstone of modern DevOps and DevSecOps practices, enabling teams to deliver software faster, with fewer errors, and with greater confidence. \n\nBy automating repetitive, manual testing processes, organizations can accelerate release cycles, improve collaboration across teams, and ensure consistent product quality from development through deployment.\n\nAutomated testing provides a range of strategic advantages that go beyond speed and efficiency, it strengthens communication, scalability, customer trust, and incident response across the entire software lifecycle.\n\n### Key Benefits of Automated Testing\n\n#### Strengthened collaboration between development and QA teams\n\nAutomation bridges the traditional gap between developers and quality assurance architects. By running continuous, automated test suites throughout the pipeline, both teams gain real-time visibility into code quality and test results. This fosters a shared responsibility for software performance and security, streamlining collaboration and improving overall lifecycle efficiency.\n\n#### Simplified scaling across decentralized and cross-functional teams\n\nAs development squads grow or operate across different locations, maintaining consistent testing standards becomes critical. Automated testing supports scalability by providing uniform test coverage and repeatable processes across all environments, ensuring that quality remains consistent regardless of team structure or project complexity.\n\n#### Enhanced customer satisfaction through faster, more reliable releases\n\nAutomation accelerates release cycles by enabling continuous testing and deployment. With fewer bottlenecks and quicker validation of new features, customers receive faster updates and bug fixes. This responsiveness not only improves satisfaction but also builds loyalty and brand reputation through reliable, high-performing software.\n\n#### Easier and more proactive incident management\n\nAutomated testing plays a crucial role in early detection of vulnerabilities and performance issues. DevSecOps teams can identify, isolate, and resolve incidents quickly before they escalate into larger problems. Automated test frameworks can also simulate real-world threat scenarios, improving resilience and enabling faster recovery from incidents.\n",{"id":99},"the-benefits-of-automated-testing",{"type":75,"componentName":75,"componentContent":101},{"header":58,"text":102,"config":103},"While test automation is a powerful way to accelerate software delivery and improve quality, it’s not a “set it and forget it” solution. Like any tool, automation must be implemented strategically — too much of it, or automation in the wrong places, can actually slow teams down and increase maintenance overhead.\n\nTo get the most value from automated testing, organizations must strike the right balance between automation and manual validation. The goal isn’t to automate everything, but to automate what adds measurable value to your testing process. \n\nBefore expanding your automation efforts, ask yourself these key questions to ensure each test supports efficiency, insight, and quality improvement:\n\n### Are you connecting too many different tools to your project? \n\nLinking together too many tools can make it difficult to set up and maintain automation. Take some time to determine which tools make the most sense for each part of the process, or consolidate tools before you start implement automation.\n\n### Can automation effectively measure what you’re testing for? \n\nFor example, user experience tests require a human user to respond and provide feedback, so automating these tests won’t add value.\n\n### Does the test add value? \n\nEven if automating a test would make it more efficient, that doesn’t matter if the test is useless. Automation should be a means to an end, not a goal in and of itself.\n\nRemember, automated testing doesn’t eliminate the need for manual testing. Retaining a manual step or two where automation doesn’t add value will save your team time in the long run.\n",{"id":104},"how-much-test-automation-is-too-much",{"type":75,"componentName":75,"componentContent":106},{"header":62,"text":107,"config":108},"Implementing automated testing effectively requires more than choosing the right tools — it demands alignment across your entire development lifecycle. The goal is to integrate automation strategically within your DevOps CI/CD pipelines to maximize speed, consistency, and reliability without disrupting existing workflows.\n\nBefore scaling your automation efforts, it’s important to assess where automation can create the most value. Factors such as release frequency, tool accessibility, and CI/CD environment readiness will determine how smoothly automation can be introduced and maintained. \n\nBy understanding these components, teams can build a testing strategy that accelerates releases, strengthens quality assurance, and supports continuous delivery.\n\n### Release frequency\n\nIf the frequency of software release takes several days, your development team should adopt test automation in their DevOps CI/CD pipelines to accelerate the build, deployment, and release. Unit tests should be performed throughout the development phase along with end-to-end testing. \n\nAs the application grows throughout the build process, integration testing is performed to ensure all dependent third-party applications work as expected. This ensures 100% test coverage, speeding software release to production and the market.\n\n### Testing tool accessibility\n\nNot all test automation tools work the same way. A test automation architect should identify which features work best for the organization. Reliability, frequency of maintenance, efficiency in test creation, and CI/CD integration with your current stack are some features to look for in a test automation tool. \n\nThe ease of use and learning curve across your team members are also important. The more accessible the tool, the more smoothly your organization can kick start the automation process.\n\n### CI/CD pipeline and data testing\n\nUnderstanding your CI/CD environments is very important when deciding at which point you want to incorporate test automation. To achieve a useful testing environment, it’s crucial to have a strong testing infrastructure. \n\nArrive at a consensus with team members on which strategy works best and for which scenarios. For example, an infrastructure for providing temporary test environments early can rapidly improve the feedback and review process.\n",{"id":109},"getting-started-with-automated-testing",{"type":75,"componentName":75,"componentContent":111},{"header":66,"text":112,"config":113},"To get the most out of test automation, teams need a clear strategy that balances speed, quality, and coverage. \n\nSuccessful automation isn’t about testing everything, it’s about testing the right things at the right time. By focusing on high-impact areas, selecting the right frameworks, and maintaining consistent test reporting, organizations can maximize efficiency while minimizing risk.\n\nImplementing automation best practices helps DevOps teams shift testing left in the software development lifecycle, enabling faster feedback, higher-quality releases, and greater confidence in production performance. \n\nWhether you’re just beginning or optimizing an existing testing strategy, the following best practices will help ensure your automation efforts deliver lasting results.\n\n* Decide which tests to automate. Organizations shouldn’t aim for 100% automation. Instead, determine which areas of your testing process will benefit the most from automated testing.\n\n* Pick the right test automation framework for your organization’s capability and application complexity.\n\n* Testing shouldn’t take days or weeks. By using test automation, you should aim to test frequently and early to reduce production errors and improve customer satisfaction.\n\n* DevOps teams should prioritize comprehensive and quality test reporting.\n",{"id":114},"best-practices-for-test-auromation",{"type":75,"componentName":75,"componentContent":116},{"header":70,"text":117,"config":118},"The integration of automation efforts into the DevOps lifecycle not only streamlines the development environment but also propels the software development process towards more efficient and error-free outcomes. The strategic application of testing practices, underpinned by a robust automation strategy, ensures rigorous vetting of each code piece before integration.\n\nThis promotes an environment where releases to production are both rapid and reliable.\n",{"id":119},"conclusion",{"type":121,"componentName":121,"componentContent":122},"TopicsCallToAction",{"subtitle":123,"primaryButton":124},"Automate testing with GitLab CI/CD",{"text":125,"config":126},"Learn more about GitLab CI/CD",{"href":127},"/solutions/continuous-integration/",{"type":129,"componentName":129,"componentContent":130},"CommonFaq",{"header":131,"groups":132},"Frequently Asked Questions",[133],{"questions":134},[135,138,141,144,147],{"question":136,"answer":137},"What is DevOps test automation and how does it improve software development?","DevOps test automation involves automatically reviewing, validating, and analyzing software products to improve quality and optimize functionality. It removes redundancy, creates unified approaches among teams, and facilitates more efficient development by eliminating manual testing difficulties that slow release cycles and create communication barriers.",{"question":139,"answer":140},"What are the five key stages of test automation in the testing pyramid?","The five stages are unit testing that isolates applications into independent functions, integration testing that evaluates how modules work together logically, regression testing that ensures changes don't adversely affect existing functionality, end-to-end testing that simulates complete user experiences from start to finish, and exploratory testing that involves parallel learning and reviewing from user perspective.",{"question":142,"answer":143},"How does test automation integrate with DevOps CI/CD pipelines?","Test automation makes CI/CD more efficient by enabling teams to release software more frequently through continuous testing. Quality assurance engineers develop automated integration and end-to-end tests while developers perform unit tests for each code block, executing early enough in pipelines to ensure each component works as expected.",{"question":145,"answer":146},"What DevOps testing tools and features should organizations consider for automation?","DevOps testing tools should offer reliability, frequency of maintenance, efficiency in test creation, and CI/CD integration with current technology stacks. Test automation architects should identify which features work best for organizational needs. The ease of use and learning curve across team members are important considerations, as more accessible tools enable smoother automation process implementation.",{"question":148,"answer":149},"How much test automation should organizations implement?","Organizations shouldn't aim for 100% automation but should determine which testing areas benefit most from automation. Teams should avoid connecting too many tools, ensure automation can effectively measure what's being tested, and verify tests add value. Manual testing remains necessary where automation doesn't provide value, and teams should be intentional about implementation.",{"type":151,"componentName":151,"componentContent":152},"CommonResourcesContainer",{"header":153,"tabs":154},"More on test automation",[155],{"name":156,"items":157,"config":184},"resources",[158,168,176],{"header":159,"type":160,"image":161,"link":164},"Autoscale GitLab CI/CD runners and save 90% on EC2 costs","Blog",{"altText":159,"config":162},{"src":163},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749159411/Website/Topics/axway-case-study-image.png",{"text":165,"config":166},"Learn more",{"href":167,"icon":160,"modal":6},"/blog/autoscale-ci-runners/",{"header":169,"type":160,"image":170,"link":173},"Auto DevOps 101: How we're making CI/CD easier",{"altText":169,"config":171},{"src":172},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158430/Website/Topics/alteryx_case_study.jpg",{"text":165,"config":174},{"href":175,"icon":160,"modal":6},"/blog/auto-devops-explained/",{"header":177,"type":160,"image":178,"link":181},"How a GitLab engineer changed the future of DevOps",{"altText":177,"config":179},{"src":180},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749158440/Website/Topics/scm-ci-cr.png",{"text":165,"config":182},{"href":183,"icon":160,"modal":6},"/blog/gitlab-hero-devops-platform/",{"key":156},{"type":186,"componentName":186},"CommonNextSteps","content:en-us:topics:devops:devops-test-automation:index.yml","yaml","content","en-us/topics/devops/devops-test-automation/index.yml","en-us/topics/devops/devops-test-automation/index","yml",{"_path":194,"_dir":195,"_draft":6,"_partial":6,"_locale":7,"data":196,"_id":614,"_type":188,"title":615,"_source":189,"_file":616,"_stem":617,"_extension":192},"/shared/en-us/main-navigation","en-us",{"logo":197,"freeTrial":202,"sales":207,"login":212,"items":217,"search":545,"minimal":576,"duo":595,"pricingDeployment":604},{"config":198},{"href":199,"dataGaName":200,"dataGaLocation":201},"/","gitlab logo","header",{"text":203,"config":204},"Get free trial",{"href":205,"dataGaName":206,"dataGaLocation":201},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":208,"config":209},"Talk to sales",{"href":210,"dataGaName":211,"dataGaLocation":201},"/sales/","sales",{"text":213,"config":214},"Sign in",{"href":215,"dataGaName":216,"dataGaLocation":201},"https://gitlab.com/users/sign_in/","sign in",[218,261,357,362,466,526],{"text":219,"config":220,"cards":222,"footer":244},"Platform",{"dataNavLevelOne":221},"platform",[223,229,237],{"title":219,"description":224,"link":225},"The most comprehensive AI-powered DevSecOps Platform",{"text":226,"config":227},"Explore our Platform",{"href":228,"dataGaName":221,"dataGaLocation":201},"/platform/",{"title":230,"description":231,"link":232},"GitLab Duo (AI)","Build software faster with AI at every stage of development",{"text":233,"config":234},"Meet GitLab Duo",{"href":235,"dataGaName":236,"dataGaLocation":201},"/gitlab-duo/","gitlab duo ai",{"title":238,"description":239,"link":240},"Why GitLab","10 reasons why Enterprises choose GitLab",{"text":165,"config":241},{"href":242,"dataGaName":243,"dataGaLocation":201},"/why-gitlab/","why gitlab",{"title":245,"items":246},"Get started with",[247,252,257],{"text":248,"config":249},"Platform Engineering",{"href":250,"dataGaName":251,"dataGaLocation":201},"/solutions/platform-engineering/","platform engineering",{"text":253,"config":254},"Developer Experience",{"href":255,"dataGaName":256,"dataGaLocation":201},"/developer-experience/","Developer experience",{"text":258,"config":259},"MLOps",{"href":260,"dataGaName":258,"dataGaLocation":201},"/topics/devops/the-role-of-ai-in-devops/",{"text":262,"left":263,"config":264,"link":266,"lists":270,"footer":339},"Product",true,{"dataNavLevelOne":265},"solutions",{"text":267,"config":268},"View all Solutions",{"href":269,"dataGaName":265,"dataGaLocation":201},"/solutions/",[271,295,318],{"title":272,"description":273,"link":274,"items":279},"Automation","CI/CD and automation to accelerate deployment",{"config":275},{"icon":276,"href":277,"dataGaName":278,"dataGaLocation":201},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[280,283,287,291],{"text":281,"config":282},"CI/CD",{"href":127,"dataGaLocation":201,"dataGaName":281},{"text":284,"config":285},"AI-Assisted Development",{"href":235,"dataGaLocation":201,"dataGaName":286},"AI assisted development",{"text":288,"config":289},"Source Code Management",{"href":290,"dataGaLocation":201,"dataGaName":288},"/solutions/source-code-management/",{"text":292,"config":293},"Automated Software Delivery",{"href":277,"dataGaLocation":201,"dataGaName":294},"Automated software delivery",{"title":296,"description":297,"link":298,"items":303},"Security","Deliver code faster without compromising security",{"config":299},{"href":300,"dataGaName":301,"dataGaLocation":201,"icon":302},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[304,308,313],{"text":305,"config":306},"Application Security Testing",{"href":300,"dataGaName":307,"dataGaLocation":201},"Application security testing",{"text":309,"config":310},"Software Supply Chain Security",{"href":311,"dataGaLocation":201,"dataGaName":312},"/solutions/supply-chain/","Software supply chain security",{"text":314,"config":315},"Software Compliance",{"href":316,"dataGaName":317,"dataGaLocation":201},"/solutions/software-compliance/","software compliance",{"title":319,"link":320,"items":325},"Measurement",{"config":321},{"icon":322,"href":323,"dataGaName":324,"dataGaLocation":201},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[326,330,334],{"text":327,"config":328},"Visibility & Measurement",{"href":323,"dataGaLocation":201,"dataGaName":329},"Visibility and Measurement",{"text":331,"config":332},"Value Stream Management",{"href":333,"dataGaLocation":201,"dataGaName":331},"/solutions/value-stream-management/",{"text":335,"config":336},"Analytics & Insights",{"href":337,"dataGaLocation":201,"dataGaName":338},"/solutions/analytics-and-insights/","Analytics and insights",{"title":340,"items":341},"GitLab for",[342,347,352],{"text":343,"config":344},"Enterprise",{"href":345,"dataGaLocation":201,"dataGaName":346},"/enterprise/","enterprise",{"text":348,"config":349},"Small Business",{"href":350,"dataGaLocation":201,"dataGaName":351},"/small-business/","small business",{"text":353,"config":354},"Public Sector",{"href":355,"dataGaLocation":201,"dataGaName":356},"/solutions/public-sector/","public sector",{"text":358,"config":359},"Pricing",{"href":360,"dataGaName":361,"dataGaLocation":201,"dataNavLevelOne":361},"/pricing/","pricing",{"text":363,"config":364,"link":365,"lists":369,"feature":453},"Resources",{"dataNavLevelOne":156},{"text":366,"config":367},"View all resources",{"href":368,"dataGaName":156,"dataGaLocation":201},"/resources/",[370,403,425],{"title":371,"items":372},"Getting started",[373,378,383,388,393,398],{"text":374,"config":375},"Install",{"href":376,"dataGaName":377,"dataGaLocation":201},"/install/","install",{"text":379,"config":380},"Quick start guides",{"href":381,"dataGaName":382,"dataGaLocation":201},"/get-started/","quick setup checklists",{"text":384,"config":385},"Learn",{"href":386,"dataGaLocation":201,"dataGaName":387},"https://university.gitlab.com/","learn",{"text":389,"config":390},"Product documentation",{"href":391,"dataGaName":392,"dataGaLocation":201},"https://docs.gitlab.com/","product documentation",{"text":394,"config":395},"Best practice videos",{"href":396,"dataGaName":397,"dataGaLocation":201},"/getting-started-videos/","best practice videos",{"text":399,"config":400},"Integrations",{"href":401,"dataGaName":402,"dataGaLocation":201},"/integrations/","integrations",{"title":404,"items":405},"Discover",[406,411,415,420],{"text":407,"config":408},"Customer success stories",{"href":409,"dataGaName":410,"dataGaLocation":201},"/customers/","customer success stories",{"text":160,"config":412},{"href":413,"dataGaName":414,"dataGaLocation":201},"/blog/","blog",{"text":416,"config":417},"Remote",{"href":418,"dataGaName":419,"dataGaLocation":201},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":421,"config":422},"TeamOps",{"href":423,"dataGaName":424,"dataGaLocation":201},"/teamops/","teamops",{"title":426,"items":427},"Connect",[428,433,438,443,448],{"text":429,"config":430},"GitLab Services",{"href":431,"dataGaName":432,"dataGaLocation":201},"/services/","services",{"text":434,"config":435},"Community",{"href":436,"dataGaName":437,"dataGaLocation":201},"/community/","community",{"text":439,"config":440},"Forum",{"href":441,"dataGaName":442,"dataGaLocation":201},"https://forum.gitlab.com/","forum",{"text":444,"config":445},"Events",{"href":446,"dataGaName":447,"dataGaLocation":201},"/events/","events",{"text":449,"config":450},"Partners",{"href":451,"dataGaName":452,"dataGaLocation":201},"/partners/","partners",{"backgroundColor":454,"textColor":455,"text":456,"image":457,"link":461},"#2f2a6b","#fff","Insights for the future of software development",{"altText":458,"config":459},"the source promo card",{"src":460},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":462,"config":463},"Read the latest",{"href":464,"dataGaName":465,"dataGaLocation":201},"/the-source/","the source",{"text":467,"config":468,"lists":470},"Company",{"dataNavLevelOne":469},"company",[471],{"items":472},[473,478,484,486,491,496,501,506,511,516,521],{"text":474,"config":475},"About",{"href":476,"dataGaName":477,"dataGaLocation":201},"/company/","about",{"text":479,"config":480,"footerGa":483},"Jobs",{"href":481,"dataGaName":482,"dataGaLocation":201},"/jobs/","jobs",{"dataGaName":482},{"text":444,"config":485},{"href":446,"dataGaName":447,"dataGaLocation":201},{"text":487,"config":488},"Leadership",{"href":489,"dataGaName":490,"dataGaLocation":201},"/company/team/e-group/","leadership",{"text":492,"config":493},"Team",{"href":494,"dataGaName":495,"dataGaLocation":201},"/company/team/","team",{"text":497,"config":498},"Handbook",{"href":499,"dataGaName":500,"dataGaLocation":201},"https://handbook.gitlab.com/","handbook",{"text":502,"config":503},"Investor relations",{"href":504,"dataGaName":505,"dataGaLocation":201},"https://ir.gitlab.com/","investor relations",{"text":507,"config":508},"Trust Center",{"href":509,"dataGaName":510,"dataGaLocation":201},"/security/","trust center",{"text":512,"config":513},"AI Transparency Center",{"href":514,"dataGaName":515,"dataGaLocation":201},"/ai-transparency-center/","ai transparency center",{"text":517,"config":518},"Newsletter",{"href":519,"dataGaName":520,"dataGaLocation":201},"/company/contact/","newsletter",{"text":522,"config":523},"Press",{"href":524,"dataGaName":525,"dataGaLocation":201},"/press/","press",{"text":527,"config":528,"lists":529},"Contact us",{"dataNavLevelOne":469},[530],{"items":531},[532,535,540],{"text":208,"config":533},{"href":210,"dataGaName":534,"dataGaLocation":201},"talk to sales",{"text":536,"config":537},"Support portal",{"href":538,"dataGaName":539,"dataGaLocation":201},"https://support.gitlab.com","support portal",{"text":541,"config":542},"Customer portal",{"href":543,"dataGaName":544,"dataGaLocation":201},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":546,"login":547,"suggestions":554},"Close",{"text":548,"link":549},"To search repositories and projects, login to",{"text":550,"config":551},"gitlab.com",{"href":215,"dataGaName":552,"dataGaLocation":553},"search login","search",{"text":555,"default":556},"Suggestions",[557,559,563,565,569,573],{"text":230,"config":558},{"href":235,"dataGaName":230,"dataGaLocation":553},{"text":560,"config":561},"Code Suggestions (AI)",{"href":562,"dataGaName":560,"dataGaLocation":553},"/solutions/code-suggestions/",{"text":281,"config":564},{"href":127,"dataGaName":281,"dataGaLocation":553},{"text":566,"config":567},"GitLab on AWS",{"href":568,"dataGaName":566,"dataGaLocation":553},"/partners/technology-partners/aws/",{"text":570,"config":571},"GitLab on Google Cloud",{"href":572,"dataGaName":570,"dataGaLocation":553},"/partners/technology-partners/google-cloud-platform/",{"text":574,"config":575},"Why GitLab?",{"href":242,"dataGaName":574,"dataGaLocation":553},{"freeTrial":577,"mobileIcon":582,"desktopIcon":587,"secondaryButton":590},{"text":578,"config":579},"Start free trial",{"href":580,"dataGaName":206,"dataGaLocation":581},"https://gitlab.com/-/trials/new/","nav",{"altText":583,"config":584},"Gitlab Icon",{"src":585,"dataGaName":586,"dataGaLocation":581},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":583,"config":588},{"src":589,"dataGaName":586,"dataGaLocation":581},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":591,"config":592},"Get Started",{"href":593,"dataGaName":594,"dataGaLocation":581},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/compare/gitlab-vs-github/","get started",{"freeTrial":596,"mobileIcon":600,"desktopIcon":602},{"text":597,"config":598},"Learn more about GitLab Duo",{"href":235,"dataGaName":599,"dataGaLocation":581},"gitlab duo",{"altText":583,"config":601},{"src":585,"dataGaName":586,"dataGaLocation":581},{"altText":583,"config":603},{"src":589,"dataGaName":586,"dataGaLocation":581},{"freeTrial":605,"mobileIcon":610,"desktopIcon":612},{"text":606,"config":607},"Back to pricing",{"href":360,"dataGaName":608,"dataGaLocation":581,"icon":609},"back to pricing","GoBack",{"altText":583,"config":611},{"src":585,"dataGaName":586,"dataGaLocation":581},{"altText":583,"config":613},{"src":589,"dataGaName":586,"dataGaLocation":581},"content:shared:en-us:main-navigation.yml","Main Navigation","shared/en-us/main-navigation.yml","shared/en-us/main-navigation",{"_path":619,"_dir":195,"_draft":6,"_partial":6,"_locale":7,"title":620,"button":621,"image":626,"config":630,"_id":632,"_type":188,"_source":189,"_file":633,"_stem":634,"_extension":192},"/shared/en-us/banner","is now in public beta!",{"text":622,"config":623},"Try the Beta",{"href":624,"dataGaName":625,"dataGaLocation":201},"/gitlab-duo/agent-platform/","duo banner",{"altText":627,"config":628},"GitLab Duo Agent Platform",{"src":629},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1753720689/somrf9zaunk0xlt7ne4x.svg",{"layout":631},"release","content:shared:en-us:banner.yml","shared/en-us/banner.yml","shared/en-us/banner",{"_path":636,"_dir":195,"_draft":6,"_partial":6,"_locale":7,"data":637,"_id":872,"_type":188,"title":873,"_source":189,"_file":874,"_stem":875,"_extension":192},"/shared/en-us/main-footer",{"text":638,"source":639,"edit":645,"contribute":650,"config":655,"items":660,"minimal":864},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":640,"config":641},"View page source",{"href":642,"dataGaName":643,"dataGaLocation":644},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":646,"config":647},"Edit this page",{"href":648,"dataGaName":649,"dataGaLocation":644},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":651,"config":652},"Please contribute",{"href":653,"dataGaName":654,"dataGaLocation":644},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":656,"facebook":657,"youtube":658,"linkedin":659},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[661,708,757,801,830],{"title":358,"links":662,"subMenu":677},[663,667,672],{"text":664,"config":665},"View plans",{"href":360,"dataGaName":666,"dataGaLocation":644},"view plans",{"text":668,"config":669},"Why Premium?",{"href":670,"dataGaName":671,"dataGaLocation":644},"/pricing/premium/","why premium",{"text":673,"config":674},"Why Ultimate?",{"href":675,"dataGaName":676,"dataGaLocation":644},"/pricing/ultimate/","why ultimate",[678],{"title":679,"links":680},"Contact Us",[681,684,686,688,693,698,703],{"text":682,"config":683},"Contact sales",{"href":210,"dataGaName":211,"dataGaLocation":644},{"text":536,"config":685},{"href":538,"dataGaName":539,"dataGaLocation":644},{"text":541,"config":687},{"href":543,"dataGaName":544,"dataGaLocation":644},{"text":689,"config":690},"Status",{"href":691,"dataGaName":692,"dataGaLocation":644},"https://status.gitlab.com/","status",{"text":694,"config":695},"Terms of use",{"href":696,"dataGaName":697,"dataGaLocation":644},"/terms/","terms of use",{"text":699,"config":700},"Privacy statement",{"href":701,"dataGaName":702,"dataGaLocation":644},"/privacy/","privacy statement",{"text":704,"config":705},"Cookie preferences",{"dataGaName":706,"dataGaLocation":644,"id":707,"isOneTrustButton":263},"cookie preferences","ot-sdk-btn",{"title":262,"links":709,"subMenu":717},[710,714],{"text":711,"config":712},"DevSecOps platform",{"href":228,"dataGaName":713,"dataGaLocation":644},"devsecops platform",{"text":284,"config":715},{"href":235,"dataGaName":716,"dataGaLocation":644},"ai-assisted development",[718],{"title":17,"links":719},[720,725,730,732,737,742,747,752],{"text":721,"config":722},"CICD",{"href":723,"dataGaName":724,"dataGaLocation":644},"/topics/ci-cd/","cicd",{"text":726,"config":727},"GitOps",{"href":728,"dataGaName":729,"dataGaLocation":644},"/topics/gitops/","gitops",{"text":21,"config":731},{"href":23,"dataGaName":5,"dataGaLocation":644},{"text":733,"config":734},"Version Control",{"href":735,"dataGaName":736,"dataGaLocation":644},"/topics/version-control/","version control",{"text":738,"config":739},"DevSecOps",{"href":740,"dataGaName":741,"dataGaLocation":644},"/topics/devsecops/","devsecops",{"text":743,"config":744},"Cloud Native",{"href":745,"dataGaName":746,"dataGaLocation":644},"/topics/cloud-native/","cloud native",{"text":748,"config":749},"AI for Coding",{"href":750,"dataGaName":751,"dataGaLocation":644},"/topics/devops/ai-for-coding/","ai for coding",{"text":753,"config":754},"Agentic AI",{"href":755,"dataGaName":756,"dataGaLocation":644},"/topics/agentic-ai/","agentic ai",{"title":758,"links":759},"Solutions",[760,762,764,769,773,776,780,783,785,788,791,796],{"text":305,"config":761},{"href":300,"dataGaName":305,"dataGaLocation":644},{"text":294,"config":763},{"href":277,"dataGaName":278,"dataGaLocation":644},{"text":765,"config":766},"Agile development",{"href":767,"dataGaName":768,"dataGaLocation":644},"/solutions/agile-delivery/","agile delivery",{"text":770,"config":771},"SCM",{"href":290,"dataGaName":772,"dataGaLocation":644},"source code management",{"text":721,"config":774},{"href":127,"dataGaName":775,"dataGaLocation":644},"continuous integration & delivery",{"text":777,"config":778},"Value stream management",{"href":333,"dataGaName":779,"dataGaLocation":644},"value stream management",{"text":726,"config":781},{"href":782,"dataGaName":729,"dataGaLocation":644},"/solutions/gitops/",{"text":343,"config":784},{"href":345,"dataGaName":346,"dataGaLocation":644},{"text":786,"config":787},"Small business",{"href":350,"dataGaName":351,"dataGaLocation":644},{"text":789,"config":790},"Public sector",{"href":355,"dataGaName":356,"dataGaLocation":644},{"text":792,"config":793},"Education",{"href":794,"dataGaName":795,"dataGaLocation":644},"/solutions/education/","education",{"text":797,"config":798},"Financial services",{"href":799,"dataGaName":800,"dataGaLocation":644},"/solutions/finance/","financial services",{"title":363,"links":802},[803,805,807,809,812,814,816,818,820,822,824,826,828],{"text":374,"config":804},{"href":376,"dataGaName":377,"dataGaLocation":644},{"text":379,"config":806},{"href":381,"dataGaName":382,"dataGaLocation":644},{"text":384,"config":808},{"href":386,"dataGaName":387,"dataGaLocation":644},{"text":389,"config":810},{"href":391,"dataGaName":811,"dataGaLocation":644},"docs",{"text":160,"config":813},{"href":413,"dataGaName":414,"dataGaLocation":644},{"text":407,"config":815},{"href":409,"dataGaName":410,"dataGaLocation":644},{"text":416,"config":817},{"href":418,"dataGaName":419,"dataGaLocation":644},{"text":429,"config":819},{"href":431,"dataGaName":432,"dataGaLocation":644},{"text":421,"config":821},{"href":423,"dataGaName":424,"dataGaLocation":644},{"text":434,"config":823},{"href":436,"dataGaName":437,"dataGaLocation":644},{"text":439,"config":825},{"href":441,"dataGaName":442,"dataGaLocation":644},{"text":444,"config":827},{"href":446,"dataGaName":447,"dataGaLocation":644},{"text":449,"config":829},{"href":451,"dataGaName":452,"dataGaLocation":644},{"title":467,"links":831},[832,834,836,838,840,842,844,848,853,855,857,859],{"text":474,"config":833},{"href":476,"dataGaName":469,"dataGaLocation":644},{"text":479,"config":835},{"href":481,"dataGaName":482,"dataGaLocation":644},{"text":487,"config":837},{"href":489,"dataGaName":490,"dataGaLocation":644},{"text":492,"config":839},{"href":494,"dataGaName":495,"dataGaLocation":644},{"text":497,"config":841},{"href":499,"dataGaName":500,"dataGaLocation":644},{"text":502,"config":843},{"href":504,"dataGaName":505,"dataGaLocation":644},{"text":845,"config":846},"Sustainability",{"href":847,"dataGaName":845,"dataGaLocation":644},"/sustainability/",{"text":849,"config":850},"Diversity, inclusion and belonging (DIB)",{"href":851,"dataGaName":852,"dataGaLocation":644},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":507,"config":854},{"href":509,"dataGaName":510,"dataGaLocation":644},{"text":517,"config":856},{"href":519,"dataGaName":520,"dataGaLocation":644},{"text":522,"config":858},{"href":524,"dataGaName":525,"dataGaLocation":644},{"text":860,"config":861},"Modern Slavery Transparency Statement",{"href":862,"dataGaName":863,"dataGaLocation":644},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":865},[866,868,870],{"text":694,"config":867},{"href":696,"dataGaName":697,"dataGaLocation":644},{"text":699,"config":869},{"href":701,"dataGaName":702,"dataGaLocation":644},{"text":704,"config":871},{"dataGaName":706,"dataGaLocation":644,"id":707,"isOneTrustButton":263},"content:shared:en-us:main-footer.yml","Main Footer","shared/en-us/main-footer.yml","shared/en-us/main-footer",{"_path":877,"_dir":195,"_draft":6,"_partial":6,"_locale":7,"header":878,"eyebrow":879,"blurb":880,"button":881,"secondaryButton":885,"_id":887,"_type":188,"title":888,"_source":189,"_file":889,"_stem":890,"_extension":192},"/shared/en-us/next-steps","Start shipping better software faster","50%+ of the Fortune 100 trust GitLab","See what your team can do with the intelligent\n\n\nDevSecOps platform.\n",{"text":203,"config":882},{"href":883,"dataGaName":206,"dataGaLocation":884},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":208,"config":886},{"href":210,"dataGaName":211,"dataGaLocation":884},"content:shared:en-us:next-steps.yml","Next Steps","shared/en-us/next-steps.yml","shared/en-us/next-steps",{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"seo":892,"content":893,"_id":187,"_type":188,"title":7,"_source":189,"_file":190,"_stem":191,"_extension":192},{"title":9,"ogTitle":9,"description":10,"ogDescription":10},[894,902,905,959,969,990],{"type":13,"componentName":13,"componentContent":895},{"crumbs":896},[897,899,901],{"title":17,"config":898},{"href":19},{"title":21,"config":900},{"href":23},{"title":9},{"type":26,"componentName":26,"componentContent":903},{"title":9,"text":28,"config":904},{"id":30,"twoColumns":6},{"type":32,"componentName":32,"componentContent":906},{"anchors":907,"components":927},{"text":35,"data":908},[909,911,913,915,917,919,921,923,925],{"text":38,"config":910},{"href":40},{"text":42,"config":912},{"href":44},{"text":46,"config":914},{"href":48},{"text":50,"config":916},{"href":52},{"text":54,"config":918},{"href":56},{"text":58,"config":920},{"href":60},{"text":62,"config":922},{"href":64},{"text":66,"config":924},{"href":68},{"text":70,"config":926},{"href":72},[928,931,934,937,940,943,946,949,952,955],{"type":75,"componentName":75,"componentContent":929},{"header":38,"text":77,"config":930},{"id":79},{"type":75,"componentName":75,"componentContent":932},{"header":42,"text":82,"config":933},{"id":84},{"type":75,"componentName":75,"componentContent":935},{"header":46,"text":87,"config":936},{"id":89},{"type":75,"componentName":75,"componentContent":938},{"header":50,"text":92,"config":939},{"id":94},{"type":75,"componentName":75,"componentContent":941},{"header":54,"text":97,"config":942},{"id":99},{"type":75,"componentName":75,"componentContent":944},{"header":58,"text":102,"config":945},{"id":104},{"type":75,"componentName":75,"componentContent":947},{"header":62,"text":107,"config":948},{"id":109},{"type":75,"componentName":75,"componentContent":950},{"header":66,"text":112,"config":951},{"id":114},{"type":75,"componentName":75,"componentContent":953},{"header":70,"text":117,"config":954},{"id":119},{"type":121,"componentName":121,"componentContent":956},{"subtitle":123,"primaryButton":957},{"text":125,"config":958},{"href":127},{"type":129,"componentName":129,"componentContent":960},{"header":131,"groups":961},[962],{"questions":963},[964,965,966,967,968],{"question":136,"answer":137},{"question":139,"answer":140},{"question":142,"answer":143},{"question":145,"answer":146},{"question":148,"answer":149},{"type":151,"componentName":151,"componentContent":970},{"header":153,"tabs":971},[972],{"name":156,"items":973,"config":989},[974,979,984],{"header":159,"type":160,"image":975,"link":977},{"altText":159,"config":976},{"src":163},{"text":165,"config":978},{"href":167,"icon":160,"modal":6},{"header":169,"type":160,"image":980,"link":982},{"altText":169,"config":981},{"src":172},{"text":165,"config":983},{"href":175,"icon":160,"modal":6},{"header":177,"type":160,"image":985,"link":987},{"altText":177,"config":986},{"src":180},{"text":165,"config":988},{"href":183,"icon":160,"modal":6},{"key":156},{"type":186,"componentName":186},1761814431312]