====== GitLab ====== Unter https://git.ps.informatik.uni-kiel.de betreibt die AG eine eigene Installation von GitLab, in der insbesondere für folgende Dinge Repositories abgelegt werden: * An der AG entwickelte Curry-Systeme, -Tools und ähnliches * Von der AG betriebene Webanwendungen * wissenschaftliche Veröffentlichungen * Studentische (Abschluss)Arbeiten * Studentenprojekte/Praktika * Vorlesungsskripte * Materialien für vorlesungsbegleitende Übungen * Vorlesungsunterlagen Die Administration von GitLab erfolgt vom Administrator der AG. ====== GitLab - Projekt- und Gruppenstruktur ====== GitLab bietet die Möglichkeit, mehrere Projekte anzulegen, die wiederum mehrere Git-Repositories enthalten können. Um die Nutzung übersichtlich zu gestalten, wird die folgende Struktur vorgeschlagen (Titel/URL-Identifikator/Sichtbarkeit/Schreibzugriff): * Vorlesungen/lectures (private, ''ps-ma'') * Enthält Materialien zu den Vorlesungen (z.B. Vorlesungsskript, Zusatzmaterial, Code-Beispiele, Musterlösungen zu den Übungen) * Diskussion: Ein Repository pro Vorlesung oder ein Repository pro Vorlesung und Semester? Evtl. auch Aufteilung von Vorlesung und Übung? * Vorschlag: Ein Repository pro Vorlesung, Übungsmaterial semesterweise in dieses Repository einpflegen * Alternativvorschlag: Eine thematische geordnete Sammlung von Übungen und Lösungen, sodass man sich Aufgaben aus diesem Pool aussuchen kann * Papiere/papers (private, ''ps-ma'') * Wissenschaftliche Veröffentlichungen * Ein Repository pro Papier * Seminare/seminars (private, ''ps-ma'') * Ein Repository für ein Seminar vs. ein Repository pro Seminarteilnehmer * Vorschlag: ein Repository pro Seminar, eingepflegt durch den Veranstalter * Abschlussarbeiten/theses (private, ''ps-ma'' und Studierende) * Ein Repository pro Abschlussarbeit, eingepflegt durch die jeweiligen Studierenden * Zur besseren Übersicht sollte der Repositoryname wie folgt aufgebaut sein: $jahr-$rzlogin-$typ, wobei typ aus [ba,da,ma]. Beispiel: Eine Bachelorarbeit (ba) von bjp im Jahre 2012 -> 2012-bjp-ba * Curry (public, ''ps-ma'') * Ein Repository pro Curry-Implementierung, Curry-Tools * z.B. PAKCS, KiCS, KiCS2, curry-base, curry-frontend, Curry Report * Anwendungen/apps (private, ''ps-ma'') * Aktive Web-Anwendungen der Arbeitsgruppe * z.B. iLearn, redmine, Prüfungsanmeldung, Moduldatenbank * Projekte/projekte (private, ''ps-ma'') * Für andere (nicht-Curry)-Projekte * z.B. Concurrent Haskell Debugger * Debian Paketierung für die Arbeitsgruppe/packaging (public, ''ps-ma'') * Paketierung von Paketen die unter http://www-ps.informatik.uni-kiel.de/debian bereit gestellt werden * Keyring des Paketarchivs: Paket psifi-keyring * u.a. Meta-Pakete, die die PC-Installation erleichtern * Debian backports, die nicht im offiziellen Repos von Debian Backports hochgeladen werden können * ps-orga (private, ''ps-ma'') * Organisatorische Dinge * z.B. Janes Wegweiser, Debian-Metapaket für die AG-Rechner ====== Benutzerverwaltung ====== Nach einer initialen Registrierung im GitLab-System können die Benutzer zu Gruppen zusammengefasst werden und Lese-/Schreibberechtigungen auf Benutzer-/Gruppenebene vergeben werden. Das GitLab-System unterstützt auch private Repositories, sodass z.B. Vorlesungsunterlagen (oder auch Klausuren) nur für berechtigte Personen sichtbar sind, während z.B. andere Projekte auch öffentlich sichtbar sein können (PAKCS, ...).