Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Arbeiten mit der neuen Versionsverwaltung im TFS

Ähnliche Präsentationen


Präsentation zum Thema: "Arbeiten mit der neuen Versionsverwaltung im TFS"—  Präsentation transkript:

1 Arbeiten mit der neuen Versionsverwaltung im TFS
3/28/2017 1:58 PM Download der Folien und Beispiele: Arbeiten mit der neuen Versionsverwaltung im TFS Neno Loje AIT TeamSystemPro Team © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

2 Wer sind Sie? Sie …wollen weg von ihrem jetzigen System?
Performanz, weltweite Teams, Parallelarbeit … haben bereits auf TFS gewechselt? … möchten sich informieren welche Vorteile ein Wechsel zum TFS für Sie hätte?

3 Was bisher geschah… Microsoft und Versionsverwaltungssysteme

4 Was bisher geschah… Microsoft und Versionsverwaltungssysteme

5 Agenda TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten
Weitere Themen

6 Agenda TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten
Weitere Themen

7 Begrifflichkeiten VSTS TFS TFVC Visual Studio Team System
Team Foundation Server TFVC Team Foundation Version Control (die Versionsverwaltung im TFS)

8 Marketingnamen VSTS TFS TFVC
Microsoft® Visual Studio® Team System 2008 TFS Microsoft® Visual Studio® Team System 2008 Team Foundation Server TFVC Team Foundation Version Control (die Versionsverwaltung im TFS)

9 Visual Studio Team System

10 TFVC vorgestellt Team Foundation Version Control (TFVC)
… ist eine vollständige Neuentwicklung … wurde für große Teams, die auch weltweit verteilt arbeiten, optimiert

11 Was erwarten wir von einer Versionsverwaltung?
Die Aufbewahrung unseres "Master"-Quellcodes Die "Versionierung" des Quellcodes d.h. den Mastercode zu einem bestimmten Punkt auf der Zeitachse (z.B. zu einem Build) Neben dem Mastercode mehrere Kopien

