Übersicht und beratung von versionsverwaltungen für quellcode (scm)
TRANSCRIPT
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM)
Tommy Ziegler (@tommyziegler_de)
&
25. August 2014 bei lowcotel GmbH in Lüneburg
Wer bin ich?• Tommy Ziegler - Twitter: @tommyziegler_de
Sr. Softwareentwickler & IT-Berater seit 2000Mein Blog: http://www.tommyziegler.com
• Lieblingsaktivitäten: in Riga/Lettland zu sein, gut Essen, Podcasts hören, viele neue Dinge lernen und auszuprobieren
• Beratungsgebiete in der Software-Entwicklung:
• Agile Prozess-, Technologie- & Projekt-Analyse
• Coaching von moderner Entwicklung wie TDD, CI-Pipelines, Automatisierung, DevOps uvm.
• Sicherheitsanalysen Ihrer Software und Infrastruktur
• sowie viele weitere Themen …
Senior Softwareentwickler
Kopierschutztechnologie No. 1
2008 acquired from:
&
Agenda
• Mögliche Lösungen • Mein aktueller
Vorschlag
• Geschichte von Versionsverwaltungen
• Die wichtigsten Systeme und deren Entwicklung
• Vor- & Nachteile von SVN und Git
Legende:
von 1982 bis 2010
Geschichte von Versionsverwaltungen
meine Evolution
natürliche Evolution
mercurial
2010 - 2012
2005
lokal zentral dezentral
relevante Technologien
Quelle: http://bit.ly/1pPHVkN, Stand: August 2014
Mercurial
Die wichtigsten Systeme undderen Entwicklung (mit Google Trends)
Git SVN(Apache Subversion)
CVS(Concurrent Version
System)
CVS
MercurialSVNGit
• Langsam
• Historie “dumm”
• Branching ist anstrengend
• Binärbehandlung
• Ohne Server unbrauchbar
• Schnell
• Mergen ist sicher & einfach
• Branching ist erwünscht
• Ohne Server verwendbar
• Sehr intellig. Historie
• Steiniger Einstieg für Anfänger
• Verlangt ein Paradigmenwechsel
• Nicht auf allen “OS” optimal.
• Fehlendes Rechte-management
Vor- & Nachteile von …
• Etabliert
• Techn. Ausgereift
• Verstanden
• Unterstützt
• Verfügbar
• Rechte-management
Mögliche Lösungen• Eigene Infrastruktur (initiale Installationskosten, sowie Quellcode in-House und sicher, aber Wartung
der Hard- u. Software ist nötig)
•
• Apache SVN (Cross Platform)
• VisualSVN Server (Windows)
• Bonobo Git Server (Windows)
• Gitolite (Linux)
• GitLab Community Edition (Collaboration Server)
• Software as a Service (monatl. Kosten je nach gebrauch, sowie der Quellcode ist bei 3rd Party Anbietern vielleicht unsicher)
• Github (5 Repos = 7 $ pro Monat)
• Bitbucket (Kostenlos für 5 Nutzer, ab 10 User 1 $ pro User im Monat)
• Code Reviews, JIRA integration, Custom Domains, REST API, unlimitierte Repos
- Open Source (Apache v2 Lizenz) -
- Kommerziell (Standard Edition $ 0) (Enterprise Edition $ 950) -
- Open Source (MIT Lizenz) -
- Open Source (GPL-v2 Lizenz) -
- Open Source (eigene Lizenz) -
-= Lizenz der Serversoftware =-
Mein aktueller Vorschlag
• Da es die zukunftssicherste Technologie aktuell am Markt ist
• Einfach zu sichern via Remote Repository
• Schnell und kleiner Footprint
• viele Entwickler sprechen Git
Server• Einfache Installation auf der aktuellen Hard- und Software
• Einfaches System im Betrieb(Rechte-Management, Backup etc.)
Vielen Dank
Scrum
Agile Softwareentwicklung
Spring Framework
Java
C/C++, Objective C, Swift
Mac OS X, Linux and WindowsContinuous Integration
Continuous Deployment
Cloud Computing
Full-Stack Development
Test-Driven Development
Domain-Driven Development
Virtualisation
Kanban
unsere weiteren Themen:
Cross-Platform
Configuration Management
AngularJS
Security und IP Protection