Published on February 12, 2013
2 min read
Yeap GitLab 5.0 will be without gitolite. Read this artlicle to learn more.
Gitolite was a real help when we started with GitLab. It saves us a lot of work and provide a pretty functional solution.
But after time we understood - keep gitlab and gitolite synced is harder than build own solution.
GitLab Shell is my replacement for gitolite.
Basically it's a few scripts on ruby and shell for managing /home/git/.ssh/authorized_keys
and /home/git/repositories
You can find source code on github
Earlier we have 2 users for GitLab. gitlab for GitLab and git for gitolite.
Now its only one git
user for GitLab and GitLab Shell
This is the directory structure you will end up with following the instructions in the Installation Guide.
|-- home
| |-- git
| |-- .ssh
| |-- gitlab
| |-- gitlab-satellites
| |-- gitlab-shell
| |-- repositories
Its was ~ 1000 lines of code related to gitolite inside of GitLab. And one library for parsing gitolite config.
Now it is only 150 lines of pretty simple code related to gitlab shell.
For https://gitlab.com we decreased project creation time in 10 times.
GitLab Shell does not store Access Control List. It asks GitLab for permissions via api.
No out of sync between GitLab and GitLab Shell == much stable backend solution.
You can update gitlab-shell just by git pull
You dont even need to restart gitlab service
Currently I'm working on migration docs to GitLab 5.0.0pre. You can find a draft here
Find out which plan works best for your team
Learn about pricingLearn about what GitLab can do for your team
Talk to an expert