Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Neno Loje AIT TeamSystemPro Team Download der Folien und Beispiele: Download der Folien und Beispiele:

Ähnliche Präsentationen


Präsentation zum Thema: "Neno Loje AIT TeamSystemPro Team Download der Folien und Beispiele: Download der Folien und Beispiele:"—  Präsentation transkript:

1 Neno Loje AIT TeamSystemPro Team Download der Folien und Beispiele: Download der Folien und Beispiele:

2 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 Microsoft und Versionsverwaltungssysteme

4

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

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

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

8 VSTS 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

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

11 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 Alles, was wir zum Bauen benötigen: Quellcode (C#, C++, VB6, Java, …) Tests Installationsprogramm Endbenutzerdokumentation Datenbank-Schema …

13 Custom reporting tools MS Excel Team Foundation Data Tier Version Control Proxy Report Client Team Foundation Client Tier CoreDataVersionControl Work Items Team Build Data SQLReportingServicesWindowsSharePointServicesSQLReportingServicesWindowsSharePointServices Work Item TrackingServiceVersionControlServiceTeamBuildServiceCoreServicesWarehouseAdapters Team Foundation App Tier WSSProxies SQL RS Proxies Team Foundation Object Model MS Excel Plug-In MS Project Plug-In Visual Studio Packages Internet Explorer BuildProcessVersionControlProxyService VSTF Clients of VSTF VSTF Adjuncts Build Machine

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

15 Workspaces Changesets Locks Policies Shelves Branches

16 Workspaces Changesets Locks Policies Shelves Branches

17 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

19 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 Workspaces Changesets Locks Policies Shelves Branches

21 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 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 Check-In = Upload Check-Out = "Darf ich schreiben?" Get = Download

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

25 Workspaces Changesets Locks Policies Shelves Branches

26 Zwei Extreme: 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

28 Workspaces Changesets Locks Policies Shelves Branches

29 Pro Projekt vom Projektleiter einstellbar Richtlinien prüfen den Code lokal und entscheiden ob eingecheckt werden darf Erweiterbar durch eigene Eincheckregeln

30 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 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 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 Workspaces Changesets Locks Policies Shelves Branches

34 Das Dilemma: 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 Ausgangsfrage: Habe ich "fertigen" Code? 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 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 Beim "Unshelve" müssen alle in einem Shelve geänderten Dateien ausgecheckt werden können

38 Workspaces Changesets Locks Policies Shelves Branches

39 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 Automatisch von VS vorgegebene Standardstruktur: $/ TeamProjekt Visual Studio-Projektmappe (.sln) Visual Studio-Projekt (.csproj) Projektunterordner

41 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 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) Visual Studio-Projektmappe (.sln) Visual Studio-Projekt (.csproj) Projektunterordner Solutions (die nicht "gebrancht" werden)

43 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 Daten auf dem Server gespeichert Mehrere Personen gleichzeitig

44

45 Branches … 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 Umgang mit gemeinsam genutzten Komponenten Branches!

47 Gemeinsam genutzte Komponenten Komponenten-DLLs Projekt A Quellcode Komponenten-DLLs Projekt B Quellcode Komponenten-DLLs ref branch

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

49 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 Department of SourceGear Version Control & Work Item Tracking Supports other platforms like: Linux Mac OS X Eclipse IDE

51 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 TFVC vorgestellt SCM-Konzepte im TFS Zugriffsmöglichkeiten Weitere Themen

53 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 Destroy Label Security Permissions Command Line support Compare Annotate Power Tools

55 Atomic Checkin Work Item Integration Checkin Policies Shelving Delta File Storage Delta Binary File Storage Large File Support (>4GB) Distributed Team Support YesNo

56 Checkin Notification Non-Windows Support Diff Tool Extensibility Shared Checkout VS 2003 Integration Keyword Expansion Pinning & Sharing Shadow Folders YesNo

57 SOAP Messages File Transfers

58 SOAP Messages File Uploads Downloads

59

60

61

62 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 Der TFS hat keine VSS-Altlasten Performanz, verteiltes Arbeiten, neue Ideen Einiges ist anders, aber nichts unlösbar Man kann dem System vertrauen

64 Ä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 Ziehen Sie um 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 an: Download der Folien und Beispiele: Download der Folien und Beispiele:

67

68 Presentations TechDays: MSDN Events: MSDN Webcasts: MSDN Events MSDN Events: Save the date: TechEd 2009 Europe, 9-13 November 2009, Berlinhttp://www.microsoft.com/switzerland/msdn/de/events/default.mspx MSDN Flash (our by weekly newsletter) Subscribe: MSDN Team Blog RSS: Developer User Groups & Communities Mobile Devices: Microsoft Solutions User Group Switzerland: Managed User Group of Switzerland: FoxPro User Group Switzerland:

69 Presentations TechDays: TechNet Events TechNet Events: Save the date: TechEd 2009 Europe, 9-13 November 2009, Berlinhttp://technet.microsoft.com/de-ch/bb aspx 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):

70 7. – 8. April 2010 Congress Center Basel

71 Classic Sponsoring Partners Media Partner Premium Sponsoring Partners

72


Herunterladen ppt "Neno Loje AIT TeamSystemPro Team Download der Folien und Beispiele: Download der Folien und Beispiele:"

Ähnliche Präsentationen


Google-Anzeigen