GitLab

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Version vom 27. Mai 2014, 08:24 Uhr von Rkr (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „<!--right|500px|thumb|The GitLab dashboard--> This page describes '''GitLab''', which is a software for Git reposi…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

This page describes GitLab, which is a software for Git repository management and software development.


Overview

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

Features

Some major GitLab features greatly depicted in this article on techdo.me are:

  • Create and manage users.
  • Add SSH keys to user profiles, so they can securely access repositories.
  • Make repositories private, protected, or public, so that only assigned users, any registered user, or anyone can access them respectively.
  • Create branches and tags right from the GUI.
  • See commits and changes done in them.
  • Comment on commits, or comment per lines of code.
  • Receive email notifications when someone creates an issue and assign it to you, assign you to a new project, comment on one of your commits or a line of code within your commit.
  • Mention other users in your comments, so that they’ll receive notifications about them being mentioned in your comments.
  • Visualize each user’s contribution to the code base.

Apart from the above features in the software itself, you get following benefits:

  • You get a really nice GUI to manage your remote repositories.
  • You get tools that encourage team work.
  • You can use “Merge Requests”/”Pull Requests” and have your team members review your code.
  • You get a issue tracking system, that heavily integrates with commits (You can mention the issue number in commit messages and the system will automatically link that commit to the mentioned issue!).
  • You can set permissions for each project member, whether they can only report issues, or develop features, or manage repository etc.
  • You control the hardware, you control the software on it.
  • You don’t need an Internet connection, just the local network is enough.
  • No one can access the repository from outside the office (Unless you made it possible.).
  • No payments are needed, you can create any number of repositories as you wish.

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:

http://gitlab.example.com/group1/project1.git

SSH access on port 22:

git@gitlab.example.com/group1/project1.git
Note: The repo must be addressed with a absolute path (do not use ":" between hostname and pathname)

The corresponding clone commands are:

git clone http://gitlab.example.com/group1/project1.git
git clone ssh://git@gitlab.example.com/group1/project1.git

Notes:

  • 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:
Host gitlab.example.com
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 git@gitlab.example.com
X11 forwarding request failed on channel 0
PTY allocation request failed on channel 0
Welcome to GitLab, Peter Pan!
Connection to gitlab.example.com closed.

Operations

See Operations for info about installing and maintaining GitLab.

Help

The GitLab GUI has an excellent online help available at

http://gitlab.example.com/help

Weblinks

GitLab official sites:

Additional components:

Other resources:

See also