GitLab als alternative Entwicklungsplattform zu Github.com



Ähnliche Dokumente
AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Erfolgreicher Ums9eg auf Git

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Deployment Deployment Seite 1 / 25

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Praktikum Ingenieurinformatik (PI)

Versionsverwaltung mit SVN

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Git II. Dezentrale Versionsverwaltung im Team

Software Engineering in der Praxis

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Von SVN zu Git. Daniel Willmann cbna

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Document Management. Überblick DM

HSR git und subversion HowTo

SharePoint Demonstration

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

v2.2 Die innovative Softwarelösung für kundenspezifisches Anrufmanagement Administrator-Handbuch

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Moodle aktuell halten mit Git

WINDOWS 8 WINDOWS SERVER 2012

Microsoft SharePoint 2013 Designer

Die Projek*ools. Files, Git, Tickets & Time

Einführung in Subversion

Verwendung des Terminalservers der MUG

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Einreichung zum Call for Papers

End-to-End Agility Sind Sie schon agil genug? Mag. Christoph Leithner

Lokale Installation von DotNetNuke 4 ohne IIS

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Windows Server 2008 (R2): Anwendungsplattform

IAWWeb PDFManager. - Kurzanleitung -

Redmine, das Projekt Management Werkzeug

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

Continuous Integration

Konfigurationsdateien mit Git verwalten

Kern Concept AG Software Entwicklung HMO und BlueEvidence

Subversion. 17. Oktober Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server.

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

PERFORMANCE MARKETING. Tag Manager Vorteile und Installation

Identity & Access Management in der Cloud

Übersicht Oracle Lizenzierung Oracle Lizenz-Shop

Wie benutzt man TortoiseSVN

Avira Server Security Produktupdates. Best Practice

BitDefender Client Security Kurzanleitung

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, , Berlin

Continuous Delivery in der Realität eines Großunternehmens

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

Apache Subversion (SVN)

Git in großen Projekten

Aufgaben im Team erledigen. Dokumente gemeinsam bearbeiten. Projektgruppen online stellen. Zusammenarbeit von überall.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Kurzanweisung für Google Analytics

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat

Clientkonfiguration für Hosted Exchange 2010

Teamlike Administratorenhandbuch

Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

TeamViewer App für Outlook Dokumentation

Wine - Windows unter Linux

Versionsverwaltung mit git. Christoph Knabe FB VI

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Anlegen eines virtuellen http Server unter Exchange 2003 mittels HOSTNAME

Kurzanleitung ejax Online-Demo

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Windows Small Business Server (SBS) 2008

Benutzerverwaltung Business- & Company-Paket

Wie man als Redakteur Effektiv arbeitet. Einführung in TYPO3

GITS Steckbriefe Tutorial

Hex Datei mit Atmel Studio 6 erstellen

Wo sind meine Anforderungen?

Installationsvoraussetzungen

IBM SPSS Statistics Version 22. Installationsanweisungen für Mac OS (Lizenz für gleichzeitig angemeldete Benutzer)

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

Windows 2008 Server im Datennetz der LUH

Step by Step Webserver unter Windows Server von Christian Bartl

FAQ The FAQ/knowledge base. Version 2.1.1

Verteilte Versionskontrolle mit GIT Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Installation Hardlockserver-Dongle

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

DVD Version 9.1. Netzwerkinstallation + VDE-Admin-Tool.

DocuWare unter Windows 7

InfoPoint vom 9. November 2011

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

Einfu hrung in Subversion mit TortoiseSVN

Verwendung des IDS Backup Systems unter Windows 2000

Workshop: Eigenes Image ohne VMware-Programme erstellen

Transkript:

Entwicklungsplattform zu Github.com Chemnitzer Linux-Tage 2015 21. März 2015 Ralf Lang Linux Consultant/Developer lang@b1-systems.de - Linux/Open Source Consulting, Training, Support & Development

GitLab Open-Source-Unterstützung beim gemeinsamen Coden 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 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 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. 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 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) 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... 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 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 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 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 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 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. 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 Entwicklungsplattform zu Github.com 15 / 23

GitLab Dashboard Projektüberblick Entwicklungsplattform zu Github.com 16 / 23

GitLab Dashboard Commits Entwicklungsplattform zu Github.com 17 / 23

GitLab Dashboard Workflow Entwicklungsplattform zu Github.com 18 / 23

GitLab Dashboard Neues Projekt Entwicklungsplattform zu Github.com 19 / 23

GitLab Dashboard Projekte Entwicklungsplattform zu Github.com 20 / 23

GitLab Dashboard Projektdateien 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/ 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 - Linux/Open Source Consulting, Training, Support & Development