GitLab als alternative
Entwicklungsplattform zu Github.com
Chemnitzer Linux-Tage 2015 21. März 2015
Ralf Lang
Linux Consul...
GitLab – Open-Source-Unterstützung beim
gemeinsamen Coden
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu ...
Warum Versionsverwaltung?
einfaches Rechtemanagement
integrierte Feedbackoptionen
Reviews erzwingen
Zeit für’s Coden gewin...
Warum ein eigenes VCS?
strikte Zugriffskontrolle auf den Source Code
niemand Drittes involviert
dedizierte Ressourcen
einfa...
Was ist GitLab?
. . . eine Open-Source-Software zum gemeinsamen Entwickeln
von Code
. . . ein Abkömmling von Git, dem am w...
GitLab Features im Überblick
Code Review
Bug Tracking
persönliche und private Branches
GitLab kann mehrere Git Repositorie...
GitLab ist kollaborativ, weil . . .
. . . es eine unbegrenzte Anzahl öffentlicher oder privater
Repositories unterstützt
. ...
Wer verwendet GitLab?
Mehr als 100.000 Organisationen, wie z. B.:
AT&T
Bell
CERN
Fraunhofer
Interpol
Jülich Research Cente...
Das GitLab-Projekt
aktiv seit September 2011
über 700 aktive Entwickler
verwaltet von GitLab.com
Open Core Business Model:...
Herkömmlicher Git-Workflow
1 Repository klonen
2 Branch anlegen
3 Source Code ändern
4 Einchecken
5 Patch anlegen oder Ände...
Nachteile des herkömmlichen Git-Workflows
Jeder Mitarbeiter braucht für seine Committs Schreibzugriff auf
die Projekte.
⇒ be...
Der GitLab Workflow
1 Fork des Repositories in den eigenen Namensraum
2 Vollzugriff auf die eigene geforkte Kopie erteilen
3...
Internes Issue/Review System
APIs für externes Ticketing
Zugriff auf Redmine Tickets über Git Commit Messages
alternativ: i...
Zugriffskontrolle
GitLab bietet Zugriffskontrolle für Benutzer und Gruppen
basierend auf unterschiedlichen Rechte-Levels.
Be...
GitLab Continuous Integration
fügt sich in die GitLab-Installation ein, um Tests für Projekte
laufen zu lassen
Login mit G...
GitLab Dashboard – Projektüberblick
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 16 / 23
GitLab Dashboard – Commits
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 17 / 23
GitLab Dashboard – Workflow
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 18 / 23
GitLab Dashboard – Neues Projekt
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 19 / 23
GitLab Dashboard – Projekte
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 20 / 23
GitLab Dashboard – Projektdateien
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 21 / 23
Mehr Informationen zu GitLab . . .
GitLab.com:
GitLab.com
GitLab Continuous Integration (CI):
https://about.gitlab.com/git...
Vielen Dank für eure Aufmerksamkeit!
Bei weiteren Fragen wendet euch bitte an info@b1-systems.de oder
+49 (0)8457 - 931096...
Nächste SlideShare
Wird geladen in …5
×

GitLab als alternative Entwicklungsplattform zu Github.com

544 Aufrufe

Veröffentlicht am

GitLab als alternative Entwicklungsplattform zu Github.com

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
544
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
3
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

