Skip to content

Introduction to GitLab

Overview

In the following, we start using GitLab and take our first steps.

Tips for instructors
  • Please explain briefly the main aspects of GitLab and the differences to Git.
  • Please do not get into too much details because we will only use a fraction of the available features in this workshop and some participants are usually not software development experts.

Checkpoints:

  • Please make sure that all participants could log into the GitLab instance used in the workshop.

GitLab is a code collaboration platform built on top of the version control system Git. It is focused on software development and adds features for managing projects, team collaboration, and automating tasks around the core Git features. It is a purely Web-based application which means that you are not forced to install Git. However, it can be practical though depending on the project.

There are different similar systems available:

  • GitHub: Popular cloud service, launched 2008, now owned by Microsoft, the current “home of open source”
  • Bitbucket: Cloud service launched 2008 by Atlassian
  • Codeberg: Cloud service launched 2019 by non-profit Codeberg e.V., cloud service for open source projects only
  • SourceForge: Cloud service launched 1999, the former “home of open source”

Which GitLab am I using?

While there is also the official GitLab cloud service, companies and research institutions often install GitLab on their own infrastructure. Thus, there many different GitLab instances:

  • The publicly available instance of the GitLab manufacturer is gitlab.com.
  • Other Helmholtz centers quite often run their own instances.
  • There is also a central Helmholtz-wide instance.
  • And many more …

In addition, these instances can vary concerning the available feature set. On the one hand, there are certain features that require substantial infrastructure and special configuration. On the other hand, there are different GitLab tiers. Besides the free, open source tier, GitLab offers different paid tiers as well. These GitLab tiers offer different feature sets.

For that reason, please make sure that you understand which GitLab instance is typically used in your organization!

First steps in GitLab

Now, we want to start working with the GitLab Web interface. In this workshop, we are using the following GitLab instance: Helmholtz GitLab Instance.

  • Please open https://codebase.helmholtz.cloud in your Web browser and log in with your credentials. Your welcome screen can look a bit different depending on the fact whether you already work in some GitLab projects on this instance or not.
  • The main elements of the Web interface are organized as follows:
    • On the left side, you find the navigation bar. It provides access to the different GitLab features. In addition, you can reach your user profile (top right, profile image) and the help page (bottom left, Help link).
    • On the right side, there you can find the actual content page. For example, there you could see an overview about your projects or the details of a GitLab project.
  • GitLab organizes content into GitLab projects and groups:
    • A GitLab project is built around a Git repository. It provides features to access and change the Git repository. In addition, it offers further collaboration and automation functionalities, such as issue tracking for organizing tasks or build pipelines to automatically verify changes of the Git repository.
    • GitLab groups are similar to directories and help you to organize the (potentially) large number of GitLab projects. A GitLab group can contain GitLab projects or another group (sub-group).
    • You have access to a personal space in which you can store a specific number of personal GitLab projects depending on the GitLab instance configuration.

Some general tips

  • Nearly every user interface element in GitLab is either a link and/or has some tooltips associated.
  • In most browsers, a click on the Middle Button of your mouse or Ctrl + Left Button mouse click is used for opening a link in a new Web browser tab. This is a useful feature when you start learning about GitLab.
  • If you are lost, you can return to the welcome page by clicking on the instance logo in the upper left corner.

Key points

  • GitLab is a Web-based code collaboration platform focused on supporting teams in the software development process.
  • GitLab is built around the concepts of Git but offers many more features.
  • There are different GitLab instances around, please make sure that you understand which you can use.