Get the DevOps platform

Free-forever features for individual users
per user/month
No credit card required
Get started
Spans the DevOps lifecycle
Open Source - MIT License For GitLab Self-Managed installations, not applicable for GitLab SaaS
Bring your own GitLab CI runners
Includes free static websites
400 CI/CD minutes per month [1] For GitLab SaaS runners, not applicable for Self-managed runners
Enhance team productivity and coordination
per user/month
Billed annually at $228 USD
Buy GitLab Premium
Everything from Free
Faster code reviews
  • Multiple approvers in code review

    In GitLab, to ensure strict code review, you can require a minimum number of users to approve of a merge request before it is able to be merged. You can undo an approval by removing it after the fact.

  • Merge request reviews

    Draft multiple comments in a merge request code review, before reviewing and submitting them together all at once. This allows you to review code in consistent, and self-contained sessions, instead of as individual comments.

  • Code Owners

    Assign Code Owners to files to indicate the team members responsible for code in your project using a CODEOWNERS file. Code owners are assigned automatically as merge request approvers, can be set as required and shown when viewing files. Sections allow each team to configure their own code owners configuration independently, allowing multiple teams to look after common parts of the codebase.

  • Code Review Analytics

    Find bottlenecks in your code review process by understanding how long open merge requests have been in review.

  • Pipelines for Merged Results

    Keep master green. A special pipeline runs on the results of merged code before merging into master to detect changes that may be green on a branch but will fail master when merged.

  • Code Quality Reports

    Full Code Quality reports are available on the pipeline page, showing areas of the codebase that do not meet the organization’s preferred style or standards.

  • Comments in Review Apps

    Review Apps let a developer share their work in progress with their team or a broader audience quickly as they implement a change and request feedback. Being able to leave comments on the Merge Request from the Review app shortens the feedback cycle and creates a single source of truth to track change requests. This feature enables designers, Product Managers, and other stakeholders to comment on the changes to the look and feel / user experience of a change just as easily and quickly as developers working in the MR.

Advanced CI/CD
  • CI/CD Pipelines Dashboard

    Visualize the history and current status of pipelines across projects and groups all in a single dashboard that can be customized for each user.

  • Multi-project pipeline graphs

    With multi-project pipeline graphs you can see how upstream and downstream pipelines are linked together for projects that are linked to others via triggers as part of a more complex design, as it is for micro-services architecture.

  • Merge Trains

    Ensure an orderly and efficient flow of changes in a pipeline to target branches by queueing up pipelines in parallel, each building off the merge result of the previous pipeline. Squash-and-Merge is also supported together with Merge Trains.

  • CI/CD for external repo

    Connect your projects hosted on external services (like GitHub or Bitbucket) and leverage the power of GitLab CI/CD pipelines to build, test, and deploy your applications easily.

  • GitLab Kubernetes Agent

    Manage the deployments and connection to your Kubernetes clusters in a secure and compliant way, driven by code.

  • Environments Dashboard

    The GitLab Environments Dashboard provides a cross-project environment-based view that lets you see the big picture of what is going on in each environment. From a single location, you can now track the progress as changes flow from development to staging, and then to production (or through any series of custom environment flows you can set up). With an at-a-glance view of multiple projects, you can instantly see which pipelines are green and which are red, allowing you to diagnose if there is a block at a particular point, or if there’s a more systemic problem you need to investigate

  • Group file templates

    Define custom LICENSE, .gitignore, Dockerfile and .gitlab-ci.yml templates for a Group to make consistency easier.

  • Cluster Environments Global View

    Provides an overview of all the projects that are making use of the instance or group Kubernetes cluster, including the deployments/environments that have been provisioned and the numbers of pods used by each environment.

Enterprise agile planning
  • Roadmaps

    Visualize multiple epics and milestones across time in a roadmap view.

  • Issue Board Milestone Lists

    Issue board lists that pull in issues in a given milestone

  • Scoped Labels

    Assign scoped labels mutually exclusively when they have the same scope.

  • Multiple Issue Assignees

    Assign more than one person to an issue at a time.

  • Single level Epics

    Plan and track features and work group level epics that collect issues together. Easily create and assign Issues directly from the Epic itself

  • Multiple Group Issue Boards

    Multiple Group Issue Boards, similar to Multiple Project Issue Boards

  • Promote Issue to Epic

    Promote an issue to epic to continue collaboration at a higher-level work abstraction.

  • Issue Board Configuration

    Associate a board with a milestone, labels, an assignee, and a weight

