A couple weeks ago I was introduced to a application called Gitlab, and I must say, I love using it. For those of you who don’t know, Gitlab is a self-hosted alternative to Github. It has almost every feature Github provides, and a couple features that Github doesn’t have.

Awesome Stuff

Possibly the best thing Gitlab provides, is the ability to have unlimited Private & Public (private by default) repos, for free. Then there is stuff like user/repo management, service hooks, a nice GUI, Team management, wiki support, and of course, Gitlab is open source.

Drawbacks

While I think Gitlab is simply fantastic to use, setup is another story. While I was installing on Ubuntu Server 13.02, I ran into several issues that required me googling around, in order to solve them. 2 specifically annoying problems were:

  • One of the config files was located in a specific branch but the instructions used the Master branch version of the file.
  • When adding the ssh info to your local git repo, you need to use the servers absolute path to the repo, and not the path shown in Gitlab.

For the second problem, I haven’t found a “complete” solution, but it is entirely possible that is a problem specific to my machine. To help solve this problem for me, I added mount -o bind /home/git/repositories /repo to /etc/rc.local and restated my machine. Given that both the source and destination already exist as directories, the command works perfectly.

This means this:

ssh://git@my-git-server.com/home/git/repositories/project-name.git

is changed to this:

ssh://git@my-git-server.com/repo/project-name.git

Thankfully, the creators of Gitlab have created a very detailed install guide, and this guide will help you solve most problems you might encounter.

Conclusion

Gitlab might be a bit of a pain to setup, but it is totally worth it.

Originally published by Nicholas Jordon at coderwall.com

#web-development

GitLab vs. GitHub: Distinctive feature for developers
4 Likes9.65 GEEK