Branching und Merging mit Visual Studio Team System



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

Moodle aktuell halten mit Git

SharePoint Workspace 2010 Installieren & Konfigurieren

Das Compare-, Merge- und Versionierungstool für Microsoft Dynamics NAV. NAVObjectEditor RECY CLE

Powermanager Server- Client- Installation

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Kurzanleitung zu. von Daniel Jettka

ARCO Software - Anleitung zur Umstellung der MWSt

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Synchronisations- Assistent

teamsync Kurzanleitung

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

Installationsanleitung. Novaline Datenarchivierung / GDPdU

CALCOO Lite. Inhalt. 1. Projekt anlegen / öffnen. 2. Projekt von CALCOO App importieren

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Installation und Inbetriebnahme von Microsoft Visual C Express

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Datensicherung und Wiederherstellung

Loggen Sie sich in Ihrem teamspace Team ein, wechseln Sie bitte zur Verwaltung und klicken Sie dort auf den Punkt Synchronisation.

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

1 Was ist das Mediencenter?

Installation Hardlockserver-Dongle

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Mediumwechsel - VR-NetWorld Software

Windows Server 2012 R2 Essentials & Hyper-V

Installation von Updates

Information zur Durchführung von. Software-Updates

Kurzanleitung Verwendung von USB-Sticks

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Eine Einführung in die Installation und Nutzung von cygwin

SharePoint Demonstration

Mediumwechsel - VR-NetWorld Software

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

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

iphone-kontakte zu Exchange übertragen

Lokale Installation von DotNetNuke 4 ohne IIS

Workshop: Eigenes Image ohne VMware-Programme erstellen

Howto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

Praktikum Ingenieurinformatik (PI)

1. Allgemeines zum tevitel.wq-monitor Seite WQ-Monitor konfigurieren Seite 4

Speichern. Speichern unter

Einheitlich für alle Notare bietet XNotar vor allem die folgenden Optionen:

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

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

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

malistor Phone ist für Kunden mit gültigem Servicevertrag kostenlos.

Versionsverwaltung mit SVN

EIDAMO Webshop-Lösung - White Paper

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

GSM: Airgap Update. Inhalt. Einleitung

Umstieg auf Microsoft Exchange in der Fakultät 02

Adminer: Installationsanleitung

7 SharePoint Online und Office Web Apps verwenden

Whitepaper. Produkt: combit address manager / combit Relationship Manager. Datenabgleich zwischen Notebook und Desktop-PC / Server

Einreichung zum Call for Papers

Internet Explorer Version 6

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Anleitung über den Umgang mit Schildern

Alice SmartDisk. Auf dem PC - Schritt für Schritt erklärt

DOKUMENTATION VOGELZUCHT 2015 PLUS

Änderung der Sicherheitseinstellungen von konten

Ablauf bei der Synchronisation und Sortierung von Dateien aus mehreren Kameras

StarMoney-Software Kontoumstellung mittels VR-NetKey (PIN/TAN)

Dokumentation. Novaline Datenbankassistent. Version

Hallo, Anmeldung auf der Office-Webplattform: Seite 1 von 7 Office 365 Pro Plus

LEHRSTUHL FÜR DATENBANKEN

Installation von horizont 4 bei Verwendung mehrerer Datenbanken

TimeSafe Zeiterfassung. Version 2.5 (April 2009)

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

IntelliRestore Seedload und Notfallwiederherstellung

Bedienungsanleitung für den Online-Shop

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Leitfaden zur Nutzung des Systems CryptShare /Sicheres Postfach

2) Geben Sie in der Anmeldemaske Ihren Zugangsnamen und Ihr Passwort ein

[ DROPBOX PER USB-STICK NUTZEEN ]

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Eine Anwendung mit InstantRails 1.7

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Vorgehensweise bei Lastschriftverfahren

easysolution GmbH easynet Bessere Kommunikation durch die Weiterleitung von easynet-nachrichten per nach Hause

Installationsbeschreibung Flottenmanager 7.1

WinVetpro im Betriebsmodus Laptop

