GitLab Shell is an application that allows you to execute git commands and provide ssh access to git repositories. It is not a Unix shell nor a replacement for Bash or Zsh.
Requires ruby 1.9+
./bin/install
./bin/check
Add repo:
./bin/gitlab-projects add-project gitlab/gitlab-ci.git
Remove repo:
./bin/gitlab-projects rm-project gitlab/gitlab-ci.git
List repos:
./bin/gitlab-projects list-projects
Import repo:
# Default timeout is 2 minutes
./bin/gitlab-projects import-project randx/six.git https://github.com/randx/six.git
# Override timeout in seconds
./bin/gitlab-projects import-project randx/six.git https://github.com/randx/six.git 90
Fork repo:
./bin/gitlab-projects fork-project gitlab/gitlab-ci.git randx
Update HEAD:
./bin/gitlab-projects update-head gitlab/gitlab-ci.git 3-2-stable
Create branch:
./bin/gitlab-projects create-branch gitlab/gitlab-ci.git 3-2-stable master
Remove branch:
./bin/gitlab-projects rm-branch gitlab/gitlab-ci.git 3-0-stable
Create tag (lightweight & annotated):
./bin/gitlab-projects create-tag gitlab/gitlab-ci.git v3.0.0 3-0-stable
./bin/gitlab-projects create-tag gitlab/gitlab-ci.git v3.0.0 3-0-stable 'annotated message goes here'
Remove tag:
./bin/gitlab-projects rm-tag gitlab/gitlab-ci.git v3.0.0
Add key:
./bin/gitlab-keys add-key key-782 "ssh-rsa AAAAx321..."
Remove key:
./bin/gitlab-keys rm-key key-23 "ssh-rsa AAAAx321..."
List all keys:
./bin/gitlab-keys list-keys
Remove all keys from authorized_keys file:
./bin/gitlab-keys clear
Development image name: gitlab-shell Change /mnt/src to repository dir.
# [Optional] Kill and cleanup all running container and image
docker kill gitlab
docker rm gitlab
docker rmi rhmap/gitlab-shell
# Build image
docker build -t rhmap/gitlab-shell .
# Start container
docker run --name=gitlab -p 8022:22 -v /mnt/src:/home/git/repositories rhmap/gitlab-shell
docker ps | grep gitlab
# See apache logs
docker logs -f gitlab
# Connect for debugging
docker exec -it gitlab bash