Release controls
  • Approval rules for code review

    Make sure the right people review merge requests with approval rules by specifying lists of eligible approvers, the minimum number of approvals for each, and which target branches they protect. This makes it easy to request review from different teams like Engineering, UX and Product.

  • Merge Request Dependencies

    Coordinate the order in which merge requests are merged within the same project and/or across different projects.

  • Push rules

    Reject new code and commits that don’t comply with company policy.

  • Required Merge Request Approvals

    When a project needs multiple sign-offs, you can require every merge request to be approved before merging. With Required Merge Request Approvals you can set the number of necessary approvals and predefine a list of specific approvers. In turn, guarantee the quality and the standards of your code.

  • Restrict push and merge access to certain users

    Extend the base functionality of protected branches and choose which users can push or merge to a protected branch.

  • Protected Environments

    Specify which person, group, or account is allowed to deploy to a given environment, allowing further protection and safety of sensitive environments.

  • Lock project membership to group

    Group owners can prevent new members from being added to projects within a group.

  • Supports geolocation-aware DNS

    Having Geo replicated server(s) can make local pulls go more quickly, but without support for Geolocation-aware DNS, developers need to reconfigure their tools manually to point to their nearest geo replicated server. Users using Geolocation-aware DNS can be transparently directed to the closest server available and can access repository data faster.

Self-managed reliability
  • Disaster Recovery

    Fail over in minutes to another data-center.

  • Maintenance mode

    Maintenance mode allows systems administrators to perform maintenance operations, such as preparing for a scheduled failover, with minimal disruption to end users.

  • Scalable fault-tolerant Git storage with Gitaly Cluster

    Configure replicated Git storage with automatic failover, strong consistency, and read distribution for improved fault tolerance and performance.

  • Globally distributed cloning with GitLab Geo

    When development teams are spread across two or more geographical locations, but their GitLab instance is in a single location, fetching and cloning large repositories can take a long time. Built for distributed teams, GitLab Geo allows for read-only mirrors of your GitLab instance, reducing the time it takes to clone and fetch large repos and improving your collaboration process.

  • Support for Scaled Architectures

    GitLab Premium includes support for scaling GitLab services across multiple nodes to manage demands on your system and provide redundancy. GitLab has developed reference architectures so you can easily determine the optimal architecture for your needs.

  • Container Registry geographic replication

    Supports distributed teams by running multiple registry instances across several regions and syncing between data centers.

  • Database load balancing for PostgreSQL

    Distribute read-only queries among multiple PostgreSQL database servers and reduce the load on the primary database to increase responsiveness.

  • Omnibus package supports log forwarding

    Forward your logs to a central system.

10,000 CI/CD minutes per month For GitLab SaaS runners, not applicable for Self-managed runners
Organization wide security, compliance, and planning
per user/month
Billed annually at $1,188 USD
Buy GitLab Ultimate
Everything from Premium
Advanced security testing
  • Security Dashboards

    “Security Dashboards report the latest security status of the default branch for each project. View, triage, and manage vulnerabilities at the Project, Group, or Instance level from a single view. Drill into individual vulnerability details or see high level trends and potential trouble spots.”

  • Dynamic Application Security Testing

    Once your application is online, GitLab allows running Dynamic Application Security Testing (DAST) in CI/CD pipelines; your application will be scanned to ensure threats like XSS or broken authentication flaws are not affecting it. Results are then shown in the Merge Request and in the Pipeline view. This feature is available as part of Auto DevOps to provide security-by-default.

  • Vulnerability Management

    GitLab’s vulnerability management is about ensuring assets and applications are scanned for vulnerabilities. It also includes the processes to record, manage, and mitigate those vulnerabilities.

    Vulnerability management helps identify meaningful sets of vulnerabilities, in both your assets and application code, that can be mitigated, managed, and acted upon by your whole team—not just the security organization. It also provides a unified interface to the systems teams are already using for managing results from the ~”devops::secure” stage so there is always a single source of truth and single place for managing security results.

  • Container Scanning

    When building a Docker image for your application, GitLab can run a security scan to ensure it does not have any known vulnerability in the environment where your code is shipped. Results are then shown in the Merge Request and in the Pipeline view. This feature is available as part of Auto DevOps to provide security-by-default.

  • Dependency Scanning

    GitLab automatically detects well known security bugs in the libraries that are included by the application, protecting your application from vulnerabilities that affect dependencies that are used dynamically. Results are then shown in the Merge Request and in the Pipeline view. This feature is available as part of Auto DevOps to provide security-by-default.

  • Vulnerability Database

    A vulnerability database that can be viewed and enhanced by anyone.

  • On-demand Dynamic Application Security Testing

    There’s no reason to wait for the next CI pipeline run to find out if your site if vulnerable or to reproduce a previously found vulnerability. GitLab offers scanning your running application with On-demand Dynamic Application Security Testing (DAST), independent of code changes or merge requests.

  • API Fuzz Testing

    “Test the APIs in your apps to find vulnerabilities and bugs that traditional QA processes miss.”

