Replacement for gitolite. This repo is a mirror of https://gitlab.com/gitlab-org/gitlab-shell/
GitLab Shell handles git SSH sessions for GitLab and modifies the list of authorized keys. GitLab Shell is not a Unix shell nor a replacement for Bash or Zsh.
When you access the GitLab server over SSH then GitLab Shell will:
If you access a GitLab server over HTTP(S) you end up in gitlab-workhorse.
An overview of the four cases described above:
GitLab Shell is written in Go, and needs a Go compiler to build. It still requires Ruby to build and test, but not to run.
Download and install the current version of Go from https://golang.org/dl/
We follow the Golang Release Policy of supporting the current stable version and the previous two major versions.
Checks if GitLab API access and redis via internal API can be reached:
bundle install make test
Run both test and verify (the default Makefile target):
bundle install make validate
Starting with GitLab 8.12, GitLab supports Git LFS authentication through SSH.
For each version, there is a raw version and a tag version:
v. For instance,
To release a new version of GitLab Shell and have that version available to the Rails application:
CHANGELOGwith the tag version and the
VERSIONfile with the raw version.
GITLAB_SHELL_VERSIONin the Rails application to the raw version. (Note: this can be done as a separate MR to that, or in and MR that will make use of the latest GitLab Shell changes.)