12 Was gehört alles in eine Versionsverwaltung?
Alles, was wir zum Bauen benötigen: Quellcode (C#, C++, VB6, Java, …) Tests Installationsprogramm Endbenutzerdokumentation Datenbank-Schema

13 Architektur der TFVC Team Foundation Client Tier Version Control Proxy
Build Machine MS Excel Plug-In MS Project Visual Studio Packages Internet Explorer Version Control Proxy Service Build Process WSS Proxies SQL RS Team Foundation Object Model VSTF Clients of VSTF VSTF Adjuncts Report Client Custom reporting tools MS Excel Team Foundation App Tier SQL Reporting Services Windows SharePoint Work Item Tracking Service Version Control Team Build Core Services Warehouse Adapters Team Foundation Data Tier Core Data Version Control Work Items Team Build Data

14 Agenda TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten
Weitere Themen

15 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

16 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

17 Workspaces Lokaler "Sandkasten" (= clientseitige Kopie), in dem gearbeitet wird Befehle auf dem Sandkasten werden immer erst lokal "gemerkt" (ausstehende Eincheckvorgänge) Zuordnung zwischen lokalen Ordnern und Ordnern in der TFVC $/  D:\Projekte\ Workspaces gehören jeweils einem Benutzer und einem Computer

18 Workspaces: Bildlich

19 Workspaces: Empfehlungen
Empfehlung: Workspace von Hand anlegen! VS legt automatisch einen Workspace an Lokale Struktur auf Festplatte = TFS-Struktur $/ProjektA  D:\Projekte\ProjektA $/ProjektB  D:\Projekte\ProjektB Man kann auch mehrere Workspaces auf einer Maschine einrichten "Pending Changes" Fenster in VS zeigt jeweils nur Elemente aus einem Workspace an

20 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

21 Einchecken Die Änderungen werden samt Metadaten als so genanntes "Changeset" übertragen Das Einspielen erfolgt transaktional Metadaten Kommentar Beliebige Anzahl an Eincheck-Notizen Verknüpfung zu Aufgaben

22 Verhalten vom Auschecken
Auschecken ist missverständlich Auschecken bedeutet: "Ich möchte die Datei eventuell bearbeiten" TFVC macht die Dateiversion im Workspace schreibbar. Mehr nicht. Um aktuellste Version zu bekommen muss vorher manuell Get (Latest) aufgerufen werden!

23 TFVC-Vokabular Check-In Check-Out Get = Upload = "Darf ich schreiben?"
= Download

24 Check-In vs. Check-Out vs. Get
Get (Download) Check-In (Upload) Team Foundation Server Visual Studio Check-Out "Darf ich bitte schreiben?"

25 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

26 Sperren Zwei Extreme: Standardmäßig nutzt der TFS ersteres
Jeder soll alles gleichzeitig bearbeiten dürfen ("Multiple Checkout") Es darf nur einer zur Zeit an etwas arbeiten ("Exclusive Checkout") Standardmäßig nutzt der TFS ersteres An-/ausschaltbar pro Projekt Pro Dateityp (für den gesamten TFS gültig) Bei jedem Checkout explizit sperrbar

27 Locks: Bildlich

28 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

29 Eincheckrichtlinien (Check-In Policies)
Pro Projekt vom Projektleiter einstellbar Richtlinien prüfen den Code lokal und entscheiden ob eingecheckt werden darf Erweiterbar durch eigene Eincheckregeln

30 Policy Override Eincheckrichtlinien sollen den Benutzer "erinnern", nicht etwas erzwingen Benutzer können das negative Ergebnis der Eincheckrichtlinien umgehen ("Override") Kann man diese Funktion abschalten? Leider nein, aber sich benachrichtigen lassen Entweder sofort (per ) oder über Berichte

31 Fertig einsetzbare Eincheckrichtlinien
In VS 2008 eingebaute Richtlinien: Work Item Policy Code Analysis Test Policy CI Build not failed Policy Custom Path Policy Forbidden Patterns Policy Changeset Comments Policy Work Item Query Policy

32 Ideen für neue Eincheckrichtlinien
Geplante und verwirklichte Eigenproduktionen: Branching Forbidden Policy Checkin Time Restriction Policy Clean Build Policy Confirmation Required Policy Deleting Forbidden Policy Maximum File Size Policy No Checkins Allowed Policy Local Backup Policy Run Custom Tool Policy Nicht vergessen: DLL muss auf allen Clients installiert werden

33 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

34 Grundlagen: Shelving Das Dilemma: Die Lösung: „Shelves“
Es soll täglich eingecheckt werden Gründe: Datensicherung, mögl. Erkrankung, … Der Code in der Versionsverwaltung soll von hoher Qualität sein und immer kompilieren Gründe: Daily Build, Prüfen von Coderegeln, … Die Lösung: „Shelves“

35 Shelving in Aktion Ausgangsfrage: Habe ich "fertigen" Code? Ja? Nein?
Fertig = erfüllt die Unternehmensrichtlinien Ja? Check-In: In die Versionsverwaltung einchecken Eincheckrichtlinien werden geprüft Änderungen fließen in den Buildprozess mit ein Nein? Shelve-In: In eigenen Shelve ablegen Keine Auswirkungen auf andere Benutzer

36 Einsatzmöglichkeiten für Shelving
Unfertige Arbeit sichern z.B. bei Unterbrechungen, Feierabend, etc. Weitergabe von unfertiger Arbeit Kollege ist Experte auf einem bestimmten Gebiet Code Review Freiberufler sollen nicht direkt einchecken Zwischenspeicherung (Checkpoints) Aktuellen Workspace-Arbeitsstand sichern Wechsel zwischen parallelen Aufgaben

37 Hinweis zum Shelving in Kombination mit exklusiven Sperren
Beim "Unshelve" müssen alle in einem Shelve geänderten Dateien ausgecheckt werden können

38 Team Foundation Version Control
Workspaces Changesets Locks Policies Shelves Branches

39 Quellcodestruktur und Branching
Die Quellcodestruktur sowie die Branches (=Kopien) sind nicht in Stein gemeißelt und lassen sich jederzeit wieder umorganisieren, wenn es die Umstände erfordern Branches sind leichtgewichtig Keine Performanzeinbußen bei vielen Branches Aber: Organisationsoverhead Branches sind nur logische Kopien Werden als Ordner dargestellt (und im lokalen Workspace auch physikalisch als Kopie angelegt)

40 Quellcodestruktur (Standard)
Automatisch von VS vorgegebene Standardstruktur: $/ TeamProjekt Visual Studio-Projektmappe (.sln) Visual Studio-Projekt (.csproj) Projektunterordner

41 Branching-Anforderungen
Dazwischen werden jetzt noch benötigte Branching-Ebenen (Ordner) eingeschoben Beispielszenario: Es sollen immer die aktuelle Version auf dem Markt und die nächste in Entwicklung befindliche Version zum Bearbeiten zur Verfügung stehen. Das Projekt besteht aus Solutions, die in jeder Version unterschiedlich sind (keine Gemeinsamkeiten haben)

42 Branching-Anforderungen (II)
Mögliche Lösung: $/TeamProjekt/ Branch "Produktion" (= beim Kunden) Visual Studio-Projektmappe (.sln) Visual Studio-Projekt (.csproj) Projektunterordner weitere Ordner… weitere Visual Studio-Projekte … weitere Projektmappen … Branch "Entwicklung" (= Zukunft) Solutions (die nicht "gebrancht" werden)

43 Paralleles Arbeiten: Isolationsstufen
Workspaces Daten lokal gespeichert Für 1 Computer und 1 Benutzer Shelves Daten auf dem Server gespeichert Es kann 1 Person zur Zeit dran arbeiten Branches Mehrere Personen gleichzeitig

44 Branches v0.1 v1.0 V2.0 v1.0‘ v1.1 branch merge

45 Wie viele Branches braucht mein Projekt?
… verursachen Aufwand … können auch nachträglich angelegt werden Gründe für Branches Unterstützung ausgelieferter Versionen Isolation von paralleler Arbeit Experimentelles Arbeiten

46 "Shared Components" Umgang mit gemeinsam genutzten Komponenten
Branches!

47 Shared Components mit Branches
Gemeinsam genutzte Komponenten Komponenten-DLLs Projekt A Quellcode Projekt B branch branch ref ref

48 Agenda TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten
Weitere Themen

49 Zugriffsmöglichkeiten auf die TFVC
Windows: Team Explorer TE und VS-Version müssen übereinstimmen d.h. TE2005 für VS2005, auch bei TFS 2008 DOS-Feeling: Kommandozeile Web: Team System Web Access Nur lesend Alte IDEs: VS6, VB6, etc. via MSSCCI-Provider Eclipse IDE, Linux, MacOS: Teamprise (€) Windows Explorer: Diverse Plug-Ins

50 Teamprise ($) Department of SourceGear
Version Control & Work Item Tracking Supports other platforms like: Linux Mac OS X Eclipse IDE

51 Nette Helferlein Kostenfreies Werkzeug:
Workspace Sidekick Oberfläche zur komfortablen Administration von Workspaces Status Sidekick Anzeige aller anstehenden und erfolgten Vorgänge History Sidekick Label Sidekick Shelve Sidekick

52 Agenda TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten
Weitere Themen

53 Weitere Themen Unterschiede VSS zu TFVC Offline arbeiten
Mit Visual Studio 2005 und Power Tools Mit Visual Studio 2008 Verteiltes Arbeiten Version Control Proxy Skalierbarkeit & Performanz

54 Weitere Themen II Destroy Label Security Permissions
Command Line support Compare Annotate Power Tools

55 Source Control Feature Support
3/28/2017 1:58 PM Source Control Feature Support Yes No Atomic Checkin Work Item Integration Checkin Policies Shelving Delta File Storage Delta Binary File Storage Large File Support (>4GB) Distributed Team Support © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

56 Source Control Feature Support
3/28/2017 1:58 PM Source Control Feature Support Yes No Checkin Notification Non-Windows Support Diff Tool Extensibility Shared Checkout VS 2003 Integration Keyword Expansion Pinning & Sharing Shadow Folders © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

57 Verteiltes Arbeiten ohne Version Control Proxy
SOAP Messages File Transfers SOAP Messages File Transfers SOAP Messages File Transfers

58 Verteiltes Arbeiten mit Version Control Proxy
SOAP Messages File Uploads SOAP Messages Downloads File Uploads SOAP Messages File Uploads

59 "Hundefütterung" bei Microsoft (2006)

60 "Hundefütterung" bei Microsoft (2007)

61 "Hundefütterung" bei Microsoft (2008)

62 TFS Dogfood Statistics – July 08
Users Recent users: 2,409 (up 451) Users with assigned work items: 4,293 (up 567) Version control users: 4,345 (up 525) Version control Files/Folders: 312,965,192/75,535,960 (up 43,182,945/up 11,300,347) Total compressed file size: 2,607,236 MB (up 389,270 MB) Checkins: 484,546 (up 48,613) Shelvesets: 40,028 (up 8,611) Merge history: 756,402,342 (up 104,599,145) Pending changes: 39,586,207 (up 15,367,172) Workspaces: 11,415 (up 2,494) Local copies: 2,948,671,753 (was 2,214,366,807) Builds Builds: 6,524 (up 369) Work Items Work Items: 446,048 (up 33,117) Areas & Iterations: 10,536 (up 452) Work item versions: 3,713,236 (up 257,532) Attached files: 258,580 (up 14,454) Queries: 27,944 (up 2,291) Commands (last 7 days) Work Item queries: 564,970 (up 106,437) Work Item updates: 29,854 (down 8,574) Work Item opens: 156,578 (down 56,465) Gets: 792,700 (up 470,385) Downloads: 52,063,240 (down 44,994,791) Checkins: 7,247 (up 515) Uploads: 159,837 (up 49,135) Shelves: 4,238 (up 1,134)

63 Zusammenfassung Der TFS hat keine VSS-Altlasten
Performanz, verteiltes Arbeiten, neue Ideen Einiges ist anders, aber nichts unlösbar Man kann dem System vertrauen

64 Anders als in VSS Änderungen erst lokal im Workspace
erst nach Check-In ist es für alle sichtbar Check-Out holt nicht die neuste Version einstellbar (ab TFS 2008) Links werden durch Branching abgebildet und haben nun einen expliziten Schritt Standardmäßig ist mehrfaches Auschecken erlaubt

65 Nächste Schritte Ziehen Sie um Starten Sie mit zwei Branches
Migration des Quellcodes Starten Sie mit zwei Branches Trennung vom ausgelieferter Version und in Entwicklung befindlichem Code … und erzeugen bei Bedarf zusätzliche Branches Nutzen Sie "Shelves" für unfertige Arbeit bei Feierabend, zur Weitergabe, etc.

66 per E-Mail an: neno@teamfoundationserver.de
Download der Folien und Beispiele: per an:

67

68 Your MSDN resources check out these websites, blogs & more!
3/28/2017 1:58 PM Your MSDN resources check out these websites, blogs & more! Presentations TechDays: MSDN Events: MSDN Webcasts: MSDN Events MSDN Events: Save the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin MSDN Flash (our by weekly newsletter) Subscribe: MSDN Team Blog RSS: Developer User Groups & Communities Mobile Devices: Microsoft Solutions User Group Switzerland: .NET Managed User Group of Switzerland: FoxPro User Group Switzerland: © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

69 Your TechNet resources check out these websites, blogs & more!
3/28/2017 1:58 PM Your TechNet resources check out these websites, blogs & more! Presentations TechDays: TechNet Events TechNet Events: Save the date: Tech•Ed 2009 Europe, 9-13 November 2009, Berlin TechNet Flash (our by weekly newsletter) Subscribe: Schweizer IT Professional und TechNet Blog RSS: IT Professional User Groups & Communities SwissITPro User Group: NT Anwendergruppe Schweiz: PASS (Professional Association for SQL Server): © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

70 Save the date for tech·days next year!
3/28/2017 1:58 PM Save the date for tech·days next year! 7. – 8. April 2010 Congress Center Basel © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

71 Premium Sponsoring Partners
3/28/2017 1:58 PM Premium Sponsoring Partners Classic Sponsoring Partners Media Partner © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

72 3/28/2017 1:58 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Herunterladen ppt "Arbeiten mit der neuen Versionsverwaltung im TFS"

Ähnliche Präsentationen


Google-Anzeigen