GitLab - ein Werkzeug für Governance, Versionierung, CI/CD und Projektmanagement
5. November 2019Wenn etwas gemacht wird (typischerweise Softwareentwicklung), ist es in der Regel ein Projekt und muss irgendwie verwaltet werden. Für kleine, kurzfristige Aufgaben reicht es oft aus, regelmäßige Einträge zu machen, aber das hängt von der Wahl ab. Sie müssen Informationen über das Projekt aufschreiben, d. h. eine Dokumentation erstellen. Eine meiner Dokumentationen ist Der Quellcode eines Programms muss versioniert werden, deshalb, damit man sich im Entwicklungsprozess zurechtfindet und Änderungen effizient einsetzen kann. Und idealerweise ist die Routinearbeit automatisiert.
Hängen
Das erste, was bei der Softwareentwicklung getan werden sollte, ist die Version des Quellcodes der Anwendung. Ohne diese kann keine ordnungsgemäße und effiziente Entwicklung erfolgen. Der Standard für die Versionierung ist heute (2019) GIT, das in erster Linie für den Linux-Kernel entwickelt wurde, sich aber aufgrund seiner Qualitäten so weit verbreitet hat dass es alle anderen Werkzeuge zur Versionierung von Quellcode überholt hat.
Video zur Versionierung
Projektmanagement-Werkzeuge
Für das Aufgabenmanagement gibt es seit langem ein hervorragendes Redmine-Tool. In der Softwareentwicklung haben sich Tools wie GitHub und Bitbucket durchgesetzt, die in Form einer Webanwendung gehandhabt werden. Die Funktionalität von GitHub und Bitbucket ist auch in dem hervorragenden GitLab enthalten, das zusätzliche Konnektivitätsoptionen bietet und zudem auf einem eigenen, von Ihnen kontrollierten Server betrieben werden kann.
Was GitLab leistet
GitLab kann eine ganze Menge, hier sind die wichtigsten Merkmale und Funktionen:
- GitLab ist eine Webanwendung
- Verwaltung von Benutzern und ihren Rechten
- Verwaltung von Git-Repositories
- Anzeigen von Änderungen, die an einem Git-Repository vorgenommen wurden
- Verwaltung von Aufgaben
- CI/CD - Automatisieren der Einarbeitung und Bereitstellung von Änderungen
- Wiki - Verwaltung der Dokumentation
Anforderungen
Wie für die meisten der von mir beschriebenen Technologien wird auch für GitLab ein Linux-Server benötigt. GitLab verwendet eine PostgreSQL-Datenbank. GitLab wird üblicherweise mit einem Nginx Webserver installiert, aber es kann auch ein Apache als Proxy-Webserver vorangestellt werden - zum Beispiel, wenn Sie bereits einen Apache-Webserver installiert haben und den Webserver nicht wechseln wollen/können. GitLab verwendet Redis (als Cache). GitLab ist in Ruby geschrieben, genauer gesagt im RubyOnRails Web-Framework.
Hier ist ein kommentiertes Video zur Installation von GitLab:
Wenn Sie noch keine Erfahrung mit der Linux-Administration und der Installation von Serveranwendungen haben,
empfehle ich, dass Sie GitLab professionell installieren lassen
gefolgt von Support, Updates und Schulung.
Praktische Anwendungen
Das erste, was Sie in GitLab tun müssen, ist, einen Benutzer anzulegen. Dann erstellen Sie ein Projekt und weisen jedem Benutzer nach Bedarf Rechte für das Projekt zu.
Ein Benutzer mit ausreichenden Rechten kann das Repository herunterladen und Änderungen pushen. Diese einzelnen Änderungen (Commits) können dann in der Weboberfläche eingesehen werden.
Über das Gitlab-Webinterface kann man ein Projekt forken, Zweige zusammenführen, etc.
In Gitlab können Sie Aufgaben (Issues) erstellen, die gelöst werden müssen. Dann können Sie diesen Aufgaben einen Status zuweisen und jemanden mit der Aufgabe betrauen. Sie können den Aufgaben auch Labels zuweisen und sie später filtern. Eine Aufgabe hat auch einen Status: z. B. offen, genehmigt, getestet, bereitgestellt, geschlossen, und Sie können weitere benutzerdefinierte Status erstellen. Natürlich können Sie auch Kommentare und Anhänge zu einzelnen Aufgaben hinzufügen. Aufgaben können auf dem Board eingesehen oder visuell verfolgt werden. Aufgaben können einem Meilenstein zugewiesen werden, d. h. einem Stadium, in dem die Aufgaben abgeschlossen werden müssen. Typischerweise handelt es sich dabei um Funktionen, die implementiert werden müssen, um eine komplexe Funktionalität zu erreichen.
GitLab verfügt über ein integriertes Wiki, in dem die Benutzer Notizen schreiben und Projektdokumentationen erstellen können.
GitLab kann auch so eingestellt werden, dass die Build-Anwendung automatisch ausgeführt wird. Es führt automatisch Tests durch und stellt die Anwendung schließlich in der Produktion bereit.
GIT
Videotutorial zu den Grundlagen der Verwendung von GIT:
GitLab-Videotutorials
Kurze Videotutorials zur Verwendung von GitLab und seinen verschiedenen Funktionen. Alle Tutorials sind in youtube-Playlist von GitLab.
GitLab - ein Projekt erstellen
In diesem Video-Tutorial sehen Sie, wie man sich bei einem Projekt anmeldet, wie man ein Projekt anlegt
und wie man ein Git Repository zu sich selbst klont
eine Änderung vornimmt und diese Änderung in das zentrale Repository überträgt.
GitLab - Erstellung von Aufgaben/Problemen
Video-Tutorial, wie man einen Issue/eine Aufgabe in GitLab erstellt, wie man ihn/sie füllt, welche Optionen er/sie hat und wie man mit der Aufgabe
zu arbeiten.
GitLab - Whiteboard
Ein Video-Tutorial darüber, wie eine Tafel/Tabelle in GitLab aussieht, wofür sie dient und wie man sie benutzt.
Schließen
GitLab kann in der heutigen Zeit (2019) als eine notwendige Grundlage für die effektive Entwicklung und Zusammenarbeit bei der Umsetzung von Softwareprojekten. Überprüfen Sie den Quellcode von Projekten und nutzen Sie das Tool für das Projektmanagement, wenn Sie mehrere Personen und langfristige Projekte haben!
Für das Schreiben und Versionieren von dDokumenten, deren Ergebnis ein PDF-Dokument sein soll, bietet sich das Tool LaTex an, das ich auch schon für die Erstellung von Ebook: linux server administrator's notes.
Artikel zu einem ähnlichen Thema
Bilder unter Linux drucken
Künstliche Intelligenz: dalle2, Chat GPT
Anwendungsentwurf mit UML unter Verwendung von Umbrello
Nextcloud - Daten und Anwendungen in der Cloud
Newsletter
Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben
News-Abonnement.
+