GitLab als alternative Entwicklungsplattform zu Github.com Chemnitzer Linux-Tage 2015 21. März 2015 Ralf Lang Linux Consultant/Developer B1 Systems GmbH [email protected]B1 Systems GmbH - Linux/Open Source Consulting, Training, Support & Development
23
Embed
GitLab als alternative Entwicklungsplattform zu Github.com
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
GitLab als alternativeEntwicklungsplattform zu Github.comChemnitzer Linux-Tage 2015 21. März 2015
strikte Zugriffskontrolle auf den Source Codeniemand Drittes involviertdedizierte Ressourceneinfach einzufügen in Umgebungen mit speziellen Tools undReportssensible Daten bleiben im Haus
. . . eine Open-Source-Software zum gemeinsamen Entwickelnvon Code. . . ein Abkömmling von Git, dem am weitesten verbreiteten VCSfür Softwareentwicklung. . . ein Qualitätsgarant durch sein umfangreiches Reviewsystem
⇒ GitLab vereinfacht verteiltes Arbeiten an Projekten mit einemzentralen Server.
Code ReviewBug Trackingpersönliche und private BranchesGitLab kann mehrere Git Repositories verwalten25.000 Benutzer auf einem ServerHochverfügbarkeit im active/active Cluster möglichCode SnippetsAccess ControlIssue TrackingWeb HooksWiki
. . . es eine unbegrenzte Anzahl öffentlicher oder privaterRepositories unterstützt. . . es eine unbegrenzte Anzahl öffentlicher oder privaterProjektmitglieder ermöglicht. . . es LDAP-Integration bietet. . . es sich in externe Ticketsysteme integrieren lässt (z. B.Redmine). . . das Omnibus Paket die Konfiguration externer Datenbankenwie PostgreSQL oder MySQL unterstützt. . . mit JIRA zum Issue Tracking benutzt werden kann. . . es den Merge Request Status für Builds auf Jenkins CIanzeigen kann (nur Enterprise Edition)
aktiv seit September 2011über 700 aktive Entwicklerverwaltet von GitLab.comOpen Core Business Model:
GitLab EE (Enterprise Edition):Enterprise-Version unter proprietärer Lizenz mit Support durchGitLab B.V.GitLab CE (Community Edition):Open-Source-Version unter der MIT License
Jeder Mitarbeiter braucht für seine Committs Schreibzugriff aufdie Projekte.⇒ beabsichtigte Workflows können umgangen werden (fehlendeAbsicherung durch Rechte)
Patchbearbeitung (format-patch):Jeder Mitarbeiter muss nach Einreichung seiner Patches auf einemanuelle Bearbeitung durch einen Reviewer warten.⇒ immer noch ein arbeits- und zeitintensiver sowiefehleranfälliger Prozess
Der GitLab Workflow1 Fork des Repositories in den eigenen Namensraum2 Vollzugriff auf die eigene geforkte Kopie erteilen3 Online im Browser oder im lokalem Checkout editieren4 Merge-Request einreichen: ⇒ Die Änderungen gehen online und
können diskutiert werden; der Reviewer kommentiert Diffs.5 Automatisierter Prozess zur Re-Integration von Forks ins
Mainstream-Repository
⇒ keine Notwendigkeit, Zugriffsrechte zu geben oder zu entziehen⇒ keine endlosen Threads mit Patchmails⇒ entspricht den Paradigmen für Code-Reviews:
Unabhängigkeit der Entwicklung von einzelnen Teammitgliedernleichte Integration neuer TeammitgliederCode-Reviews helfen Bugs aufzudecken
GitLab bietet Zugriffskontrolle für Benutzer und Gruppenbasierend auf unterschiedlichen Rechte-Levels.Befugnisse eines Benutzers hängen ab von seinem Zugriffslevelauf ein bestimmtes Projekt oder eine Gruppe.Gehört ein Benutzer gleichzeitig einer Projektgruppe und demProjekt selbst an, wird das höhere Rechte-Level angewandt.Der GitLab Administrator erhält alle Rechte.
fügt sich in die GitLab-Installation ein, um Tests für Projektelaufen zu lassenLogin mit GitLab-Accountneue Projekte mit einem Klick hinzufügenInstallation auf eigener Hardware („On-Premises“)kann auf allen beliebigen Linux-Servern installiert werden