SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
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
GitLab – Open-Source-Unterstützung beim
gemeinsamen Coden
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 2 / 23
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
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
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
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
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
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
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
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
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
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
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
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
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
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/gitlab-ci/
Die offizielle GitLab Dokumentation:
http://doc.gitlab.com/ce/
B1 Systems GmbH
GitLab als alternative
Entwicklungsplattform zu Github.com 22 / 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

Contenu connexe

Tendances

OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
Tobias Schneck
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011
Stefan Lay
 

Tendances (19)

'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
 
TYPO3 GitLab CI
TYPO3 GitLab CITYPO3 GitLab CI
TYPO3 GitLab CI
 
Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
 
OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!OpenShift-Build-Pipelines: Build ► Test ► Run!
OpenShift-Build-Pipelines: Build ► Test ► Run!
 
Gearconf 2011
Gearconf 2011Gearconf 2011
Gearconf 2011
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
TYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & ComposerTYPO3 Usergroup Dresden - TYPO3 & Composer
TYPO3 Usergroup Dresden - TYPO3 & Composer
 
Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011Entwicklertag Karlsruhe 2011
Entwicklertag Karlsruhe 2011
 
Childthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGNChildthemes mit git – WordPress MeetUp CGN
Childthemes mit git – WordPress MeetUp CGN
 
G&L Tech News 02/17
G&L Tech News 02/17G&L Tech News 02/17
G&L Tech News 02/17
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology...
 
Was ist Docker ?
Was ist Docker ?Was ist Docker ?
Was ist Docker ?
 
Cloud Native Computing
Cloud Native ComputingCloud Native Computing
Cloud Native Computing
 
OpenNTF 2015 Edition
OpenNTF 2015 EditionOpenNTF 2015 Edition
OpenNTF 2015 Edition
 
TFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen GenerationTFS 2015: Build und Release der neuen Generation
TFS 2015: Build und Release der neuen Generation
 
Atom Publishing Protocol
Atom Publishing ProtocolAtom Publishing Protocol
Atom Publishing Protocol
 
Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.chWie nutzen wir Cloud-Infrastruktur @ VSHN.ch
Wie nutzen wir Cloud-Infrastruktur @ VSHN.ch
 
TYPO3 Code Review Process
TYPO3 Code Review ProcessTYPO3 Code Review Process
TYPO3 Code Review Process
 

En vedette

Presentación tic jose carlos rojas andújar grupo z
Presentación tic jose carlos rojas andújar grupo zPresentación tic jose carlos rojas andújar grupo z
Presentación tic jose carlos rojas andújar grupo z
carlooos333
 
Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
 Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
ben hatfield
 
Configuracion de red
Configuracion de redConfiguracion de red
Configuracion de red
lucasmaso
 
Efectos de una TTF
Efectos de una TTFEfectos de una TTF
Efectos de una TTF
ManfredNolte
 
Rosangela marin asignacion i estructura discreta
Rosangela marin asignacion i estructura discretaRosangela marin asignacion i estructura discreta
Rosangela marin asignacion i estructura discreta
rosangelamarin
 
Proyecto de Nutrición Libélulas
Proyecto de Nutrición LibélulasProyecto de Nutrición Libélulas
Proyecto de Nutrición Libélulas
emrose813
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
ggzhack
 
Controles
ControlesControles
Controles
ggzhack
 

En vedette (20)

Proyecto ciclo
Proyecto cicloProyecto ciclo
Proyecto ciclo
 
Peñarol
PeñarolPeñarol
Peñarol
 
Implizites Namingright-Sponsoring
Implizites Namingright-SponsoringImplizites Namingright-Sponsoring
Implizites Namingright-Sponsoring
 
Presentación tic jose carlos rojas andújar grupo z
Presentación tic jose carlos rojas andújar grupo zPresentación tic jose carlos rojas andújar grupo z
Presentación tic jose carlos rojas andújar grupo z
 
Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
 Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
Teetrinker viel anfälliger für Prostatakrebs, Micron Associates Ansprüche
 
First Studies on Self-Preserving Digital Objects
First Studies on Self-Preserving Digital ObjectsFirst Studies on Self-Preserving Digital Objects
First Studies on Self-Preserving Digital Objects
 
Armado de lumbricario
Armado de lumbricarioArmado de lumbricario
Armado de lumbricario
 
Configuracion de red
Configuracion de redConfiguracion de red
Configuracion de red
 
Hongos
HongosHongos
Hongos
 
Renoir
RenoirRenoir
Renoir
 
Efectos de una TTF
Efectos de una TTFEfectos de una TTF
Efectos de una TTF
 
Presentación1
Presentación1Presentación1
Presentación1
 
Fotoalbum
FotoalbumFotoalbum
Fotoalbum
 
Rosangela marin asignacion i estructura discreta
Rosangela marin asignacion i estructura discretaRosangela marin asignacion i estructura discreta
Rosangela marin asignacion i estructura discreta
 