Datensicherung und Wiederherstellung

GRS SIGNUM Product-Lifecycle-Management

Die Rückgabe kann über folgende, von uns getestete Programme / Apps vorgenommen werden: Adobe Digital Editions Sony Reader for PC Bluefire Reader

Internet online Update (Internet Explorer)

INSTALLATIONSANLEITUNG

Abschluss Version 1.0

Netzwerk-Migration. Netzwerk-Migration IACBOX.COM. Version Deutsch

Neue Funktionen in Innovator 11 R5

Transkript:

Branching und Merging mit Visual Studio Team System

IN EINER IDEALEN WELT GIBT ES Ein Entwicklungsteam Ein Projekt welches deployt werden muss Eine Deadline Kunden warten bis das Projekt komplett fertig ist Jeder Kunde migriert sofort zur neuen Version Nach einem werden keine Defekte mehr gefunden Version 1 Version 2 Version 3

IN DER REALEN WELT GIBT ES (UNGLÜCKLICHERWEISE) Teams die parallel an einem Projekt arbeiten Mehrere Projekte in unterschiedlichen Versionen die deployt werden müssen Test-Teams die Defekte in aktuellen und alten Versionen finden Experimentelle Entwicklung am Projekt Version 3 Version 1 Team A Team B Defekte Version 2

PARALLELE ENTWICKLUNG Mehrere Instanzen des Projekts um die Aufgaben der realen Welt zu lösen In unterschiedlichen Versionen Für Arbeiten an verschiedenen Bereichen Um diese Instanzen zu erzeugen wird Branching genutzt Version 1.1 Version 1 Version 2.X Feature ABC

BRANCHING Branching ermöglicht parallele Entwicklung Jede Entwicklungstätigkeit (Bugfix, Feature, Stabilisation, usw.) bekommt Snapshot des Projekts Branching beinhaltet gewöhnlich: Snapshot der Sourcen für isoliertes Arbeiten Snapshot ist der Child Branch Ursprung oder Basis ist der Parent Branch Änderungen integrieren und stabilisieren Bi-Direktionale Synchronisation der Änderungen Merging Parent zu Child Integration Child zu Parent

MERGING Merging ist das Zusammenführen von Änderungen Merging zwischen Parent und Child ist Basefull Merging von Änderungen die nicht in einer Parent/Child Beziehung stehen ist Baseless Beim Base Full Merge-Vorgang kennt VSTS die Ursprungsdatei und kann Änderungen genau nachvollziehen (kennt 3 Dateien) Beim Base Less Merge Vorgang kennt VSTS nur die 2 zu mergenden Dateien und kann die spezifischen Änderungen nicht nachvollziehen.

ISOLATION IN VISUAL STUDIO TEAM SYSTEM Auf individueller Ebene: Workspaces Auf Teamebene: Branching Zwei oder mehr Child Branches Auf Datei, Verzeichnis oder Projektebene Es werden (virtuell) Kopien im TFS angelegt Die History bleibt erhalten Verfolgt werden Namensänderungen, Änderungen in Sourcefiles, neue und gelöschte Files,

BRANCHING MODELLE Dies sind die gebräuchlichsten Modelle: Branch by Branch by Purpose Mainline Model

BRANCH BY RELEASE QA Produktives Bug Fix 1.1 Dev QA Prod QA Produktives Merge Bug Fix 1 1.2 Dev QA Prod Merge Bug Fix 1 1.3 Dev

BRANCH BY RELEASE Einfachstes Branching Model Sobald ein für QA fertig ist kommt neuer Branch Alter Branch wird für Bugfixes und s genutzt Entwickler programmieren im neuen Branch Nachteile an diesem Ansatz: Bugfix in früherem Branch muss in allen nachfolgenden durchgereicht werden Ein Großteil der Personen muss bei jedem Branch wechseln nur ein kleiner Teil bleibt als QA Ausgecheckter Code muss in Ursprungs-Branch eingecheckt werden. Ein erneutes darf die nachträgliche Änderung nicht mit deployen.

