When comparing GitLab vs RUDDER, the Slant community recommends GitLab for most people. In the question“What are the best DevOps tools?” GitLab is ranked 3rd while RUDDER is ranked 5th. The most important reason people chose GitLab is:
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.
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 Supports pull requests
Has pull request (aka. merge request) support.
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 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 Has wiki's and pages
Wiki and pages support out of the box.
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 Easy to install with the packages
With the packages available here, GitLab can be installed in two minutes.
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 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 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 "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 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 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 feature 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 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 Very feature rich RESTful-API
Pro Continuous configuration - dedicated to production
Rudder checks every rule that has been set up to keep it compliant over time. It is a tool made to be used in production. It's not a dev tool where there is no continuity constraint.
Pro Web UI + CLI + API
There is 3 ways to use Rudder. The biggest surprise is that everything that can be done with code is also possible with the web interface, without knowing anything about development or automation, generally speaking.
Pro Light agent developed in C - up to 10 000 nodes
The agent has nearly no impact concerning resources and that is the reason why Rudder is able to manage thousands of servers without any performance issues.
Pro Codeless user interface with built-in template library and editor
Non-expert users can define parameters in a central interface, and Rudder will automatically make sure that IT services are installed, configured, running and in good health. All actions (checks, warnings, fixed errors…) are reported upon immediately in the user interface, keeping drift from nominal behaviour low.
Pro Free and open source
Apart the agent on proprietary OS (AIX, Windows, ...) , Rudder is an open source and free software. This means that the code source is available on Github for every part of Rudder (Rudder webapp, and every other Normation repository). This also means that packages for a wide range of distributions are released and available to download freely.
Pro Running on Linux, Windows, AIX, Solaris, Android...
Rudder can manage quite everything. So far only HP-UX and iOS don't have their own agent version, but everything else is available already.
Con Not all features are free
Con No squash on merge possibility in CE
Con Bad code review possibilities
No precommit reviews.
Con Needs too much RAM for a Raspberry Pi
On a Raspberry Pi 2 it runs fine most of the time, though it eats 75% of the RAM. For bigger servers it should be fine but it needs to be noted that for smaller machines with little RAM it's not ideal.
Con Git only
Supports only Git version control system.
Con No Windows support
There is no support for Windows. The use of a virtual machine will be required.
Con Community growing but not very big at this day
There is more and more people getting involved in the Rudder community, but it's nothing compared to Puppet community so far.
Con Not a one-shot deployment tool
Rudder is overkill if the goal is only to push one-time actions. Hopefully, a plugin is available to connect Rudder with Ansible and enhance its capability.