When comparing GitLab vs Deveo, the Slant community recommends GitLab for most people. In the question“What are the best hosted version control services?” GitLab is ranked 1st while Deveo is ranked 14th. The most important reason people chose GitLab is:
GitLab is a free and open source project licensed under MIT. Source code for Enterprise Edition can be found [here](https://gitlab.com/gitlab-org/gitlab-ee) and Community Edition [here](https://gitlab.com/gitlab-org/gitlab-ce).
Ranked in these QuestionsQuestion Ranking
Pro Good web UI
GitLab's UI is clean and intuitive. Each view is designed to not fill the screen with useless information.
It displays the activity in a feed-type way in the most prominent part of the view. On top of that, there's a toolbar with buttons which can filter this feed by pushes, merge events or comments.
On the left, there's a menu that displays all the links that take you to the different views. For example, a file directory which displays all the files in that repo, a commit view which displays all the commits in cronological order, a network and a graph view that display important information graphically etc...
All these details make GitLab's UI extremely intuitive and easy to use, no view is overflown with information and every view displays only the most useful and crucial information needed at that time.
Pro Has wikis and pages
Wiki and pages support out of the box.
Pro Regular updates
GitLab is being constantly worked on and has a new release every month on the 22nd. Updating is also very easy through a single apt-get command.
Pro Supports pull requests
Has pull request (AKA, merge request) support.
Pro Easy to install with the packages
With the packages available here, GitLab can be installed in two minutes.
Pro Support for protected branches
A protected master branch means that no code can be merged to master without passing a code review by an authorised developer. With GitLab this comes out of the box.
Pro Comes with integrated CI/CD solution
GitLab CI makes it easy to set up CI and deployment for projects in GitLab. It supports parallel testing, multiple platforms, Docker containers and streaming build logs.
Pro Permissions and roles are supported
It has private/public repositories, roles for users (master, developer, reporter, guest). All of these can be set from the user interface. Same permissions set for the UI work for the SSH as well.
Pro Issue tracking support
Has issue tracking out of the box. Creating tickets, commenting on issues, closing issues etc... It's all there out of the box.
Pro Integrates fully with LDAP
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network.
GitLab EE adds additional functionality over CE such as support for multiple LDAP servers and group sync.
Pro Supports Approvers/Reviewers of Pull/Merge requests
Since 7.12 you can define a minimum number of approvers for merge requests.
Pro "Snippets" support
Snippets are similar to (well-known) GitHub "gists". They are a way to share code or have conversations about anything without needing a full git repo. The implementation here reminds more of a sort of pastebin.
A single instance can handle up to 40,000 users (requires a server with 64 core CPU and 64 GB of RAM) and it can run on multiple application servers to grow beyond that.
Pro Manages large files and binaries with integrated Git Annex
Git Annex enables Git to manage large files (esp binaries) without checking them into Git.
Pro Integrates with other systems by webhooks
Integrates out of the box with services like Bugzilla, Pushbullet, Microsoft Team Notification and many more - one can also add own webhooks to integrate with own services.
Pro Most GitLab EE features become part of GitLab CE after time
EE is the commercial Enterprise Edition, CE is the free and OpenScource Community Edition. Features such as Cycle Analytics were first a part of the EE and are now also available in CE.
Pro Can provide a Docker registry
The default docker.io registry is the docker hub but you can also login to other docker registries. And GitLab provides one for all Repos that make use of this feature.
Pro Integration with third party applications
GitLab integrates with multiple third-party services to allow external issue trackers and external authentication.
GitLab can integrate with many third-party apps to allow external issue tracking and authentication. It can also be integrated with several services, such as:
- Pivotal Tracker
Pro Very feature rich RESTful-API
GitLab exposes a REST API that allows automation possible, like PR bots.
Pro Allows Timetracking with Cycle-Analytics
Very useful project management feature that allows you to know how long it takes to go from the idea to production.
Pro Git, Subversion and Mercurial support
Deveo supports Git, Subversion and Mercurial repositories. You can access the repositories through HTTPS and SSH protocols.
Pro Repositories are grouped by project
In services such as Gitlab and GitHub repositories are not grouped by default. When doing other than open source software development, however, Deveo generally has at least backend and front-end in separate repositories that both connect to the same project. In Deveo, repositories always belong to a project and share the same Wiki and Issue tracking space, which makes it easier to find the project specific information.
Pro Both Cloud and On-Premises supported
You can install Deveo on your own servers, as mentioned above, or use it from Deveo's own cloud instance.
Pro Local accounts, LDAP, AD or SAML2 single sign-on
Deveo supports using multiple authentication scenarios. You may use Deveo local user database for simple usage. You can authenticate Deveo against your organization's centralized user directory (LDAP, AD) and you can even integrate it with an SAML2 based single sign-on service.
Pro Supports also Subversion and Mercurial
In addition to Git support, Deveo also supports hosting Mercurial and Subversion repositories. Deveo code reviews also support feature branch workflows using Mercurial bookmarks or branches.
Pro WebDAV repository support
In addition to Git, Subversion and Mercurial repositories, you can host WebDAV based binary repositories in Deveo. WebDAV is a technology that allows you to set up private dropbox type repositories where you can simply drag-and-drop files through OSX finder for example. It's a convenient way to store binary packages, project documentation, specifications and more.
Pro Scalability and high-availability
Deveo can be set up in three different modes: combo, where you have everything on one server, high-availability, where you have separated database server, and cluster, where you have multiple web nodes serving the load. The cluster setup has been field-tested with thousands of concurrent users.
Pro Better issue tracking than GitHub, Gitlab or Bitbucket
Issue tracking in Deveo is better compared to GitHub, Bitbucket or Gitlab. In Deveo you can define arbitrary states for issues, meaning you can model your team's workflow as it is in real life. In addition to arbitrary states for issues, you have free control over priorities and labels that enhance the experience.
Pro Git powered wiki
Deveo has a project based built-in markdown based Wiki, that allows you to host your project documentation in one place. The whole wiki history is saved to a Git repository, which you can checkout and edit locally if you need. Deveo offers a unique split view for editing the wiki pages, that updates the preview automatically while you write. No longer do you need to guess whether the markdown syntax is right or wrong.
Pro Free private repositories
Deveo's cloud is free to use with unlimited private repositories, users, and projects. The free plan includes 1GB of total disk space, and after that the price is 1 euro/GB/month.
Pro Free cloud instance
Deveo offers a free cloud with. You'll be able of signing up here.
Con Not all features are free
GitLab's Service Desk features and some more are only available in GitLab EE.
Con Not lightweight
GitLab is demanding, Gitea is a much more lightweight solution which uses less CPU and memory.
Con The upgrade process fails more often than not
Even for minor versions such as 9.2.0 to 9.3.0. Sometimes the upgrade failure is silent and only seen when logging in first time after update and an http 502 error is given.
Con Kind of slow
Con Requires at least 1GB of RAM
The default installation is meant for already many users and recommends 2GB of RAM. 1GB is possible but results in some HTTP 500 errors. On a Raspberry Pi 2 it runs fine most of the time, though it eats 75% of the RAM.
Another option is to reduce
unicorn['worker_processes'] in gitlab.rb.
Con Bad code review possibilities
No precommit reviews.
Con No Windows support
There is no support for Windows. The use of a virtual machine will be required.
There's no open source version of Deveo available.
Con On-premises plan is paid
Deveo's on-premises plan is a paid service. The price is 3 euros, per user, per month, and it includes a free 30-day trial.