GitLab ist ein webbasierter Git-Repository-Manager mit feinkörnigen Zugriffskontrollen, Code-Reviews, Issue-Tracking, Activity-Feeds, Wikis und kontinuierliche Integration. Es verwendet eine Open-Source-Lizenz, die von GitLab Inc. entwickelt wurde. Sein Hauptzweck ist um auf Code zusammenzuarbeiten.
Hauptvorteile:
- Versionierung
- Backups
- Benutzer/rechteverwaltung
- Ausfallsicherheit durch redundante Systeme (cloud-basiert)
- Sicherer Standort Deutschland
- Internationale Zusammenarbeit zu jeder Tages-/Nachtzeit problemlos (7x24)
- CI: Qualität des Codes wird konstant geprüft und getestet; das Endprodukt steht (bei Bedarf) sofort nach dem Durchlaufen der automatischen QA zur Verfügung.
- Feature branches -> jedes Feature kann getrennt von anderen entwickelt werden (und getestet!)
- Merge requests (von z.B. feature branches): nur Personen mit entsprechenden Rechten (tech lead, Entwicklungsleiter, ...) dürfen Code in den Hauptzweig übernehmen.
- Code reviews möglich (wer hat wann was geändert? Können die Änderungen übernommen bzw. "gemerged" werden?)
- Lokales Repo <-> zentrales Gitlab: auch im Offlinemodus ist die Versionshistorie garantiert.
- Statistiken on-the-fly: wann wird wie oft (und von wem) welcher Code eingecheckt. Wo liegen die 'pain-points'.
- Issue tracker: Probleme erfassen und in direkter Verlinkung mit dem Code bearbeiten.
- Time tracking: Erfassung und Abschätzung von Aufwänden
- Gesicherte Übertragung (da verschlüsselt) des Codes von Lokal ins Remote Repo
- Open Source: offene Code Basis, kein proprietärer Code; eigene Mitarbeit (z.B. Erweiterungen) möglich
- Support: kostenloser Support über die Open Source Community
- Weit verbreitet, quasi Standard: bei vielen Entwicklern bekannt, kaum Einarbeitung nötig.
- Kein fat-client, Bedienung über leichtgewichtige Web Oberfläche; unterstützt werden alle aktuellen Browser; Responsive Design, auch mobil verwendbar