BRANCH BY RELEASE CODE EINCHECKEN QA Bug Fix Produktives 1.1. Dev QA Prod Code muss wieder in 1.1 eingecheckt werden, gehört aber logisch zu 1.2. s von 1.1 dürfen den Code nicht enthalten 1.2 Dev

BRANCHING MODELLE Dies sind die gebräuchlichsten Modelle: Branch by Branch by Purpose Mainline Model

BRANCH BY PURPOSE Feature Freeze Bridge Bug Fixes Code Freeze Bugfix Merge-Vorgänge Main Dev Kandidat QA QA QA Alpha Beta Prod. Kandidat 1 Prod. Bugfix Produktives Prod. 1.0 Prod. 1.1

BRANCH BY PURPOSE Ein wird für bestimmten Zweck erstellt. Gewöhnlich für QA Systeme, Technology Previews, Unterstützt regelmäßige s und Emergency s Der Großteil der Personen bleibt im gleichen Branch Bugfixes werden in Main Branch zurück gemerged. Betrifft der Fehler neuere s wird er von Main dorthin gemerged. Ausgecheckter Code kann später wieder im Main Branch eingecheckt werden

BRANCH BY PURPOSE Feature Freeze Bug Fixes Code Freeze Main Kandidat Dev Alpha Beta Code kann nach dem Prod. Branch eingecheckt werden (bis dahin Shelving nutzen) Prod. Kandidat Produktives Prod. 1.0 Prod. 1.1

BRANCH BY PURPOSE FEATURE CREW Erweiterung um verstärkt parallele Entwicklung In Bereich Entwicklung werden neue Features in separaten Branches programmiert Der Main (Test/Integration) Bereich ist zur Codestabilisierung und Erzeugung von s Der Produktiv-Bereich ist für den Support releaster Produkte Entwicklung Feature Branch 1 Feature Branch 2 1.0 1.1 Main Produktiv 1.0 1.1

BRANCH BY PURPOSE FEATURE CREW Feature 1 QA Build 2 Feature 2 Main ( 2) Bugfixes Mergen Feature 1 F 2 Produktiv

BRANCH BY PURPOSE FEATURE CREW In Main findet Stabilisation des Codes statt In Feature Branches findet eigentliche Entwicklung statt Feature Branches synchronisieren sich mit Main Vorgehen: Feature Branch synchronisiert vorab mit Main, eigentliche Integration findet so statt Fertiges Feature wird anschließend zu Main integriert Restliche Feature Branches synchronisieren sich mit Main. Das neue Feature wird dadurch dort integriert Die resultierende Integration in Main wird in den Produktiven Branch gemerged Einsatz: Entwickler arbeitet/en an Änderungen über Wochen Bei großen Anpassungen an der Systemarchitektur

BRANCHING MODELLE Dies sind die gebräuchlichsten Modelle: Branch by Branch by Purpose Mainline Model

MAINLINE MODEL Main Version 1.0 für QA Version 1.1 für QA Version 1.2 für QA Staging X Version 1.0 für Live X Version 1.1 für Live Version 1.2 für Live Live X X

MAINLINE MODEL Auch Website Model genannt (nur eine Version Produktiv) Es gibt insgesamt 3 Branches: Im Main Branch findet Entwicklung statt Der Staging Branch ist für QA und Stabilisation Live Branch für Live s/maintainance Die Branches werden für jedes recycled Vorgehen: copy up : Entwicklung -> Staging -> Live Bisherige Branch wird geleert und die neuen Sourcen dort hin kopiert. merge down : Live -> Staging -> Entwicklung Gefixte Bugs Nachteil: Alte s können schwerer gepacht werden

QUELLEN Microsoft Team Foundation Server Branching Guidance http://www.codeplex.com/branchingguidance The Importance of Branching Models in SCM http://www.accurev.com/product/docs/scmbranchingm odels1.pdf Visual Studio Team System Workshop

Kontakt Frank Zehelein Teamleiter Software-Entwicklung VSTS-Consultant zehelein@axinom.de Telefon: 0911 80109-27 http://www.axinom.de