Zum Inhalt

GitLab

Mit dem Ressourcentyp GitLab ist es möglich, Metadaten zu GitLab Repositorien in Coscine zu verwalten.

Hintergrund

  • Erlaubt GitLab Projekte mit Metadaten zu versehen
  • Vorteil: Verknüpfung der Dateien mit Metadaten in Coscine
  • Als Ressourcenersteller*in stellen Sie sicher, dass alle Mitglieder des Projekts die Nutzungsbedingungen und Datenschutzerklärung des zugrundeliegenden Systems befolgen.

GitLab Ressource einrichten

  • Bei der Erstellung einer Ressource in Schritt 1 GitLab auswählen
  • Eingabe der GitLab Domain (z.B. "https://git.rwth-aachen.de/")
  • Eingabe des Projekt- oder Gruppenzugangstoken (s. GitLab - Projektzugangstoken und GitLab - Gruppenzugangstoken)
    • Neue Token können über die Einstellungen-Seite von GitLab erstellt werden.
    • Der Zugriff auf die Ressourcen in Coscine wird später gemäß den gewählten Berechtigungen des GitLab Tokens möglich sein.
  • Überprüfen der GitLab Verbindung über die blaue Schaltfläche
  • Auswahl des GitLab Projekts und des GitLab Branchs.
  • Akzeptieren der Nutzungsbedingungen und Datenschutzerklärung des GitLab Serviceproviders. Da der Anbieter der GitLab-Instanz variabel ist (Institutionen können jeweils ihre eigene GitLab-Instanz aufsetzen und verwalten), müssen Sie die jeweils für Sie gültigen Bedingungen von dem Anbieter einholen, dessen Instanz Sie im Feld GitLab Domain angegeben haben.

Setup der GitLab-Ressource

Abbildung 1 - Setup der GitLab-Ressource

GitLab Ressource nutzen

  • In einer GitLab Ressource werden alle Dateien angezeigt, die auch im GitLab Projekt enthalten sind.
  • Je nach Einstellungen des erstellten Tokens können Dateien über Coscine in das entsprechende GitLab Projekt hochgeladen oder auch gelöscht werden. Andersrum gilt dies genauso, dh. alle hochgeladenen Dateien in GitLab werden auch in Coscine dargestellt usw.
  • Zusätzlich können in einer GitLab Ressource, wie in anderen Coscine-Ressourcen auch, die Metadaten zu den einzelnen Dateien eingetragen werden.

Warnung

Die definierten Rollen und Scopes des GitLab-Tokens beeinflussen, in welchem Umfang der Dateizugriff möglich ist (z.B. Read only oder Bearbeiten möglich etc.). Durch die Coscine Nutzendenverwaltung (Owner, Member und Guest) wird beeinflusst, wer den Dateizugriff erhält. Sollten die Personen in Ihrem GitLab Projekt nicht mit den Mitgliedern des Coscine Projektes übereinstimmen, behalten Sie dies bitte im Hinterkopf.

GitLab Ressource archivieren

Eine GitLab Ressource kann auf archiviert gesetzt werden. Dadurch werden alle in Coscine zu den Dateien eingetragenen Metadaten archiviert. Es findet daurch keine Archivierung Ihres GitLab Projektes statt.

Speicherplatz

Da keine Daten gespeichert werden, benötigt diese Ressource keinen Speicherplatz.

GitLab Token

In GitLab können Nutzende Zugriffstoken erstellen, um Berechtigungen auf Gruppen- und Projektebene zu erteilen (z.B. für die Dokumentation). Um ein Zugriffstoken zu erstellen, müssen Benutzer zu Einstellungen > Zugriffstoken navigieren. Diese Option ist nur für Benutzer mit Eigentümerberechtigungen in GitLab sichtbar.

Verwendung des GitLab-Tokens

Coscine verwendet GitLab-Token, um GitLab-Projekte als "Ressourcen" zu integrieren. Konkrekt bedeutet dies:

  • Es besteht die Möglichkeit, ein GitLab-Projekt in Coscine auszuwählen und anschließend die entsprechenden Dateien anzuzeigen.

  • In Abhängigkeit von den Berechtigungen des Tokens können Dateien hochgeladen, gelöscht oder geändert werden.

  • Darüber hinaus besteht die Möglichkeit, Metadaten für diese Dateien über Coscine zu erfassen und zu verwalten. Für den genannten Prozess werden Informationen über die Datein, die Version und die Tags benötigt, die anschließend mit den Datein im GitLab-Projekt verknüpft werden.

Berechtigung des GitLab Tokens

Eine nahtlose Kommunikation zwischen Coscine und GitLab erfordert spezifische Berechtigungen für das Token, die als Bereiche bezeichnet werden. Die Benutzer haben die Möglichkeit, Zugriffstoken zu erstellen, um Berechtigungen auf Gruppen- und Projektebene zu erteilen (z.B. für die Dokumenation). Um ein Zugrifftoken zu erstellen, navigieren Benutzer zu Einstellungen > Zugriffstoken. Diese Option ist ausschließlich für Benutzer mit Eigentümerberechtigung in GitLab sichtbar.

Image

Abbildung 2 - GitLab Access Tokens

Rollen des GitLab Tokens

Bitte beachten Sie, dass bei der Prüfung der Token-Funktion die gleichen Schritte wie bei einem Nutzenden-Token durchgeführt werden müssen. In diesem Fall gelten dieselben Rollen. Zusammengefasst bestimmt die Rolle die Berechtigung des Tokens.

Diese Einstellung kann von der Severadministation auf selbst gehosteten GitLab-Instanzen (z.B. GitLab oder RWTH) überschrieben werden. Wenn Sie nicht die Standardinstanz gitlab.com verwenden, können die Einstellungen abweichen.

Image

Abbildung 3 - GitLab Token Scopes

Warnung

Der Bereich api ist obligatorisch. Dies impliziert, dass das Token autorisiert sein muss, um die Funktionalität über die GitLab-API zu gewährleisten. Coscine ist folglich dazu befähigt, sämtliche erforderliche Aktionen auszuführen, wie beispielsweise das Lesen und Schreiben von Dateien.

Ein Benutzer, dem in der GitLab Instanz bestimmte Rechte erteilt wurden, ist dazu befugt, die folgenden Aktionen durchzuführen:

  • Projekte aus Gruppen lesen (Guest)

  • Dateien aus einem Projekt lesen (Guest)

  • In das Projekt schreiben oder in Zweige einbinden (Developer)

Image

Abbildung 4 - GitLab Token Rollen

Warnung

Bitte beachten Sie, dass diese Informationen je nach Ihrer GitLab-Konfiguration variieren können. Generell empfehlen wir , dem Token die Rolle Maintainer oder mindestens Developer zuzuweisen. Als Faustregel gilt jedoch, dass Sie die Token-Rolle so wählen sollten, als wäre Coscine ein regulärer Benutzer in Ihrer GitLab-Gruppe/Projekt.