Proyecto de Nutrición Libélulas
Proyecto de Nutrición LibélulasProyecto de Nutrición Libélulas
Proyecto de Nutrición Libélulas
 
KLJB im Bayerischen Landtag: HEIMVORTEIL - Punktsieg für´s Land!
KLJB im Bayerischen Landtag: HEIMVORTEIL - Punktsieg für´s Land!KLJB im Bayerischen Landtag: HEIMVORTEIL - Punktsieg für´s Land!
KLJB im Bayerischen Landtag: HEIMVORTEIL - Punktsieg für´s Land!
 
Topologia de redes
Topologia de redesTopologia de redes
Topologia de redes
 
Tâche 2.
Tâche 2.Tâche 2.
Tâche 2.
 
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software   jacobson - booch - rumbaughEl proceso unificado de desarrollo de software   jacobson - booch - rumbaugh
El proceso unificado de desarrollo de software jacobson - booch - rumbaugh
 
Controles
ControlesControles
Controles
 

Similaire à GitLab als alternative Entwicklungsplattform zu Github.com

Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
CollabNet
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Steffen Gebert
 

Similaire à GitLab als alternative Entwicklungsplattform zu Github.com (20)

Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineSchlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
 
C API for Lotus Notes & Domino
C API for Lotus Notes & DominoC API for Lotus Notes & Domino
C API for Lotus Notes & Domino
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
 
Gitlab, Gitlab CI, Docker, Maven
Gitlab, Gitlab CI, Docker, MavenGitlab, Gitlab CI, Docker, Maven
Gitlab, Gitlab CI, Docker, Maven
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
Intel XDK: Cross-Plattform Entwicklung – Apps Entwickeln für alle Plattformen...
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software EntwicklungDevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung
 
Vorteil: Wissen. Collaboration Solutions für Wissensmanagement in Echtzeit
Vorteil: Wissen. Collaboration Solutions für Wissensmanagement in EchtzeitVorteil: Wissen. Collaboration Solutions für Wissensmanagement in Echtzeit
Vorteil: Wissen. Collaboration Solutions für Wissensmanagement in Echtzeit
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 

Plus de B1 Systems GmbH

Plus de B1 Systems GmbH (20)

Ubuntu-/Debian-Packaging
Ubuntu-/Debian-PackagingUbuntu-/Debian-Packaging
Ubuntu-/Debian-Packaging
 
Ubuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreibenUbuntu-Server als Backup- und Fileserver betreiben
Ubuntu-Server als Backup- und Fileserver betreiben
 
Android mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen RepoAndroid mit Google Befreiung, PlayStore Apps im eigenen Repo
Android mit Google Befreiung, PlayStore Apps im eigenen Repo
 
Ambilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & HyperionAmbilight, Raspberry Pi, Ubuntu & Hyperion
Ambilight, Raspberry Pi, Ubuntu & Hyperion
 
B1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AGB1 Thin Client Management bei der Fraport AG
B1 Thin Client Management bei der Fraport AG
 
Salt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for DatacentersSalt - A Scalable Systems Management Solution for Datacenters
Salt - A Scalable Systems Management Solution for Datacenters
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 
Simplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStackSimplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStack
 
Simplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStackSimplify and run your development environments with Vagrant on OpenStack
Simplify and run your development environments with Vagrant on OpenStack
 
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der ZeitBits and Bytes im Flow - Netzwerk im Wandel der Zeit
Bits and Bytes im Flow - Netzwerk im Wandel der Zeit
 
End of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStackEnd of the Road - Facing Current Scaling Limits within OpenStack
End of the Road - Facing Current Scaling Limits within OpenStack
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
E-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPGE-Mail-Verschlüsselung mit GnuPG
E-Mail-Verschlüsselung mit GnuPG
 
Some Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisierenSome Bashing II - Mit der Kommandozeile Abläufe automatisieren
Some Bashing II - Mit der Kommandozeile Abläufe automatisieren
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit Vagrant
 
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
 
Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?Btrfs - das Dateisystem der Zukunft?
Btrfs - das Dateisystem der Zukunft?
 
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SEOpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
OpenStack Betrieb & Support - 5 Jahre OpenStack Managed Service bei der SAP SE
 

GitLab als alternative Entwicklungsplattform zu Github.com

  • 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. GitLab – Open-Source-Unterstützung beim gemeinsamen Coden B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 2 / 23
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. GitLab Dashboard – Projektüberblick B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 16 / 23
  • 17. GitLab Dashboard – Commits B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 17 / 23
  • 18. GitLab Dashboard – Workflow B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 18 / 23
  • 19. GitLab Dashboard – Neues Projekt B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 19 / 23
  • 20. GitLab Dashboard – Projekte B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 20 / 23
  • 21. GitLab Dashboard – Projektdateien B1 Systems GmbH GitLab als alternative Entwicklungsplattform zu Github.com 21 / 23
  • 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. 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