Ziel der Aktivität ist es ein Versionsmanagement für die Fab21 einzuführen. Dadurch sollen alle wichtigen Dokumente wie Schaltpläne, Übersichten, vor allem aber auch Programm- und Konfigurationsstände in einem Versionsmanagementsystem gepflegt werden.
Das System soll von allen involvierten Mitarbeitern, als auch von Studenten die in Projekten arbeiten genutzt werden.
Die Grundidee ist, dass für jede laufende Entwicklung ein sog. „branch“ angelegt wird. In diesem können Developer, z.B. die Studierenden ungehindert arbeiten und in diesem Branch können sie auch frei Änderungen machen.
Bei der Abnahme von Projekten werden wir darauf achten dass wir nur den Stand aus genau diesem branch bewerten. Umgekehrt hat das natürlich den Charme, dass wir quasi auf Knopfdruck zu einem funktionierenden Stand eines anderes branchs zurückkehren können. Nur Nutzer mit sog. „Maintainer“-Rollen können nun einen Merge aus einem Branch zurück in den Master durchführen. Dazu können die Entwickler eines Branch einen Merge-Request erstellen. All dies wird von gitlab mit einer schönen Weboberfläche in gitlab unterstützt.
GIT
Das Hauptkriterium für den Erfolg wird es sicher sein, dass alle Beteiligten durchgängig das System anwenden. Das hat zu der Entscheidung geführt GIT einzusetzen, obgleich es vor allem für den Bereich der Automatisierungstechnik spezialisierte Tools gibt, die viele Vorteile bieten. Diese wären aber z.B. von zu Hause arbeitenden Studenten nicht mehr nutzbar. Ein weiterer wichtiger Aspekt ist es, dass die Studenten mit GIT das wohl derzeit am weitesten verbreitetste Versionsmanagentsystem erlernen.
EIn Nachteil von GIT ist es dass es nicht wirklich gut mit großen Binärdateien klarkommt. GIT LFS (Large File Support) behebt dieses Problem und wir von Gitlab unterstützt.
GIT lernen
Hier noch der Link zu einem ganz guten Git-Kurs – nicht allzu lang: https://www.lynda.com/Git-tutorials/Welcome/409275/416541-4.html?autoplay=true
Einfach unter Login -> „Sign in with your organization portal“ mit hs-duesseldorf.de anmelden, dann geht's weiter zum Sibboleth-Login.
GIT Clients
Clients gibt es jede Menge für GIT, hier mal zwei, m.E. sehr gute die für uns auch lizenzrechtlich unbedenklich nutzbar wären:
https://tortoisegit.org
https://www.gitkraken.com
Testphase
Bevor wir das Thema dann zu einem bestimmten Zeitpunkt für die Fab21 tatsächlich scharf schalten, möchte ich gerne Sie alle bitten mal ein wenig mit git herumzuprobieren, ein Testprojekt in gitlab anlegen, etc.