Create and manage milestones across projects, to work towards a target date from the group level. View all the issues for the milestone you’re currently working on across multiple projects.
Starter: true | Libre: | Premium: true | Ultimate: true |
Quickly set the status, assignee or milestone for multiple issues at the same time or easily filter them on any properties. See milestones and issues across projects.
Starter: true | Libre: | Premium: true | Ultimate: true |
In GitLab, you can set a due date for individual issues. This is very convenient if you have small tasks with a specific deadline.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can move issues between projects in GitLab. All links, history and comments will be copied and the original issue will reference the newly moved issue. This makes working with multiple issue trackers much easier.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab has Issue Boards, each list of an Issue Board is based on a label that exists in your issue tracker. The Issue Board will therefore match the state of your issue tracker in a user-friendly way.
Starter: true | Libre: | Premium: true | Ultimate: true |
Issue boards scoped at the group level, so that you can view issues in all projects of that group.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab Issue Boards, you can create issues directly from the board and assign multiple labels allowing them to appear on multiple boards.
Starter: true | Libre: | Premium: true | Ultimate: true |
An Issue Board is based on its project’s label structure, therefore, it applies the same descriptive labels to indicate placement on the board. GitLab issues can appear on multiple issues and they still have meaning without the context of a particular board.
Starter: true | Libre: | Premium: true | Ultimate: true |
From an Issue Board, you can add multiple issues to lists in the board by selecting one or more existing issues.
Starter: true | Libre: | Premium: true | Ultimate: true |
Associate a board with a milestone, labels, an assignee, and a weight
Starter: true | Libre: | Premium: true | Ultimate: true |
Get more information at a time with the Issue Board focus mode, which removes all unnecessary elements from the screen to show your Issue Boards.
Starter: true | Libre: | Premium: true | Ultimate: true |
Large companies often have hundreds of different projects, all with different moving parts at the same time. GitLab Enterprise Edition allows for multiple Issue Boards for a single project so you can to plan, organize, and visualize a workflow for a feature or product release. Multiple Issue Boards are particularly useful for large projects with more than one team or in situations where a repository is used to host the code of multiple products.
Starter: true | Libre: | Premium: true | Ultimate: true |
Plan and track work at the feature level by collecting multiple issues together in the same group.
Starter: false | Libre: | Premium: false | Ultimate: true |
Visualize multiple epics across time in a roadmap view
Starter: false | Libre: | Premium: false | Ultimate: true |
Time Tracking in GitLab lets your team add estimates and record time spent on issues and merge requests.
Starter: true | Libre: | Premium: true | Ultimate: true |
Keep your information secure with Confidential Issues. With GitLab, you can create confidential issues visible only for project members with Reporter access level or above.
Starter: true | Libre: | Premium: true | Ultimate: true |
Explicitly mark issues as related and track their status.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab lets you manage issues using Agile practices by setting the weight of an issue.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides Burndown Charts as part of Milestones. This allows users to better track progress during a sprint or while working on a new version of their software.
Starter: true | Libre: | Premium: true | Ultimate: true |
Assign more than one person to an issue at a time.
Starter: true | Libre: | Premium: true | Ultimate: true |
Mattermost can be automatically installed and integrated using GitLab Omnibus
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab, you can use specific keywords to close one or more issues as soon as a merge request is merged.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab uses ‘GitLab Flavored Markdown’ (GFM). It extends the standard Markdown in a few significant ways to add some useful functionality.
Starter: true | Libre: | Premium: true | Ultimate: true |
By adding a description template to your MRs, users who create a new issue or merge request can select a template to help them to communicate effectively.
Starter: true | Libre: | Premium: true | Ultimate: true |
Create an issue from email.
Starter: true | Libre: | Premium: true | Ultimate: true |
Quickly create, view and search for issues straight from chat.
Starter: true | Libre: | Premium: true | Ultimate: true |
Allow external users to create issues in your GitLab instance without an account and without access to anything except their issue. Manage tickets from the GitLab interface.
Starter: false | Libre: | Premium: true | Ultimate: true |
Labels provide an easy way to categorize issues or merge requests based on descriptive titles as ‘bug’, or ‘documentation’.
Starter: true | Libre: | Premium: true | Ultimate: true |
Define your own specific keywords to close one or more issues as soon as a merge request is merged.
Starter: true | Libre: | Premium: true | Ultimate: true |
Plan and track work at the project and portfolio level. Manage capacity and resources together with Portfolio Management.
Starter: false | Libre: false | Premium: false | Ultimate: true |
GitLab provides commit graphs and reporting tools about collaborators’ work.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab CI/CD you can create a new environment for each one of your branches, speeding up your development process. Spin up dynamic environments for your merge requests with the ability to preview your branch in a live environment.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides a way to search a file in your repository in one keystroke.
Starter: true | Libre: | Premium: true | Ultimate: true |
With this setting at the project level, you can ensure that no merge commits are created and all merges are fast-forwarded. When a fast-forward merge is not possible, the user is given the option to rebase.
Starter: true | Libre: | Premium: true | Ultimate: true |
Combine commits into one so that main branch has a simpler to follow and revert history.
Starter: true | Libre: | Premium: true | Ultimate: true |
When a project requires multiple sign-offs, GitLab Enterprise Edition enables you to make sure every merge request is approved by one or more people. Merge request approvals allow you to set the number of necessary approvals and predefine a list of approvers that will need to approve every merge request in a project, and in-turn improve your code’s quality.
Starter: true | Libre: | Premium: true | Ultimate: true |
Create merge requests and @mention team members to review and safely merge your changes.
Starter: true | Libre: | Premium: true | Ultimate: true |
Preview merge conflicts in the GitLab UI and tell Git which version to use.
Starter: true | Libre: | Premium: true | Ultimate: true |
Cherry-pick any commit in the UI by simply clicking the Cherry-Pick button in a merged merge request or a specific commit.
Starter: true | Libre: | Premium: true | Ultimate: true |
View a list of the latest commits, merges, comments, and team members on your project.
Starter: true | Libre: | Premium: true | Ultimate: true |
Be notified by email, Slack, or ToDos anytime there are changes to an issue or merge request.
Starter: true | Libre: | Premium: true | Ultimate: true |
Working with multiple people on the same file can be a risk. Conflicts when merging a non-text file are hard to overcome and will require a lot of manual work to resolve. With GitLab Enterprise Edition Premium, File Locking helps you avoid merge conflicts and better manage your binary files by preventing everyone, except you, from modifying a specific file or entire directory.
Starter: false | Libre: | Premium: true | Ultimate: true |
Revert any commit or a single merge request from GitLab’s UI, with a click of a button.
Starter: true | Libre: | Premium: true | Ultimate: true |
A branch in Git contains the entire history that preceeds it. It’s also created or moved towards instantly and easily shared.
Starter: true | Libre: | Premium: true | Ultimate: true |
Granular permissions for branches you want to protect.
Starter: true | Libre: | Premium: true | Ultimate: true |
Extend the base functionality of protected branches and choose which users can push or merge to a protected branch.
Starter: true | Libre: | Premium: true | Ultimate: true |
Granular permissions for tags you want to protect.
Starter: true | Libre: | Premium: true | Ultimate: true |
A separate system for documentation called Wiki, is built right into each GitLab project. Every Wiki is a separate Git repository.
Starter: true | Libre: | Premium: true | Ultimate: true |
When creating a new project, you can choose to kickstart your project from a predefined template that already has some working example code and CI pre-configured.
Starter: true | Libre: | Premium: true | Ultimate: true |
Contribute to projects faster by using the Web IDE to avoid context switching in your local development environement.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab can import projects and issues from more sources (GitHub, BitBucket, Google Code, FogBugz, Gitea and from any git URL) than GitHub or any other VCS. We even have you covered for your move from SVN to Git with comprehensive guides and documentation.
Starter: true | Libre: | Premium: true | Ultimate: true |
Within a commit view or a merge request diff view, and with respect to a specific location of an image, you can have a resolvable discussion. Have multiple discussions specifying different areas of an image.
Starter: true | Libre: | Premium: true | Ultimate: true |
Comment on a commit within the context of a merge request itself
Starter: true | Libre: | Premium: true | Ultimate: true |
Create a merge request from email, by sending in the merge request title, description, and source branch name.
Starter: true | Libre: | Premium: true | Ultimate: true |
Lock down continued discussion in an issue or merge request as a Master role or higher, to prevent further abuse, spam, or unproductive collaboration.
Starter: true | Libre: | Premium: true | Ultimate: true |
Highlight first-time contributors in a project.
Starter: true | Libre: | Premium: true | Ultimate: true |
In GitLab, to ensure strict code review, you can require a specific number of approvals on a merge request by different users before being able to merge it. You can undo an approval by removing it after the fact.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab lets you easily migrate all repos, issues and merge request data from your previous provider.
Starter: true | Libre: | Premium: true | Ultimate: true |
Reject new code and commits that don’t comply with company policy.
Starter: true | Libre: | Premium: true | Ultimate: true |
Import projects from GitLab.com to a private GitLab instance.
Starter: true | Libre: | Premium: true | Ultimate: true |
Ensure that disk space usage is under control.
Starter: true | Libre: | Premium: true | Ultimate: true |
View and compare merge request diffs from the merge request UI.
Starter: true | Libre: | Premium: true | Ultimate: true |
Code or text review is faster and more effective with inline comments in merge requests. Leave comments and resolve discussions on specific lines of code. In GitLab, Merge Request inline comments are interpreted as a discussion. You can configure your project to only accept merge requests when all discussions are resolved.
Starter: true | Libre: | Premium: true | Ultimate: true |
Sign commits and prove that a commit was performed by a certain user.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition Premium allows you to enforce GPG signatures by rejecting unsigned commits.
Starter: false | Libre: | Premium: true | Ultimate: true |
Verify that a push only contains commits by the same user performing the push.
Starter: false | Libre: | Premium: true | Ultimate: true |
GitLab Merge Requests are editable by the author, the project’s owners and users with master access. Every field is editable, as well as the target branch.
Starter: true | Libre: | Premium: true | Ultimate: true |
When reviewing a merge request that looks ready to merge but still has one or more CI/CD jobs running, you can set it to be merged automatically when the jobs pipeline succeeds.
Starter: true | Libre: | Premium: true | Ultimate: true |
Prevent merge requests from accidentally being accepted before they’re completely ready by marking them as Work In Progress (WIP). This gives you all the code review power of merge requests, while protecting unfinished work.
Starter: true | Libre: | Premium: true | Ultimate: true |
A single repository in Git is typically a number of times smaller than the same repository in SVN.
Starter: true | Libre: | Premium: true | Ultimate: true |
Push new projects to the desired location and a new private project will automatically be created.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab allows easily running Static Application Security Testing (SAST) in CI/CD pipelines; checking for vulnerable source code or well known security bugs in the libraries that are included by the application. Results are then shown in the Merge Request. This feature is available as part of Auto DevOps to provide security-by-default.
Starter: false | Libre: false | Premium: false | Ultimate: true |
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. This feature is available as part of Auto DevOps to provide security-by-default.
Starter: false | Libre: false | Premium: false | Ultimate: true |
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. This feature is available as part of Auto DevOps to provide security-by-default.
Starter: false | Libre: false | Premium: false | Ultimate: true |
You can automatically spin up and down VMs to make sure your builds get processed immediately and minimize costs.
Starter: true | Libre: | Premium: true | Ultimate: true |
Easily debug your containers in any of your environments using the built-in GitLab Web Terminal. GitLab can open a terminal session directly from your environment if your application is deployed on Kubernetes. This is a very powerful feature where you can quickly debug issues without leaving the comfort of your web browser.
Starter: true | Libre: | Premium: true | Ultimate: true |
Pipelines can be complex structures with many sequential and parallel jobs. To make it a little easier to see what is going on, you can view a graph of a single pipeline and its status.
Starter: true | Libre: | Premium: true | Ultimate: true |
Code Quality reports, available in the merge request widget area, give you an early insight into how the change will affect the health of your code before deciding if you want to accept it.
Starter: true | Libre: | Premium: true | Ultimate: true |
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.
Starter: false | Libre: | Premium: true | Ultimate: true |
Environments history allows you to see what is currently being deployed on your servers, and to access a detailed view for all the past deployments. From this list you can also re-deploy the current version, or even rollback an old stable one in case something went wrong.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can define a custom path into your repository for your CI/CD configuration file.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab is able to parse job output logs and search, via a customizable regex, any information created by tools like SimpleCov to get code coverage. Data is automatically available in the UI and also as a badge you can embedd in any HTML page or publish using GitLab Pages.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab CI/CD requires less configuration for your pipelines than other similar setups like Jenkins.
Starter: true | Libre: | Premium: true | Ultimate: true |
License management
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Container Registry is a secure and private registry for Docker images. It allows for easy upload and download of images from GitLab CI. It is fully integrated with Git repository management.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab has built-in Continuous Integration/Continuous Delivery, for free, no need to install it separately. Use it to build, test, and deploy your website (GitLab Pages) or webapp. The job results are displayed on merge requests for easy access.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Pages provides an easy system for hosting static sites using GitLab repositories and GitLab CI, complete with custom domains and HTTPS support.
Starter: true | Libre: | Premium: true | Ultimate: true |
Deploy from one environment (e.g. staging) to any other (e.g. production) from Chat
Starter: true | Libre: | Premium: true | Ultimate: true |
Access your test reports, code quality and coverage information directly from your browser, with no need to download them locally.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab CI you can upload your job artifacts in GitLab itself without the need of an external service. Because of this, artifacts are also browsable through GitLab’s web interface.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can make your pipelines run on a schedule in a cron-like environment.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab CI is capable of not only testing or building your projects, but also deploying them in your infrastructure, with the added benefit of giving you a way to track your deployments. Environments are like tags for your CI jobs, describing where code gets deployed.
Starter: true | Libre: | Premium: true | Ultimate: true |
Protected Runners allow you to protect your sensitive information, for example deployment credentials, by allowing only jobs running on protected branches to access them.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab Pages, you can create a private repository to hold your site content, and keep only the page source (HTML) available online.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab Pages websites, you can use a custom domain or subdomain.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Pages allows you to add as many custom domains (known as domain aliases) pointing to a single website. A domain alias is like having multiple front doors to one location.
Starter: true | Libre: | Premium: true | Ultimate: true |
Install a SSL/TLS certificate, at no cost, on a website set up with a custom domain served by GitLab Pages.
Starter: true | Libre: | Premium: true | Ultimate: true |
When adding a new custom domain, users must add an associated TXT record in order to verify they are the owner of the domain. That mechanism is used to prevent users from claiming domains they do not own.
Starter: true | Libre: | Premium: true | Ultimate: true |
With GitLab, you can build any SSG, and also choose specific SSGs’ versions you want your site to build with (e.g. Middleman 4.1.1).
Starter: true | Libre: | Premium: true | Ultimate: true |
Choose an example project to fork and get started with GitLab Pages.
Starter: true | Libre: | Premium: true | Ultimate: true |
Besides building any Jekyll version you want, with GitLab Pages you can use all Jekyll plugins available.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Pages allows you to create custom error pages.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition Premium ships with Deploy Boards offering a consolidated view of the current health and status of each CI environment running on Kubernetes. The status of each pod of your latest deployment is displayed seamlessly within GitLab without the need to access Kubernetes.
Starter: false | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition Premium can monitor your Canary Deployments when deploying your applications with Kubernetes.
Starter: false | Libre: false | Premium: true | Ultimate: true |
You can specify a retry keyword in your .gitlab-ci.yml file to make GitLab CI/CD retry a job for a specific number of times before marking it as failed.
Starter: true | Libre: | Premium: true | Ultimate: true |
The ability of running CI/CD pipelines on protected branches is checked against a set of security rules that defines if you’re allowed or not. It includes creating new pipelines, retrying jobs, and perform manual actions.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can include external files in your pipeline definition file, using them as templates to reuse snippets for common jobs.
Starter: true | Libre: | Premium: true | Ultimate: true |
Easily deploy different environments, like Staging and Production, to different Kubernetes clusters. This allows to enforce strict data separation.
Starter: false | Libre: | Premium: true | Ultimate: true |
Install Helm Tiller, Nginx Ingress, and Prometheus directly into your cluster from the GitLab Web UI with one click.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can mark a secret variable as “protected” to make it available only to jobs running on protected branches, therefore only authorized users can get access to it.
Starter: true | Libre: | Premium: true | Ultimate: true |
Limit the environment scope of a secret variable by defining which environments it can be available for.
Starter: false | Libre: | Premium: true | Ultimate: true |
Define variables at the group level and use them in any project in the group.
Starter: true | Libre: | Premium: true | Ultimate: true |
Auto DevOps brings DevOps best practices to your project by automatically configuring software development lifecycles by default. It automatically detects, builds, tests, deploys, and monitors applications.
Starter: true | Libre: | Premium: true | Ultimate: true |
Add your existing Kubernetes cluster to your project, and easily access it from your CI/CD pipelines to host Review Apps and to deploy your application.
Starter: true | Libre: | Premium: true | Ultimate: true |
Create a Kubernetes cluster on GKE directly from your project, just connecting your Google Account and providing some information. The cluster can be used also by Auto DevOps to deploy your application.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can determine the impact of a merge and keep an eye on their production systems, without leaving GitLab.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab comes out of the box enabled for Prometheus monitoring with extensive instrumentation, making it easy to ensure your GitLab deployment is responsive and healthy.
Starter: true | Libre: | Premium: true | Ultimate: true |
Easily detect performance regressions for web apps, prior to merging into master. Browser Performance Testing is included in Auto DevOps, providing automatic performance analytics of the root page with zero configuration.
Starter: false | Libre: | Premium: true | Ultimate: true |
Distribute read-only queries among multiple PostgreSQL database servers and reduce the load on the primary database to increase responsiveness.
Starter: false | Libre: false | Premium: true | Ultimate: true |
Create groups within groups to easily manage large numbers of people and projects.
Starter: true | Libre: | Premium: true | Ultimate: true |
Artifacts can be stored on Object Storage (Amazon S3)
Starter: false | Libre: | Premium: true | Ultimate: true |
LFS files can be stored on Object Storage (Amazon S3)
Starter: false | Libre: | Premium: true | Ultimate: true |
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.
Starter: false | Libre: | Premium: true | Ultimate: true |
For mission critical releases, you cannot afford downtime. Split your app servers, database, etc., into multiple instances and work in read-only mode during backups.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides a simple command line interface to backup or restore your whole installation, and is flexible enough to fit your needs.
Starter: true | Libre: | Premium: true | Ultimate: true |
Easily set up a highly available Postgres cluster with automated failover (beta)
Starter: true | Libre: | Premium: true | Ultimate: true |
Fail over in minutes to another data-center.
Starter: false | Libre: | Premium: true | Ultimate: true |
To avoid downtime, GitLab Enterprise Edition Premium offers support for High Availability (HA). A Service Engineer will help you identify your specific HA needs and map out an architecture.
Starter: false | Libre: | Premium: true | Ultimate: true |
Manage access and permissions with five different user roles and settings for external users. Set permissions according to people’s role, rather than either read or write access to a repository. Don’t share the source code with people that only need access to the issue tracker.
Starter: true | Libre: | Premium: true | Ultimate: true |
An admin can email groups of users based on project or group membership, or email everyone using the GitLab instance. This is great for scheduled maintenance or upgrades.
Starter: true | Libre: | Premium: true | Ultimate: true |
Forward your logs to a central system.
Starter: true | Libre: | Premium: true | Ultimate: true |
Group owners can prevent new members from being added to projects within a group.
Starter: true | Libre: | Premium: true | Ultimate: true |
Control the technology and key length of SSH keys used to access GitLab
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition gives your Admin’s the ability to automatically sync groups and manage SSH-keys, permissions, and authentication, so you can focus on building your product, not configuring your tools.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition Premium gives more flexibility to synchronize with LDAP based on filters, meaning you can leverage LDAP attributes to map GitLab permissions.
Starter: false | Libre: | Premium: true | Ultimate: true |
To maintain the integrity of your code, GitLab Enterprise Edition Premium gives admins the ability to view any modifications made within the GitLab server in an advanced audit log system, so you can control, analyze and track every change.
Starter: false | Libre: | Premium: true | Ultimate: true |
Auditor users are users who are given read-only access to all projects, groups, and other resources on the GitLab instance.
Starter: false | Libre: | Premium: true | Ultimate: true |
Authenticate users with Kerberos.
Starter: true | Libre: | Premium: true | Ultimate: true |
Block important or secret files from being accidentally pushed to a live repository with push rules.
Starter: true | Libre: | Premium: true | Ultimate: true |
Authorize SSH users via a fast, indexed lookup in the GitLab database.
Starter: true | Libre: | Premium: true | Ultimate: true |
Get the support you need. Our team of highly-skilled support engineers are available to help with all of your support needs.
Starter: false | Libre: | Premium: true | Ultimate: true |
GitLab responds within 30 minutes to any emergency.
Starter: false | Libre: false | Premium: true | Ultimate: true |
Schedule an upgrade time with GitLab. We’ll join a live screen share to help you through the process to ensure there aren’t any surprises.
Starter: false | Libre: false | Premium: true | Ultimate: true |
Receive support within a single business day.
Starter: true | Libre: | Premium: true | Ultimate: true |
Organize your repository into private, internal, or public projects.
Starter: true | Libre: | Premium: true | Ultimate: true |
Internal projects in GitLab allow you to promote innersourcing of your internal repositories.
Starter: true | Libre: | Premium: true | Ultimate: true |
Leverage Elasticsearch for faster, more advanced code search across your entire GitLab instance.
Starter: true | Libre: | Premium: true | Ultimate: true |
Use advanced queries for more targeted search results.
Starter: true | Libre: | Premium: true | Ultimate: true |
Search globally through the API
Starter: true | Libre: | Premium: true | Ultimate: true |
With contribution analytics you can have an overview for the activity of issues, merge requests and push events of your organization and its members.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab allows you to export your project to other systems.
Starter: true | Libre: | Premium: true | Ultimate: true |
Sync groups, manage SSH-keys, manage permissions, authentication and more. You can manage an entire GitLab instance through the LDAP / AD integration.
Starter: true | Libre: | Premium: true | Ultimate: true |
Link multiple LDAP servers to GitLab for authentication and authorization
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides APIs for most features, allowing developers to create deeper integrations with the product.
Starter: true | Libre: | Premium: true | Ultimate: true |
Use LDAP groups to create or remove admins from your GitLab instance.
Starter: true | Libre: | Premium: true | Ultimate: true |
Authenticate users with Atlassian Crowd.
Starter: true | Libre: | Premium: true | Ultimate: true |
Integrate with multiple LDAP servers for use when authenticating users.
Starter: | Libre: false | Premium: true | Ultimate: true |
Add webhooks by default to all projects in a group so you can ensure they are present everywhere.
Starter: true | Libre: | Premium: true | Ultimate: true |
Mirror a repository from elsewhere on your local server.
Starter: true | Libre: | Premium: true | Ultimate: true |
Integrate with Jenkins CI and display the merge request build status directly from the merge request.
Starter: true | Libre: | Premium: true | Ultimate: true |
Issues can be exported as CSV from GitLab and are sent to your default notification email as an attachment.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab ships with its own Container Registry, Docker CI Runner, and is ready for a complete CI/CD container workflow. There is no need to install, configure, or maintain additional plugins.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab and its CI/CD is Cloud Native, purpose built for the cloud model. GitLab ships with Red Hat OpenShift and Kubernetes support out of the box.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Runner supports Windows and can run jobs natively on this platform. You can automatically build, test, and deploy Windows-based projects by leveraging PowerShell or batch files.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Runner supports macOS and can run jobs natively on this platform. You can automatically build, test, and deploy for macOS based projects by leveraging shell scripts and command line tools.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Runner supports Linux operating systems on ARM architectures and can run jobs natively on this platform. You can automatically build, test, and deploy for Linux ARM based projects by leveraging shell scripts and command line tools.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Runner supports FreeBSD and can run jobs natively on this platform. You can automatically build, test, and deploy for FreeBSD-based projects by leveraging shell scripts and command line tools.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab can integrate with Authentication and Authorization (LDAP / AD) mechanisms, multiple 3rd party services, CI/CD, and other tools such as ALM, PLM, Agile and Automation tools.
Starter: true | Libre: | Premium: true | Ultimate: true |
Leverage the power of Git Hooks and chain them together to fire off custom scripts when certain actions occur on the repository. If the commit is declined or an error occurs during the Git hook check, the error message of the hook will be present in GitLab’s UI. GitLab supports all types of hooks.
Starter: true | Libre: | Premium: true | Ultimate: true |
To ensure that developers in GitLab and project managers in JIRA remain in tune, GitLab integrates with JIRA and provides the necessary tooling to fill that gap.
Starter: true | Libre: | Premium: true | Ultimate: true |
View GitLab repository information and navigate to GitLab from the JIRA development panel.
Starter: false | Libre: | Premium: true | Ultimate: true |
Manage large files such as audio, video and graphics files with the help of Git LFS. Git LFS 2.0 file locking support helps large teams work with binary assets and is integrated with our native file locking feature.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab can integrate with most of the authentication and authorization providers.
Starter: true | Libre: | Premium: true | Ultimate: true |
Easily enable HTTPS for your GitLab deployment with Omnibus GitLab packages.
Starter: true | Libre: | Premium: true | Ultimate: true |
View contributions per member of a group
Starter: true | Libre: | Premium: true | Ultimate: true |
The GitLab Community Forum is an active and vibrant place for all GitLab users to share and seek support.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab is updated with new features and improvements every month on the 22nd.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab CE/EE can be installed on physical servers, virtualized servers (dedicated or shared), purpose-built appliances and virtualized appliances. These aren’t available with hosted solutions. Likewise, most on-premises servers can be deployed on a variety of operating systems and there’s more choice of on-premises solutions in general.
Starter: true | Libre: | Premium: true | Ultimate: true |
You have complete control of the server/instance, so you can install additional software (intrusion detection, performance monitoring, etc.) and view log files on the server itself. GitLab’s advanced log system means everything gets logged and provides you with easy access to a wealth of log file information.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab can run on bare metal servers where you can have control of the disk I/O, CPU, RAM, etc. Scale horizontally without an issue.
Starter: true | Libre: | Premium: true | Ultimate: true |
You are free to run your own software on the instance that GitLab is running on. Have your own intrusion detection system? No problem.
Starter: true | Libre: | Premium: true | Ultimate: true |
You can use your choice of configuration management software, from Puppet, Chef, Ansible for quick and straightforward implementation.
Starter: true | Libre: | Premium: true | Ultimate: true |
Use the tools you know for monitoring and maintenance, whether they’re standard or your own. GitLab doesn’t restrict you.
Starter: true | Libre: | Premium: true | Ultimate: true |
Use GitLab’s official repositories or manually download the package to install GitLab in a few steps. All major Linux distributions are supported.
Starter: true | Libre: | Premium: true | Ultimate: true |
All configuration options for administering a GitLab instance are in a single file. Say no to complex setups, your admin will thank you.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition is publicly readable, meaning you can scan or modify the code to meet your security and development needs. The code used by most other providers is proprietary, meaning you cannot edit or view the source code.
Starter: true | Libre: | Premium: true | Ultimate: true |
Containing your company’s IP behind the company’s firewall gives you protection from unauthorized access. Learn from the lessons of Code Space.
Starter: true | Libre: | Premium: true | Ultimate: true |
Take control of maintenance downtime, don’t be at the mercy of your hosting provider. Control how and where your code is backed up and stored.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab releases a new version each month and lets you choose when to upgrade.
Starter: true | Libre: | Premium: true | Ultimate: true |
Using our official Linux repositories or the official Docker image, upgrading GitLab is a breeze.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab is the most adopted on-premises solution for developer collaboration, deployed at over 100,000 organizations worldwide.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab has open issue trackers for almost all of its operations. From GitLab itself to infrastructure and marketing, you can help shape the product.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides a dashboard that lets teams measure the time it takes to go from planning to monitoring. GitLab can provide this data because it has all the tools built-in: from the idea, to the CI, to code review, to deploy to production.
Starter: true | Libre: | Premium: true | Ultimate: true |
When a user is mentioned in or assigned to a merge request it will be included in the user Todos, making the development workflow faster and easier to track.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab.com is at 99.5% availability while we want to be above 99.95%. We’re hiring to improve this in the last two months of 2017 and in 2018.
Starter: true | Libre: | Premium: true | Ultimate: true |
In GitLab, you can quickly create a new branch from an issue on the issue tracker. It will include the issue number and title automatically, making it easy to track which branch belongs to which issue.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab provides a convenient way to change metadata of an issue or merge request without leaving the comment field with slash commands.
Starter: true | Libre: | Premium: true | Ultimate: true |
Other tools require the integration of multiple 3rd party tools to complete the software development lifecycle. GitLab has a completely integrated solution that covers the entire development lifecycle.
Starter: true | Libre: | Premium: true | Ultimate: true |
If you host GitLab yourself, IPv6 is supported as long as your underlying provider can support it. GitLab.com on the other hand does not support IPv6 at the moment due to limited provider support.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab Enterprise Edition gives your administrator the ability to automatically sync groups and manage SSH-keys, permissions, and authentication, so you can focus on building your product, not configuring your tools.
Starter: | Libre: false | Premium: true | Ultimate: true |
Accelerate idea-to-production by identifying areas of improvement in your entire development process. See how you compare to other organizations using GitLab.
Starter: true | Libre: | Premium: true | Ultimate: true |
Git, on which GitLab is built, is fully distributed. Every user has a complete copy of the repository, allowing for much faster access to history, easier branching and an overall better experience.
Starter: true | Libre: | Premium: true | Ultimate: true |
Git is really fast. Performing a diff, viewing history, committing and merging changes, obtaining any revision and any form of branching is very quick.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab is built with a responsive-first design approach. Be it on a desktop, tablet or smartphone, GitLab is optimized to be viewed for the best result.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab.com has shared Runners that allow you to use GitLab CI/CD completely free up to 2000 build minutes for private projects and unlimited for public projects. Alternatively, you can set up your own Runner for faster build processing, unlimited build minutes, or special requirements.
Starter: true | Libre: | Premium: true | Ultimate: true |
GitLab is meant to be the best place for any software project. The team behind GitLab is addressing issues that maintainers and contributors to large open source projects are facing, to make it easier to do both.
Starter: false | Libre: false | Premium: false | Ultimate: false |
Easy installation method for Linux, macOS, and Windows with a binary file.
Starter: false | Libre: false | Premium: false | Ultimate: false |
Uses little memory, it runs fine with 512MB. Uses little CPU power since Go is a compiled language
Starter: false | Libre: false | Premium: false | Ultimate: false |
The ability to specify code owners or reviewers in the repository.
Starter: false | Libre: false | Premium: false | Ultimate: false |
View horizontal swimlanes of issues in the issue board, separated by milestones or labels.
Starter: false | Libre: false | Premium: false | Ultimate: false |
Use a noreply email address for your commits instead of your personal email address private.
Starter: false | Libre: false | Premium: false | Ultimate: false |