It took me a while to understand how to install gitlab on my server. The simplest part of gitlab to install is gitlab-ci runner as it doesn’t require any database, …
First of all I want support developers in using the latest technology, I don’t like supporting old stuff. Nevertheless, on the other hand I now understand why omnibus packages are so shity.
The biggest pain in ass is ruby. We are currently running on Centos 6 (latest stable release), which has Ruby 1.8.7 as a default version. We also manage all servers via puppet. The cool thing is that puppet instalation is really smooth. Just add puppet repository, type yum install puppet and it will install ruby automaticaly.
The issue comes when you want to use puppet (which uses ruby 1.8.7) and gitlab (which uses ruby 2.0.0+). You must have two ruby instalations to support both of them.
Many friends of mine struggle from gitlab instalation. They are mostly php developers and debugging what is missing and why it is not working is extremely difficult for them.
My personal advice for Gitlab developers is to backport their software to run (at least) on ruby 1.8.7, which is currently centos stable and ruby 1.9.3 (debian stable). Check redmine packages to see how easy can instalation be. Just few dependencies and that’s it. There is no point in compiling nginx if you can just use dependencies.
Most of the users are not so handy to install your software, make it more comfortable for them to use it and you will see the growth in the number of users. I can even imagine to put your fancy software to the offical repositories.