It handles the the full installation, including Ruby (via rbenv for better or worse), and while it tries to be isolated and not step on too many dependency toes, I still recommended confining it to one server. Most features can be turned off and handled separately (i.e. HTTP server [Nginx] and database [Postgres]).
Another great module is https://github.com/spuder/puppet-gitlab which uses the Omnibus packages.
It’s well tested and mostly keeps up with the latest releases. GitLab CI Omnibus is not yet well-supported.
I guess I shouldn’t have said best then! I like that it uses the omnibus package, as that is what I’ve personally switched to since I’m not deploying multiple servers.
Spuder module author here.
The sbadia module uses rake to compile gitlab from source, the spuder module uses the omnibus packages.
Last time I checked, the sbadia module didn’t work with gitlab 7.
Both modules are good and are in use by a lot of people. (Though I am biased towards one of them).