GitLab: Unterschied zwischen den Versionen

aus, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
Zeile 83: Zeile 83:
docker exec -it gitlab /bin/bash
docker exec -it gitlab /bin/bash

== Help ==
== Help ==

Version vom 29. Juli 2016, 14:16 Uhr

This page describes GitLab, which is a software for Git repository management and software development that can run on your own server.


GitLab is Open Source and offers Git repository management, code reviews, issue tracking, activity feeds and wikis.


Major GitLab features are depicted in this article on

Some highlights:

  • User management.
  • SSH key management for accessing a repo via SSH and mapping to GUI user.
  • Repository/project permissions (private, protected or public). Users and groups.
  • View commits.
  • Comments.
  • Issue tracking.
  • Markdown support.
  • Branches and tags can be created in GUI.
  • Merge requests. Code review.
  • New files can be created and in the GUI.
  • Files can be edited in the GUI.
  • A wiki per project (in separate Git repo).
  • Notifications.
  • Visualization of commits, branches, etc.

Access to repositories

The GitLab GUI always shows the links you need to use for accessing (cloning) the Git repositories either via HTTP or SSH.

Example URLs for project/repository:

HTTP access:

SSH access on port 22:
Note: The repo must be addressed with a absolute path (do not use ":" between hostname and pathname)

The corresponding clone commands are:

git clone
git clone ssh://


  • For HTTP you need to authenticate with your GitLab user credentials, if it's not a public repo.
  • It's recommended using SSH for accessing the repositories with a Git client.
  • The SSH connect must go directly to the host GitLab has been installed on (no proxy in between).
  • For SSH you need to always login as user git. The user mapping will be made via your SSH key(s).
  • For SSH you need to authenticate with a SSH private key matching the public key you need to register in your GitLab user profile.
  • The SSH keys must be unique. You can't add a public key to multiple user profiles. The keys are added to ~git/.ssh/authorized_keys.
  • For SSH you need to take care using the correct SSH key, e.g. just add following to ~/.ssh/config:
IdentityFile ~/.ssh/id_rsa_emptypass
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
  • For SSH you can check the general SSH access and authentication by just connecting to the server with a native SSH client. In addition, your GitLab user mapping will be responded by the server as e.g. Welcome to GitLab, Peter Pan!. A successful connect (using SSH port forwarding) looks like:
> ssh
X11 forwarding request failed on channel 0
PTY allocation request failed on channel 0
Welcome to GitLab, Peter Pan!
Connection to closed.


See Operations for info about installing and maintaining GitLab.


See for running GitLab with Docker.


docker stop gitlab
docker rm gitlab
docker pull gitlab/gitlab-ce:latest
docker run ...


docker logs gitlab
docker exec -it gitlab /bin/bash



The GitLab GUI has an excellent online help available at



  • RequestBin
    • Testen von HTTP Requests, z.B. für den Empfang von Webhooks bei Git/GitLab.
    • Siehe "GitLab Cookbook" S.113 - Using webhooks.
    • RequestBin gives you a URL that will collect requests made to it and let you inspect them in a human-friendly way. Use RequestBin to see what your HTTP client is sending or to inspect and debug webhook requests.
  • Postman
    • REST Client, Testen von APIs
    • Chrome Browser Extension
    • Sendet HTTP Request zu einem Server, auch mit Parameter/Value Variablen von simulierten Formularen
    • Siehe "GitLab Cookbook" S.121 - Managing your projects via the API.


GitLab official sites:

Additional components:


Other resources:

Using under openSUSE:

Continuous Integration:

Release Strategy:

See also