Benutzer-Werkzeuge

Webseiten-Werkzeuge


docu:versionierungstools

Versionierungstools

Das Labor bietet die notwendige Infrastruktur (Werkzeuge und Speicherresourcen) zur Versionsverwaltung von Dateien an. Unterschiedliche Systeme zur Versionsverwaltung (engl. Version Control Systems, VCSs) wurden in der Vergangenheit unterstützt. Da sich als Standard das System Git durchgesetzt hat, werden die Systeme SVN und CVS perspektivisch auslaufen und können daher nicht mehr für neue Projekte eingesetzt werden.

In der Regel geschieht der Zugriff auf VCS-Resourcen innerhalb der Informatik über ein Secure-Shell (ssh) Verbindung. Für Details der Konfiguration und Authentifizierung siehe Kapitel SSH

Git

Git ist eine dezentrales VCS, das einen Einsatz ohne zentralen Server erlaubt. Daher kann jeder Benutzer in der Informatik ohne Vorarbeit selbst ein Git Repository im persönlichen Bereich anlegen.

Einführungen in Git liefern diverse Tutorials und Videos:

Hierfür sind folgende Werkzeuge Installiert:

BetriebsystemWerkzeugBeschreibung
WindowsTourtoiseGitWindows Explorer Integration
Git BashKommandozeilen-Schnittstelle. Voller Funktionsumfang von Git. Anleitung auf offizieller Git Seite: http://git-scm.com/
SourceTree
Windows/LinuxEGitGit Plugin in Eclipse
LinuxgitGit Standard Kommandozeilen Client

Gemeinsam benutztes Repository

Neben dem bidirektionalen Austausch von Änderungen enthält Git die Möglicheit der zentralen „bare“ (nackten) Repositories. Hierauf können alle berechtigten Mitglieder eines Teams zugreifen. Im Department Informatik ist das Berechtigen der Teammitglieder durch das Einrichten einer Gruppe mit dem Werkzeug WebTing möglich. Für jede Gruppe wird automatisch ein Git-Repository mit der notwendigen Konfiguration und den notwendigen Rechten angelegt. Die URL zum Repository lautet dann:

ssh://<username>@git.informatik.haw-hamburg.de/srv/git/<gruppen-name>/<gruppen-name>.git

Der Gruppenname muss zweimal angegeben werden, da in dem Verzeichnis mit dem Gruppennamen weitere Repositories angelegt werden können, automatisch aber bereits ein Repository mit dem Namen der Gruppe eingerichtet wird.

Weitere Repositories können von jedem Gruppenmitglied in dem Verzeichnis /srv/git/<gruppen-name> auf der Maschine git.informatik.haw-hamburg.de eingerichtet werden.

GitLab

Das AI-Labor GitLab ist unter https://gitlab.informatik.haw-hamburg.de verfügabar.

Gitlab erlaubt das Gewähren von Zugriffs- und Bearbeitungsrechten von Benutzern an andere Benutzer. Dabei können nur Benutzer mit Rechten versehen werden, die sich mindestens einmal angemeldet haben und dadurch in Gitlab registriert sind.

Alle Funktionen die aktiviert sind, werden auch unterstützt. GitLab liefert neben einem Git-Server mit leistungsfähiger Web-Oberfläche auch

  • einen Continous-Integration (CI) Dienst mit dem Software automatisch gebaut und getestet werden kann. Spezifische Details für die Verwendung innerhalb der Umgebung des AIL entnehmen Sie bitte der eigenen Seite zu Gitlab CI/CD
  • Eine private Docker-Registry, auf der Docker Images für eine Verwendung durch Mitlgieder des Dept. Informatik bereitgestellt werden können.
  • u.v.a.m.

GitHub/Bitbucket

Aus diversen Gründen (öffentliche Auffindbarkeit, Vorlieben bei der Benutzeroberfläche, Kollaboration mit Nicht-HAW-Nutzern) kann es Sinn machen, ein Repository bei einem öffentlichen, zentralen Git-Hostinganbieter zu eröffnen. Die beiden bekanntesten Vertreter sind GitHub und Atlassian Bitbucket. Beide Plattformen bieten spezielle Tarife für Studenten an.

DienstKonditionenLegitimierungLink
GitHubKostenloser „Developer“-Account. Beinhaltet kostenlos unendlich viele private und öffentliche Repositories.


Student Developer Pack beinhaltet Guthaben und Lizenzen für viele Programme und Dienste.
Registrierung via HAW-Mail für das Student Developer Pack notwendig. Bestätigung erfolgt manuell meistens binnen weniger Stunden.Zur Anmeldung
Atlassian BitbucketKostenloser „Academic“-Account. Beinhaltet kostenlos unendlich viele private und öffentliche Repositories.Registrierung via HAW-Mail notwendig. Bestätigung erfolgt automatisch.Zur Anmeldung


Git über SSH

Gitlab stellt Zugang zu den Git-Repositorien über HTTPS und über SSH zur Verfügung.

Die MD5 Fingerprints des SSH-Servers lauten:

RSA (4096 Bit)b0:bb:b7:ad:d1:6c:60:c4:a1:ec:4d:92:39:76:87:c7
ED-25519 (256 Bit)c0:52:5c:08:ee:02:fd:d0:e6:30:37:f1:a6:c2:74:ea

Werkzeuge

Neben den installierten gibt es auch noch eine große Anzahl an weiteren Git-Werkzeugen und Integrationen z.B. in Entwicklungsumgebungen. Da jedes Programm eine etwas andere Arbeitsweise optimal unterstützt, sollte jeder Anwender mehrere Werkzeuge ausprobieren und sich jenes aussuchen, das am besten zur persönlichen Arbeitsweise passt.

Subversion (SVN)

Subversion ist ein Server-zentriertes VCS. Die notwendigen Server werden zwar noch zur Verfügung gestellt, Subversion wird aber nicht mehr aktiv unterstützt. Neue Server werden daher nicht mehr eingerichtet. Wir empfehlen allen Projekten, die derzeit Subversion verwenden, einen Wechsel nach Git vorzubereiten. Hilfe kann folgende Seite geben: http://john.albin.net/git/convert-subversion-to-git

Für existierende Repositories lautet die Basis-URL:

svn+ssh://<user>@svn.informatik.haw-hamburg.de/srv/svn/<gruppen-name>/

In den meisten Fällen muss noch der Pfad innerhalb des Repositories angehängt werden. Die Standardvorgabe lautet <gruppen-name>/trunk

Für die Verwendung eigener Subversion-Server oder den Zugriff auf externe Server bleiben die notwendigen Clients im Labor vorerst erhalten.

Concurrent Versioning System (CVS)

CVS ist ein Server-zentriertes VCS. Es wird im Labor nur noch für wenig Alt-Projekte eingesetzt und aktiv zurück gebaut, d.h. CVS wird nicht mehr aktiv unterstützt. Neue Repositories werden nicht mehr eingerichtet.

Die notwendigen Werkzeuge sind auf den Labor-PCs vorhanden und werden wohl auch dauerhaft erhalten bleiben, um einen Zugriff auf externe Repositories sicher zu stellen.


docu/versionierungstools.txt · Zuletzt geändert: 2017/10/18 23:34 von abu661