GitLab and GitLab Enterprise

GitLab is a web-based Git repository hosting service. It offers all of the distributed revision control and source code management (SCM) functionality of Git as well as adding its own features. GitLab Enterprise Edition builds on top of Git and includes extra features. It has LDAP group sync, audit logs and multiple roles. It includes deeper authentication and authorization integration, has fine-grained workflow management, has extra server management options and it integrates with your tool stack. GitLab EE runs on your servers (on premise) behind your firewall.

GitLab provides the following:

  • Version control and repository management based on Git
  • Issue management, bug tracking and boards
  • Code Review functionality and Review Apps tool
  • Continuous Integration/Deployment tool (GitLab CI/CD)
  • Code Quality (Code Climate)
  • ChatOp tool (Mattermost)
  • Service Desk (ticketing system)
  • Wiki (version controlled)
  • Rich API
  • Repository mirroring and high availability (HA)
  • Development Analytics
  • Performance monitoring
  • Integration with IDEs like Visual Studio, Eclipse, IntelliJ and Koding
  • Integration with JIRA, Jenkins, Slack, Docker, Kubernetes, LDAP and more
  • On-premise or cloud-based installations
  • Hosting static websites (GitLab Pages)

Download as a PDF and share with your colleagues

New
v16 !
Download GitLab PDF

Watch GitLab v10.2 Overview

GitLab's Benefits

  • Open source: you get full control over the tool - you can change it and customize it as you wish
  • Built on top of Git: If you like Git you like GitLab too!
  • One tool that covers it all : GitLab includes source control; issue tracker; code review; wiki; Continuous Integration (GitLab CI); Analytics and more
  • On-premise or hosted (on cloud) gives you full control over the installation
  • Scalable: support 25,000 users on one server or a highly available active/active cluster
  • Private repositories are available even with Community Edition!

How We Can Help You

gitlab channel partner badge GitLab virtuoso
GitLab authorized reseller Israel Europe Certified for IBM Rational Software Jenkins certified expert Certified Scrum Master
ALMtoolbox company is a GitLab premier reseller. We have experts that can help you with the following:
  • Plan a new implementation and setting up new environments
  • Implement integration with JIRA, Jenkins, Slack, Docker and other tools
  • SLA -based managed services (GitLab as a Service), including "Bring your own Cloud"
  • Customizations and add-ons development
  • GitLab and Git training
  • Implement migration from Git, GitHub, BitBucket, ClearCase, RTC, SVN, JIRA, Jenkins and more
  • We can help you with purchasing and managing licenses
Contact us: gitlab@almtoolbox.com or +972-722-405-222 / 866-503-1471 (USA/Canada)

Features and Pricing