GitLab als alternative Entwicklungsplattform zu Github.com

  1. 1. GitLab als alternative Entwicklungsplattform zu Github.com Chemnitzer Linux-Tage 2015 21. März 2015 Ralf Lang Linux Consultant/Developer B1 Systems GmbH lang@b1-systems.de B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development
  2. 2. GitLab – Open-Source-Unterstützung beim gemeinsamen Coden B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 2 / 23
  3. 3. Warum Versionsverwaltung? einfaches Rechtemanagement integrierte Feedbackoptionen Reviews erzwingen Zeit für’s Coden gewinnen – kein umständliches Management von Tools und Benutzern B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 3 / 23
  4. 4. Warum ein eigenes VCS? strikte Zugriffskontrolle auf den Source Code niemand Drittes involviert dedizierte Ressourcen einfach einzufügen in Umgebungen mit speziellen Tools und Reports sensible Daten bleiben im Haus B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 4 / 23
  5. 5. Was ist GitLab? . . . eine Open-Source-Software zum gemeinsamen Entwickeln von Code . . . ein Abkömmling von Git, dem am weitesten verbreiteten VCS für Softwareentwicklung . . . ein Qualitätsgarant durch sein umfangreiches Reviewsystem ⇒ GitLab vereinfacht verteiltes Arbeiten an Projekten mit einem zentralen Server. B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 5 / 23
  6. 6. GitLab Features im Überblick Code Review Bug Tracking persönliche und private Branches GitLab kann mehrere Git Repositories verwalten 25.000 Benutzer auf einem Server Hochverfügbarkeit im active/active Cluster möglich Code Snippets Access Control Issue Tracking Web Hooks Wiki B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 6 / 23
  7. 7. GitLab ist kollaborativ, weil . . . . . . es eine unbegrenzte Anzahl öffentlicher oder privater Repositories unterstützt . . . es eine unbegrenzte Anzahl öffentlicher oder privater Projektmitglieder ermöglicht . . . es LDAP-Integration bietet . . . es sich in externe Ticketsysteme integrieren lässt (z. B. Redmine) . . . das Omnibus Paket die Konfiguration externer Datenbanken wie PostgreSQL oder MySQL unterstützt . . . mit JIRA zum Issue Tracking benutzt werden kann . . . es den Merge Request Status für Builds auf Jenkins CI anzeigen kann (nur Enterprise Edition) B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 7 / 23
  8. 8. Wer verwendet GitLab? Mehr als 100.000 Organisationen, wie z. B.: AT&T Bell CERN Fraunhofer Interpol Jülich Research Center NASA O’Reilly Media Red Hat . . . B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 8 / 23
  9. 9. Das GitLab-Projekt aktiv seit September 2011 über 700 aktive Entwickler verwaltet von GitLab.com Open Core Business Model: GitLab EE (Enterprise Edition): Enterprise-Version unter proprietärer Lizenz mit Support durch GitLab B.V. GitLab CE (Community Edition): Open-Source-Version unter der MIT License B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 9 / 23
  10. 10. Herkömmlicher Git-Workflow 1 Repository klonen 2 Branch anlegen 3 Source Code ändern 4 Einchecken 5 Patch anlegen oder Änderungen Upstream pushen B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 10 / 23
  11. 11. Nachteile des herkömmlichen Git-Workflows Jeder Mitarbeiter braucht für seine Committs Schreibzugriff auf die Projekte. ⇒ beabsichtigte Workflows können umgangen werden (fehlende Absicherung durch Rechte) Patchbearbeitung (format-patch): Jeder Mitarbeiter muss nach Einreichung seiner Patches auf eine manuelle Bearbeitung durch einen Reviewer warten. ⇒ immer noch ein arbeits- und zeitintensiver sowie fehleranfälliger Prozess B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 11 / 23
  12. 12. Der GitLab Workflow 1 Fork des Repositories in den eigenen Namensraum 2 Vollzugriff auf die eigene geforkte Kopie erteilen 3 Online im Browser oder im lokalem Checkout editieren 4 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 Teammitgliedern leichte Integration neuer Teammitglieder Code-Reviews helfen Bugs aufzudecken B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 12 / 23
  13. 13. Internes Issue/Review System APIs für externes Ticketing Zugriff auf Redmine Tickets über Git Commit Messages alternativ: internes Ticketing API für Gitlab CI Continuous Integration: automatisierte Builds durch Commits getriggerte Testsuite Dead Code Detectors (DCD) entfernen überflüssigen Code. Code Coverage (CC) Tools helfen die Testabdeckung aufzuzeigen (funktionale Tests, Sicherheitstests). ⇒ bessere Qualität der Software B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 13 / 23
  14. 14. Zugriffskontrolle GitLab bietet Zugriffskontrolle für Benutzer und Gruppen basierend auf unterschiedlichen Rechte-Levels. Befugnisse eines Benutzers hängen ab von seinem Zugriffslevel auf ein bestimmtes Projekt oder eine Gruppe. Gehört ein Benutzer gleichzeitig einer Projektgruppe und dem Projekt selbst an, wird das höhere Rechte-Level angewandt. Der GitLab Administrator erhält alle Rechte. B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 14 / 23
  15. 15. GitLab Continuous Integration fügt sich in die GitLab-Installation ein, um Tests für Projekte laufen zu lassen Login mit GitLab-Account neue Projekte mit einem Klick hinzufügen Installation auf eigener Hardware („On-Premises“) kann auf allen beliebigen Linux-Servern installiert werden B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 15 / 23
  16. 16. GitLab Dashboard – Projektüberblick B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 16 / 23
  17. 17. GitLab Dashboard – Commits B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 17 / 23
  18. 18. GitLab Dashboard – Workflow B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 18 / 23
  19. 19. GitLab Dashboard – Neues Projekt B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 19 / 23
  20. 20. GitLab Dashboard – Projekte B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 20 / 23
  21. 21. GitLab Dashboard – Projektdateien B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 21 / 23
  22. 22. Mehr Informationen zu GitLab . . . GitLab.com: GitLab.com GitLab Continuous Integration (CI): https://about.gitlab.com/gitlab-ci/ Die offizielle GitLab Dokumentation: http://doc.gitlab.com/ce/ B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 22 / 23
  23. 23. Vielen Dank für eure Aufmerksamkeit! Bei weiteren Fragen wendet euch bitte an info@b1-systems.de oder +49 (0)8457 - 931096 B1 Systems GmbH - Linux/Open Source Consulting,Training, Support & Development

×