As we reevaluate how to best support and maintain Staging Ref in the future, we encourage development teams using this environment to highlight their use cases in the following issue: https://gitlab.com/gitlab-com/gl-infra/software-delivery/framework/software-delivery-framework-issue-tracker/-/issues/36.

Skip to content
Snippets Groups Projects
G

Gitlab Shell

Project ID: 171327
Select Git revision
  • main default protected
  • 608-improve-gitlab-shell-logging-structure
  • ashmckenzie/update-golangci-setup
  • 762_use_workhorse_ssh_endpoint
  • fix-issue-708
  • id-use-workhorse-git-ssh-rpc
  • ashmckenzie/debug-yamux-issues
  • ag-remove-geo-ffs
  • aakriti.gupta-main-patch-64039
  • ashmckenzie/gssapi-fixes
  • 671-race-golang-1-x-failed-with-stdin-send-error-eof
  • igor.drozdov-main-patch-82081
  • ashmckenzie/include-metadata-in-access-finish-log-line
  • 660-job-failed-4563144016
  • id-bump-logrus
  • sh-ssh-certificates
  • tmp-geo-push-poc
  • igor.drozdov-main-patch-40896
  • tmp-kerberos-testing
  • id-test-agains-1.19
  • v14.39.0
  • v14.38.0
  • v14.37.0
  • v14.36.0
  • v14.35.0
  • v14.34.0
  • v14.33.0
  • v14.32.0
  • v14.31.0
  • v14.30.1
  • v14.30.0
  • v14.29.0
  • v14.28.0
  • v14.27.0
  • v14.26.0
  • v14.25.0
  • v14.24.1
  • v14.24.0
  • v14.23.0
  • v14.22.0
40 results
  • Clone with SSH
  • Clone with HTTPS
  • Igor Drozdov's avatar
    Igor Drozdov authored
    03a4b722
    History
    stage: Create
    group: Source Code
    info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments

    pipeline status coverage report Code Climate

    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.

    GitLab supports Git LFS authentication through SSH.

    Development Documentation

    Development documentation for GitLab Shell has moved into the gitlab repository.

    Project structure

    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.
    spec/ Ruby based integration tests.

    Building

    Run make or make build.

    Testing

    Run make test.

    Release Process

    1. Create a gitlab-org/gitlab-shell MR to update VERSION and CHANGELOG files, e.g. Release v14.39.0.
    2. Once 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.
    3. Create a gitlab-org/gitlab MR to update GITLAB_SHELL_VERSION to the proposed tag, e.g. Bump GitLab Shell to 14.39.0.
    4. Announce in #gitlab-shell a new version has been created.

    Licensing

    See the LICENSE file for licensing information as it pertains to files in this repository.