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.
GitLab supports Git LFS authentication through SSH.
Development documentation for GitLab Shell has moved into the gitlab repository.
| Directory | Description |
|---|---|
cmd/ | 'Commands' that will ultimately be compiled into binaries. |
internal/ | Internal Go source code that is not intended to be used outside of the project/module. |
client/ | HTTP and GitLab client logic that is used internally and by other modules, e.g. Gitaly. |
bin/ | Compiled binaries are created here. |
support/ | Scripts and tools that assist in development and/or testing. |
Run make or make build.
Run make test.
gitlab-org/gitlab-shell MR to update VERSION and CHANGELOG files, e.g. Release v14.39.0.gitlab-org/gitlab-shell MR is merged, create the corresponding git tag, e.g. https://gitlab.com/gitlab-org/gitlab-shell/-/tags/v14.39.0.gitlab-org/gitlab MR to update GITLAB_SHELL_VERSION to the proposed tag, e.g. Bump GitLab Shell to 14.39.0.#gitlab-shell a new version has been created.This repository is mirrored to security and dev mirrors. Mirror syncs happen within minutes of changes to the canonical repo, so please follow these guidelines when managing tags:
#g_release_and_deploy to manually fix the mirrors.See the LICENSE file for licensing information as it pertains to files in
this repository.