Feature \ Product Edition      Free Enterprise Premium
Get a Quote
Enterprise Ultimate
Get a Quote
Customer Support & SLA
Download updates
Email support -
Priority support Get the support you need. Highly-skilled support engineers are available to help you with all of your support needs.
- 4-hour response time 4-hour response time
24/7 Emergency support - 30-minute response time 30-minute response time
Features
Version Control and Collaboration GitLab makes modern Source Code Management easy.
Built-in CI/CD 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.
Static Application Security Testing 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](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast) to provide security-by-default.
Issue Tracker 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.
Issue Boards (project and group levels) Create Issue Boards at the project /group levels and manage all issues of the underlying projects in a single and concentrated view. GitLab provides a dashboard that lets teams measure the time it takes to go from an idea to production. 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.
Multiple Project Issue Boards 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.
Time tracking Time Tracking in GitLab lets your team add estimates and record time spent on issues and merge requests.
Git LFS 2.0 support 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.
Cycle Analytics 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.
Preview your changes with Review Apps 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.
Mattermost integration (ChatOp) Mattermost is a Slack-like ChatOp tool and it can be automatically installed and integrated using GitLab Omnibus
Publish static websites for free with GitLab Pages GitLab Pages provides an easy system for hosting static sites using GitLab repositories and GitLab CI, complete with custom domains and HTTPS support.
Keep track of releases using GitLab Releases GitLab's Releases allow you to track deliverables in your project. Consider them a snapshot in time of the source, build output, and other metadata or artifacts associated with a released version of your code.
Group-level milestones Create and manage milestones across projects, from the group level. View all the issues for the milestone you’re currently working on across multiple projects.
Web IDE Contribute to projects faster by using the Web IDE to avoid context switching in your local development environement
Squash and merge Combine commits into one so that main branch has a simpler to follow and revert history
Fast-forward merge with option to rebase 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
Cherry-picking changes Cherry-pick any commit in the UI by simply clicking the Cherry-Pick button in a merged merge request or a specific commit
Innersourcing Internal projects in GitLab allow you to promote innersourcing of your internal repositories
Global Search API Search globally through the API
Export projects GitLab allows you to export your project to other systems
Built-in and custom project templates When you create a new project, creating it based on custom project templates is a convenient option to bootstrap from an existing project boilerplate
Lock Discussion Lock down continued discussion in an issue or merge request as a Master role or higher, to prevent further abuse, spam, or unproductive collaboration
Create merge request from email Create a merge request from email by sending in the merge request title, description, and source branch name. Alternatively use patch files to create a merge request without first pushing a branch
Squash and merge Combine commits into one so that main branch has a simpler to follow and revert history.
Multiple Project Issue Boards 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.
-
Configurable Issue Boards Associate a board with a milestone, labels, an assignee, and a weight
-
Multiple LDAP server support (compatible with AD) Integrate with multiple LDAP servers for use when authenticating users.
-
Issue Board Focus Mode 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.
-
Multiple LDAP / AD server support Link multiple LDAP servers to GitLab for authentication and authorization
-
Multiple approvals in code review 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.
-
Related issues Explicitly mark issues as related and track their status.
-
Issue Weights GitLab lets you manage issues using Agile practices by setting the weight of an issue.
-
Burndown Charts for Project Milestones 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.
-
Multiple assignees for issues Assign more than one person to an issue at a time.
-
Advanced Global Search Leverage Elasticsearch for faster, more advanced code search across your entire GitLab instance.
-
Advanced Syntax Search Use advanced queries for more targeted search results.
-
Create and remove admins based on an LDAP group Use LDAP groups to create or remove admins from your GitLab instance.
-
Kerberos user authentication Authenticate users with Kerberos.
-
Group webhooks Combine commits into one so that main branch has a simpler to follow and revert history.
-
Push rules Reject new code and commits that don't comply with company policy.
-
Block secret file push Block important or secret files from being accidentally pushed to a live repository with push rules.
-
Remote repository pull mirroring Mirror a repository from elsewhere on your local server.
-
Display merge request status for builds on Jenkins CI Integrate with Jenkins CI and display the merge request build status directly from the merge request.
-
Email all users of a project, group, or entire server 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.
-
Limit project size at a global, group, and project level Ensure that disk space usage is under control.
-
Omnibus package supports log forwarding Forward your logs to a central system.
-
Lock project membership to group Group owners can prevent new members from being added to projects within a group.
-
Export issues as CSV file Issues can be exported as CSV from GitLab and are sent to your default notification email as an attachment.
-
Admin Control 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.
-
Merge approvals 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.
-
Merge request approvals 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.
-
LDAP group sync 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.
-
Code Quality 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.
-
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.
-
Include external files in CI/CD pipeline definition You can include external files in your pipeline definition file, using them as templates to reuse snippets for common jobs.
-
Contribution Analytics With contribution analytics you can have an overview for the activity of issues, merge requests and push events of your organization and its members.
-
Manage third party offers GitLab 11.1 introduces the ability to control the display of third party offers in the administration area, providing more control over the display of these offers
-
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, and shown when viewing files.
-
Timed and manual incremental rollout deployments GitLab can allow you to deploy a new version of your app on Kubernetes starting with just a few pods, and then increase the percentage if everything is working fine. This can be configured to proceed per a schedule or to pause for input to proceed.
-
NPM Registry GitLab's NPM repository makes it easier to publish and share NPM packages across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization.
-
Backlog Management Able to capture and track future features, capabilities and work in a consolodated and organized list which enables the team to organize, prioritize, accept, plan and start work on relevant items. The backlog is where future work is captured, defined, evaluated, and planned. Specific features would include: Backlog, user stories, issues, effort estimate, priority, backlog board
-
Issue Board Assignee Lists Issue board lists that pull in issues assigned to a given user
-
Custom Additional Text in Emails Include custom additional text in all emails sent by GitLab, such as including disclaimer text
-
Approval rules for code review Make sure the right people review merge requests with approval rules by specifying lists of eligible approvers and minimum number of approvals for each. This makes it easy to request review from different teams like Engineering, UX and Product.
-
PostgreSQL High Availability (HA) Easily set up a highly available Postgres cluster with automated failover (beta)
-
Issue Analytics See issue analytics at the group level
-
Custom Text in Emails Include custom additional text in all emails sent by GitLab, such as including disclaimer text
-
LDAP group sync filters GitLab Enterprise Edition Premium gives more flexibility to synchronize with LDAP based on filters, meaning you can leverage LDAP attributes to map GitLab permissions.
-
Live upgrade assistance 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.
-
Audit Logs 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.
-
Auditor users Auditor users are users who are given read-only access to all projects, groups, and other resources on the GitLab instance.
-
Disaster Recovery (DR) Fail over in minutes to another data-center.
-
Reject unsigned commits GitLab Enterprise Edition Premium allows you to enforce GPG signatures by rejecting unsigned commits.
-
Verified Committer Verify that a push only contains commits by the same user performing the push.
-
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.
-
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.
-
Environment-specific variables Limit the environment scope of a secret variable by defining which environments it can be available for.
-
Object storage for artifacts Artifacts can be stored on Object Storage (Amazon S3)
-
Object storage for LFS LFS files can be stored on Object Storage (Amazon S3)
-
Support for multiple Kubernetes clusters Easily deploy different environments, like Staging and Production, to different Kubernetes clusters. This allows to enforce strict data separation.
-
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.
-
Service Desk 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.
-
Support for High Availability 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.
-
File Locking 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.
-
Deploy Boards 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.
-
Timed and incremental rollout deployments GitLab can allow you to deploy a new version of your app on Kubernetes starting with just a few pods, and then increase the percentage if everything is working fine.
-
Canary Deployments GitLab Enterprise Edition Premium can monitor your Canary Deployments when deploying your applications with Kubernetes.
-
Multiple Group Issue Boards Multiple Group Issue Boards, similar to Multiple Project Issue Boards (above)
-
JIRA development panel View GitLab repository information and navigate to GitLab from the JIRA development panel.
-
Browser Performance Testing 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.
-
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.
-
CI/CD for GitHub Connect your projects hosted on GitHub and leverage the power of GitLab CI/CD pipelines to build, test, and deploy your applications easily.
-
SAML SSO for Groups Connect a group in GitLab EE to a SAML identity provider to manage authentication.
-
Instance file templates Define custom LICENSE, .gitignore, Dockerfile and .gitlab-ci.yml templates for your GitLab instance to make consistency easier.
-
Group file templates Define custom LICENSE, .gitignore, Dockerfile and .gitlab-ci.yml templates for a Group to make consistency easier.
-
Protected Environments Specify which person, group, or account is allowed to deploy to a given environment, allowing further protection and safety of sensitive environments
-
Maven Repository GitLab's Maven repository makes it easier to publish and share Java libraries across an organization, and ensure dependencies are managed correctly. It is fully integrated with GitLab, including authentication and authorization
-
Feature Flags This feature gives you the ability to configure and manage feature flags for your software directly in the product. Simply create a new feature flag, validate it using the simple API instructions in your software, and you have the ability to control the behavior of your software in the field via the feature flag within GitLab itself
-
Merge request reviews Write multiple saved draft comments in a merge request code review, before submitting them together all at once. This allows you to review code in consistent, and self-contained sessions, instead of as individual comments
-
Smart card support Authenticate into GitLab using a smart card with a compliant X.509 certificate
-
Portfolio Management Plan and track work at the project and portfolio level. Manage capacity and resources together with Portfolio Management
- -
Multi-level Child Epics Plan and track strategies, initiatives, and features with multi-level epics that collect issues together.
- -
Scrum Able to support the time-boxed (sprint) approach of the Agile -Scrum software delivery. Specific features would include: Issues, scrum boards, burndown charts, burn up
- -
Automated solutions for vulnerabilities Download and apply a patch to fix vulnerabilities affecting your codebase.
- -
Epics Plan and track work at the feature level by collecting multiple issues together in the same group.
- -
Reorder Issues in Epic Reorder issues in an epic to indicate priority or intended order of implementation.
- -
Epic Fixed Dates Use fixed dates to do top-down planning of epics.
- -
Epic Dynamic Dates Use dynamic dates to do bottoms-up planning and tracking of epics, taking into account of dates of children.
- -
Promote Issue to Epic Promote an issue to epic to continue collaboration at a higher-level work abstraction.
- -
Roadmaps Visualize multiple epics across time in a roadmap view
- -
Application performance alerts GitLab allows engineers to seamlessly create service level indicator alerts and be notified of any desired events, all within the same workflow where they write their code
- -
Web Terminal for Web IDE Interact with your code in a Web Terminal in the Web IDE to inspect API responses, experiment in a REPL, or compile your code
- -
Security Dashboards Security Dashboard report the latest security status of the default branch for each project
- -
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](https://docs.gitlab.com/ee/topics/autodevops/#auto-dependency-scanning) to provide security-by-default.
- -
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. This feature is available as part of [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-container-scanning) to provide security-by-default.
- -
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. This feature is available as part of [Auto DevOps](https://docs.gitlab.com/ee/topics/autodevops/#auto-sast) to provide security-by-default.
- -
Kubernetes Cluster Monitoring Monitor key metrics of your connected Kubernetes cluster.
- -
ChatOps Execute common actions directly from chat, with the output sent back to the channel.
- -
License management Check that licenses of your dependencies are compatible with your application
- -
Free Guest users Guest users don't count towards the license count.
- -
View Kubernetes pod logs Quickly and easily view the pod logs of an app deployed to Kubernetes.
- -
Easily view traces in Jaeger Users can easily open the Jaeger UI and view traces, from GitLab.
- -
Suggest changes Collaborating on merge requests without copy/pasting to accept a suggested change. Changes can be suggested when leaving a comment on a merge request diff and accepted with a single click
- -
Automated solutions for vulnerabilities Download and apply a patch to fix vulnerabilities affecting your codebase.
- -
Pricing and available licenses Free Subscription

Get a Quote
Subscription

Get a Quote

Need help deciding? Email us or use the chatter below

GitLab Training

We provide a variety of GitLab programs for private groups or as a public class. We can do this remotely or on-site.
We provide the following classes:

  1. GitLab + Git for end users (2 days). Click to watch syllabus.
  2. GitLab for administrators (1 day). Click to watch syllabus.
  3. GitLab CI/CD (1 day). Click to watch syllabus.
  4. SCM planning and branch strategy with GitLab (1/2 day – 1 day)

We can train in the following languages: English, Russian, Lithuanian and Hebrew.
Contact us for quotes or for any questions: training@almtoolbox.com

Testimonials and Customers Stories

We had more than 2,000 GitLab projects in just a few months! That's a very fast adoption rate compared to our other code hosting platforms. While we are not yet actively asking users to move their projects to GitLab, many are attracted by GitLab's features and move proactively"

Alexandre Lossent, Service Manager for the version control systems at CERN (the European Organization for Nuclear Research)

GitLab enables us to balance internal team preferences with management requirements. The team had always wanted to move to Git, but they also wanted a user-friendly interface to help their workflows - and GitLab provides it all!"

Keith Harris, Associate Director and Software Architect , 360i

GitLab is a great private repository. I like its wiki, web hooks, intuitive interface and GitLab CI continuous integration feature"

Sean Francis Ballais, Freelance Programmer