Skip to content

GitLabTM

What is GitLabTM?

GitLabTM is a web service for hosting / managing git-based repositories and has a multitude of additional features for software development. It is thus comparable to GitHub. In its community edition, it is free, open-source software. Features include:

  • Hosting and managing git repositories
  • Storing large (binary) data with Git LFS
  • Online integrated development environment (IDE)
  • Issue tracking
  • Project management: Kanban boards & milestones
  • Wikis for documentation
  • Automatization pipelines: CI/CD
  • Management of packages and containers
  • Web hosting with GitLabTM pages.

We encourage all DataHub users to use the TAM GitLabTM!

Fundamentals

Managing Permissions

From a high-level perspective, GitLabTM differentiates groups, users and projects. This allows a mostly self-administered management of permissions:

  • A group can have various sub-groups in an arbitrary hierarchical structure.
  • Users can be members of these groups and may have different roles which determine the extent of permissions with respect to a given group (and potential sub-groups).
  • Projects can be created by users in their own domain ("namespace") or in the namespace of any group in which they have the corresponding role / permissions (see Figure 1).
  • Depending on a user's role with regard to a group or a project, the user may attribute other users with with certain roles (permissions) for that group / project.

To start a project on GitLabTM, you may create a repository under your account or, provided you are member of a group, in the namespace of that group (see below). If you have insufficient rights, you may ask your group-administrator to increase your permissions or create a project for you. Depending on the sensitivity of your data, you may grant general access to the project ("public"), restrict access to authenticated users of the TAM GitLabTM ("internal"), or - in case of sensitive data - keep the project to yourself / your group and invite other members explicitly ("private"). As the TAM GitlabTM is restricted to the University Network, "public" only means persons, who have access to this Network (including VPN).

Figure 1: Creating a new project / repository in GitLabTM.

GitLabTM Projects and Repositories

Each project has a repository (a git-controlled, online file storage) at its heart (see Figure 2). You can work on the files in this repository either online in the GitLabTM IDE, or use git to clone the repository to your local working environment, use whatever tools you like, and commit and push changes back to the repository at GitLabTM.

Figure 2: A repository on GitLabTM.

GitLabTM started using VS Code as Web IDE (shown below), which may add interesting features for some users.

Figure 3: Editing files in the GitLabTM online IDE (Visual Studio Code).

Describing the functionality of git and GitLabTM in detail is beyond the scope of this manual. For this, we offer specific training and online materials (see below).

Using the TAM GitLabTM

With the TAM GitLabTM, we have a single platform to store and manage project data (with Git LFS), for individual or joint code development, and for simple exchange within the DataHub. Another bonus of the TAM GitLabTM is that we Data Stewards are actively monitoring the platform. We can help you to improve the consistency and reusability of your projects and provide templates and other information.

The TAM GitLabTM builds on the TAM-owned resources in the high performance infrastructure of MaSC and MaRC which allows us to offer a substantial amount of already paid storage in an environment with elevated security.

Don't confuse GitLabTM instances!

As there are multiple instances of GitLabTM, we particularly ask you to use the TAM GitLabTM but NOT THE MARBURG UNIVERSITY GITLABTM for research data that is in the scope of the DataHub.
The Marburg University GitLabTM also has stricter policies on available storage, project count and data sensibility!

We trust in fair-use of the provided resources and have not set quotas. We ask users to go along with the template group hierarchy based on collaborating universities and research groups. However, there will be cases in which it makes sense to organize overarching projects separately. In such cases, users may create top-level groups (see below) on their own.

In the Data Stewards Group we provide templates to organize the internal structure of your projects / repos. Please use (i.e. fork from) these templates when creating own projects. This will help us all to understand and reuse each other's work more efficiently. Whenever possible please adhere to the BIDS standard for organizing your data. This is a well-supported, machine-actionable standard which systematically includes relevant metadata.

Since the TAM GitLabTM will include sensitive data, it cannot be opened directly to the internet. Thus, using Marburg staff accounts and VPN with two-factor authentication (2FA) will still be required, and access is restricted to DataHub users (and collaborators). See DataHub Access, if you don't have access yet. Persons who were granted access to the previous GIN platform already have access to the TAM GitLabTM.

Managing Groups, Projects and Permissions

We have advanced our strategies to manage groups and projects as well as the the corresponding memberships and access rights within TAM GitLab.

These consistent strategies take into account the various requirements in a cross-institutional consortium, where affiliated researchers may collaborate with multiple internal and external partners and neighboring research centers. They allow researchers to control access to their data flexibly and under own responsibility and ensure that supervising PIs and project owners can exercise their organizational responsibilities.

The blueprint provided below shows the prototype group structure in TAM GitLab and lays out the underlying principles and policies.

Management of Roles and Rights in Groups and Projects of TAM GitLab.
Version 1.2 as of 2025-01-24. Licensed openly under a CC BY-SA 4.0 license (trademarks excluded).

If in doubt, discuss the organization of your projects and data with your Data Stewards.

FAQ, Troubleshooting and Support

  • See FAQ of this manual.
  • The NOWA Support Page and the NOWA School have a collection of (recorded) tutorials, workshops and online materials that also cover git and GitLabTM.
  • If you face issues with establishing connections, see the workflow section of this manual.