Cloud native security
  • Security Alert Dashboard for Container Network Policy Alerts

    “The security alert dashboard provides a workflow for viewing and managing security alerts.”

  • Container Host Monitoring and Blocking

    “With Container Host Monitoring, you can monitor running containers for malicious or unusual activity. This includes process starts, file changes, or opened network ports. You can also block or prevent these activities from occurring.”

  • Cloud Native Network Firewall

    Cloud native network firewall provides container-level network micro segmentation which isolates container network communications to limit the “blast radius” of compromise to a specific container or microservice. A container-aware virtual firewall identifies valid traffic flows between app components in your cluster and limits damage by preventing attackers from moving through your environment when they have already compromised one part of it.

  • Audit Events

    To maintain the integrity of your code, GitLab Premium gives admins the ability to view any modifications made within the GitLab server in an advanced audit event system, so you can control, analyze and track every change.

  • Compliance Dashboard

    Compliance management within GitLab is easier with an aggregate view of all project activity. View the compliance status of your group in a fast, simple way. Using the built-in quick access view, easily spot when projects are out of compliance and drill down into individual projects to take informed actions to remediate any issues.

  • License Compliance

    Check that licenses of your dependencies are compatible with your application, and approve or deny them. Results are then shown in the Merge Request and in the Pipeline view.

  • Compliance Frameworks

    Compliance frameworks allow you to easily designate which frameworks a given project must follow. We provide several pre-defined ones such as GDPR, HIPAA, PCI-DSS, SOC 2, and SOX, etc and also let you define your own.

  • Compliance framework default pipelines

    Create a common pipeline definition that will run for all projects that adhere to different compliance frameworks. This ensures projects perform the steps needed to meet regulatory requirements.

  • Quality Management

    Able to support test planning, definition of test cases, results of test execution and corresponding backlog of work resulting from failed tests. Specific features would include: Test case planning, test execution, defect tracking (backlog), severity, priority.

  • Requirements Management

    With Requirements Management you are able to gather, document, refine, and track approval of business and system requirements. Manage and track the relationships between requirements and other requirements, requirements and code, or requirements and test cases for each version of requirements. Specific features will include definition, traceability, and requirement hierarchy and dependency.

  • Require a Jira issue before merging code

    GitLab makes it easy to require that a Jira issue is linked to each merge request. This helps teams using both Jira and GitLab better collaborate and stay in sync.

Portfolio management
  • Multi-level Epics

    Plan and track strategies, initiatives, and features with multi-level epics that collect issues together. Manage multiple children epics and their issues within the Epic Tree by dragging and dropping them to organize and prioritize the work.

  • Issue and Epic Health Reporting

    Report on and quickly respond to the health of individual issues and epics by viewing red, amber, or green health statuses on your Epic Tree.

  • Portfolio-level Roadmaps

    Visualize multiple parent and child epics across time in a Roadmap view to gain insight into how your portfolio of work is progressing. Establishing the product vision and strategy to organize, govern and shape the effort of multi-disciplinary teams building specific business services and features.

  • Bulk Edit Epics

    Edit labels on multiple epics all at once via the Epic List.

  • Epic Boards

    View and track your epics on a kanban-style board

Value stream management
  • Insights

    Create charts powered by labels to visualize data such as triage hygiene, issues created/closed per a given period, average time for merge requests to be merged and much more.

  • Track DORA-4 lead time for changes metric

    The DORA-4 metric, Lead time for changes, measures the time it takes for a merge request to be merged to production. You can access this metric via the CI/CD analytics dashboard or through the API on the project or the group level. Monitoring this metric helps you understand the efficiency of your deployments over time and find bottlenecks and improvement areas.

Free guest users
50,000 CI/CD minutes per month For GitLab SaaS runners, not applicable for Self-managed runners

All plans have unlimited (private) repositories. Use it SaaS or Self-Managed.

Add-on subscriptions

Purchase additional CI/CD minutes or storage for your group or personal namespaces. Repository storage of 10GB per project is free across all tiers.

Frequently asked questions

License and Subscription
I already have an account, how do I upgrade?

Head over to, choose the plan that is right for you.

Can I add more users to my subscription?

Yes. You have a few options. You can add users to your subscription any time during the subscription period. You can log in to your account via the GitLab Customers Portal and add more seats or by either contacting sales for a quote. In either case, the cost will be prorated from the date of quote/purchase through the end of the subscription period. You may also pay for the additional licenses per our true-up model.

How will I be charged for add-on users?

If you have quarterly subscription reconciliation enabled (default option for new and renewing subscriptions after Aug 1, 2021), users added during a quarter will only be charged for the remaining quarters of their subscription term as opposed to the full annual subscription fee(s) with annual true-ups. For example, if you add 50 users to your subscription during the third quarter of your subscription term, the 50 users will only be charged for the fourth quarter of your subscription term as opposed to all four quarters as per annual true-ups.

If you do not have quarterly subscription reconciliation enabled, add-on users will be charged annual true-ups for the full term during which they were added. For example, if you have 100 active users today, you should purchase a 100 user subscription. Suppose that when you renew next year you have 300 active users (200 extra users). When you renew you pay for a 300 user subscription and you also pay the full annual fee for the 200 users that you added during the year.

What happens when my subscription is about to expire or has expired?

You will receive a new license that you will need to upload to your GitLab instance. This can be done by following these instructions.

What happens if I decide not to renew my subscription?

14 days after the end of your subscription, your key will no longer work and GitLab Enterprise Edition will not be functional anymore. You will be able to downgrade to GitLab Community Edition, which is free to use.

Can I acquire a mix of licenses?

No, all users in the group need to be on the same plan.

How does the license key work?

The license key is a static file which, upon uploading, allows GitLab Enterprise Edition to run. During license upload we check that the active users on your GitLab Enterprise Edition instance doesn’t exceed the new number of users. During the licensed period you may add as many users as you want. The license key will expire after one year for GitLab subscribers.

Payments and Pricing
What is a user?

User means each individual end-user (person or machine) of Customer and/or its Affiliates (including, without limitation, employees, agents, and consultants thereof) with access to the Licensed Materials hereunder.

Is the listed pricing all inclusive?

The listed prices may be subject to applicable local and withholding taxes. Pricing may vary when purchased through a partner or reseller.

What features are included in GitLab self-managed and SaaS across the pricing plans?

You can find an up to date list on the features page.

Can I import my projects from another provider?

Yes. You can import your projects from most of the existing providers, including GitHub and Bitbucket. See our documentation for all your import options.

Do you have special pricing for open source projects, educational institutions, or startups?

Yes! We provide free Ultimate licenses, along with 50K CI minutes/month, to qualifying open source projects, educational institutions, and startups. Find out more by visiting our GitLab for Open Source, GitLab for Education, and GitLab for Startups program pages.

How does GitLab determine what future features fall into given tiers?

On this page we represent our capabilities and those are meant to be filters on our buyer-based open core pricing model. You can learn more about how we make tiering decisions on our pricing handbook page.

GitLab SaaS
Where is SaaS hosted?

Currently we are hosted on the Google Cloud Platform in the USA

What features are not available on GitLab SaaS?

Some features are unique to self-managed and do not apply to SaaS. You can find an up to date list on the features page.

CI/CD Pipeline Minutes
What are CI/CD pipeline minutes?

CI/CD Pipeline minutes are the execution time for your pipelines on our shared runners. Execution on your own runners will not increase your pipeline minutes count and is unlimited.

What happens if I reach my minutes limit?

If you reach your limits, you can manage your CI/CD minutes usage, purchase additional CI minutes, or upgrade your account to Premium or Ultimate. Your own runners can still be used even if you reach your limits.

Does the minute limit apply to all runners?

No. We will only restrict your minutes for our shared runners (SaaS only). If you have a specific runner setup for your projects, there is no limit to your build time on GitLab SaaS.

Do plans increase the minutes limit depending on the number of users in that group?

No. The limit will be applied to a group, no matter the number of users in that group.

Why do I need to enter credit/debit card details for free pipeline minutes?

There has been a massive uptick in abuse of free pipeline minutes available on to mine cryptocurrencies - which creates intermittent performance issues for users. To discourage such abuse, credit/debit card details are required if you choose to use shared runners. Credit/debit card details are not required if you bring your own runner or disable shared runners. When you provide the card, it will be verified with a one-dollar authorization transaction. No charge will be made and no money will transfer. Learn more here

Is there a different CI/CD minutes limit for public projects?

Yes. Public projects created after 2021-07-17 will have an allocation of CI/CD pipeline minutes as follows: Free tier - 50,000 minutes, Premium tier - 1,250,000 minutes, Ultimate tier - 6,250,000.

How much space can I have for my repo on GitLab SaaS?

10GB per project.

Can I buy additional storage space for myself or my organization?

Yes, you can purchase additional storage for your group on GitLab SaaS on the GitLab customer portal.

Still have questions? Get in touch.

We're here to help. Talk to an expert today.

Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license