Ladda ner presentationen
1
ALM Live Flytta din källkod till Team Foundation Server
Mathias Olausson Callista Knowledgebase © 2006 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
För er som lämnar in utvärderingen
Utlottning av böcker För er som lämnar in utvärderingen
3
Om... Mathias Olausson Callista Knowledgebase Arkitekt, instruktör
Fokus på VSTS sedan ’05 Utbildning, implementation, anpassning Callista Knowledgebase Microsoft Gold Partner Custom Development Solutions Database Management Solutions Advanced Infrastructure Medlem i VSTS Inner Circle
4
Agenda Introduktion Källkodshantering med TFS Scenarios för migrering
Byggautomatisering
5
Agenda Introduktion Källkodshantering med TFS Scenarios för migrering
Byggautomatisering
6
Varför är du här? Ja, något verktyg måste man ju ha... TFS låter bra
SCM; Software Change Management SCCM; Software Configuration and Change Management TFS låter bra ...men är det något för mig? TFS är bra ...så hur blir jag av med VSS/SVN/CVS/...?
7
Användare av SCM Byter verktyg oftare Större flexibilitet
Flertal olika verktyg Mer arbete att integrera Ökad risk för fel Fokus på produktleverans Utvecklingsprocess inte så viktigt Vikigt med verktyg som passar utvecklare Ofta open-source eller lågprisprodukter
8
Användare av SCCM Integrerade verktyg Automatisering av arbetsflöden
Standardisering och förbättring av ändringprocess Ledning, inte individer, väljer verktyg Långsiktliga val
9
Krav på SCCM Hantering av ändringar under utveckling och förvaltning
Anpassningsbart per projekt Säkerställa utveckling av kvalitativa moduler Tillhanda tidsbaserad återställning Stötta distans- och distribuerad utveckling Tillhandahålla nyckeltal för projekt Analysfunktioner
10
Team System är för SCCM Del av Microsofts ALM erbjudande
Forrester Research – Unified SCCM Solutions, Q2 2007 Väl positionerat för framtiden Tung produktstrategi Fokus på plattformen Partners gör add-ons
11
Visual Studio Team System
Rollspecifik funktionalitet Integrerade verktyg Samarbetsplattform Anpassningsbar plattform
12
Nyheter i Team System 2008 Bättre designers för arkitekter
Enhetstester i professional edition Förbättrad profiler för utvecklare Snabbare enhetstester Testning av ASP.NET AJAX Enkel uppgradering från 2005 Förenklad TFS installation Stöd för WSS 3.0, MOSS 2007, Windows 2008 Server, SQL Server 2008, 64-bit
13
Agenda Introduktion Källkodshantering med TFS Scenarios för migrering
Byggautomatisering
14
Källkodshantering med TFS
Mål med TFS Funktioner Parallellutveckling Anpassning Klienter Nyheter i TFS 2008 Power Tools Alternativa lösningar
15
Copyright © 2006 Notion Solutions, Inc.. All rights reserved.
Mål med TFS Skalbarhet Treskiktad arkitektur SQL Server 2005 Stöd för stora team Lagring begränsas bara av SQL Server och hårdvara Tillförlitlighet Atomära incheckningar Säkerhet Distribuerad utveckling HTTP Transport Proxy Server Visual Studio SOAP / HTTP(S) Version Control Service VSTS Application Tier MSSQL/TCP SQL Server 2005 Copyright © 2006 Notion Solutions, Inc.. All rights reserved. This presentation is for informational purposes only. Notion Solutions makes no warranties, express or implied.
16
Funktioner Grundläggande funktioner Workspace Changeset Shelving
Labels
17
Changeset Samlingsbegrepp för Atomär enhet Unikt identifierad
Filer och branchinformation Länkar till work items Checkin notes Kommentar Policy Övrig metadata Atomär enhet Unikt identifierad Representerar en punkt i tiden i repositoryt
18
Shelving Mekanism för att sätta saker åt sidan Skapar ett shelveset
Kan automatiskt återställa kod till nolläge Skapar ett shelveset Kan delas mellan projektmedlemmar Lättviktsbranching Exempel Lägga saker åt sidan (tillfälligt) Backup Dela arbete mellan projektmedlemmar Kodgranskning
19
Workspace Klientsidemappningen av repository
Håller kopior av filer som hämtas från TFS Ändringar i ett workspace skapar ”pending changes” Kopplas unikt till användare+maskin
20
Labels Markör kopplad till kod som referens
Identifierar filer i repositoryt Är inte versionshanterade Innehåller en singel version av varje fil
21
Demo Källkodshantering med TFS
22
Parallellutveckling Multipla versioner Multipla utcheckningar Branch
Skapa en kopia av koden för varje version som underhålls Varje gren kan ha olika behörigheter Merge Sammanfoga ändringar i olika grenar Multipla utcheckningar Fil kan checkas ut av flera utvecklare Ändringar kan sammafogas lokat innan incheckning
23
TFS Branching TFS använder en grenbaserad branch modell
Men filer kopieras först när de ändras Tänk igenom behov för att skapa rätt typ av branchstruktur Förvaltning Nyutveckling R&D Se även TFS Branching Guidance
24
Branch för förvaltning
Dev branch skapas för utveckling Main branch används för stabilisering Release branch skapas för release underhålls efter release
25
Branch för feature Branch skapas för feature
Feature integreras till main när komplett
26
Anpassning Custom checkin policies Notifieringar Processanpassning
27
Check-in policies Kontrollerar hur ändringar hanteras
Konfigurerbart på projektnivå Utvärderas lokalt = måste installeras på klient Enkelt att skriva egna för specifika behov OBS: Knutna till specifik TFS version
28
Notifieringar TFS genererar events Lätt (?) att registrera notifiering
eller Web Service Exempel Skicka mail när status på work item ändras Starta automatiskt bygge vid incheckning Skicka SMS när kritisk bugg rapporteras BisSubscribe.exe /eventType WorkItemChangedEvent /deliveryType Html /server /address /filter """"PortfolioProject""" = 'Effective VSTS' AND ("""ChangedFields/StringFields/Field[ReferenceName='System.State']/OldValue""" <> """ChangedFields/StringFields/Field[ReferenceName='System.State']/NewValue""")"
29
Processanpassning Hela TFS projektet kan anpassas
Ärendehantering Rapporter Dokumentation Behörighet ... Använd Process Template Editor
30
Klienter TFS är ett stort tält – alla får plats Team Explorer
Kommandorad MSSCCI Team System Web Access Teamprise
31
Nyheter i TFS 2008 Annotate Folder diff Destroy
Get Latest vid utcheckning Prestandaförbättringar Skalbarhetsförbättringar Offline förbättringar
32
Nyheter i TFS 2008 Inbyggt stöd för Bättre UI för att skapa byggen
Continuous Integration Schemalagda byggen Bättre UI för att skapa byggen Stoppa och ta bort byggen från UI Multitrådad byggnation Förenklad integration med enhetstester Bättre objektmodell i .NET
33
Kompatibilitet 2005 / 2008 VSTS 2005 TFS 2005 VSTS 2008 TFS 2008
34
Team Build 2008 / 2005 Feature TFS2005 TFS2008 Create Build
Start / Queue Build View Build Definitions View Completed Builds View Queued Builds View Build Reports View Build Log Edit Build Quality Open Drop Folder Stop/Cancel Build Pass command line arg Feature TFS2005 TFS2008 Delete Build Definition Edit Retention Policy Edit Build Triggers Assign Build Agent (UI) Delete Build in UI Build .NET 2.0 project Build .NET 3.5 project Postpone Build Manage Build Qualities Manage Build Agents Edit workspace map 5 5 8 8 8 5 8 5 8 8 5 8 5 8 8 5 8 5 8 5 8 8 8 8 5 8 5 8 5 8 5 8 5 8 5 8 5 8 5 8 5 8 8 5 8 5 8 5 5 8 8 8 8 5 8 8 5 Visual Studio 2005 Team Explorer 8 Visual Studio 2008 Team Explorer
35
Team Foundation PowerTools
Tillägg till TFS Innehåller Kommandoradsverktyg Visual Studio utökningar Build Notification Process Template Editor Team Foundation Server Best Practice Analyzer Work Item Templates Custom Checkin Policies
36
Kommandoradsverktyg Annotate DestroyWI DestroyWITD GetCS History
Online Query Review Rollback Treeclean Treediff Unshelve Uu Workitem Workspace
37
Visual Studio utökningar
Find in source control Open folder in Explorer Quick label
38
Custom Checkin Policies
Custom Path Koppla annan policy till gren i källkoden Forbidden Patterns Changeset Comments Work Item Query OBS: Knutna till specifik TFS version
39
Atomära incheckningar
Alternativ till TFS Skalbart Administration Visual Source Safe Subversion ClearCase Perforce PVCS SVN Integration Enkelhet Atomära incheckningar Prestanda Analys Distribution Åldrande lösning Omogna verktyg
40
Agenda Introduktion Källkodshantering med TFS Scenarios för migrering
Byggautomatisering
41
Planering inför migrering
Hur ser det ut idag? Vad fungerar bra? Vad kan förbättras? Hur hanteras källkod? Ny kodstruktur? Behov av uppstädning? Framtida behov?
42
Scenarios för migrering
Nystart Migrering Samexistens Till TFS från... VSS Subversion CVS ClearCase
43
Nystart Analysera befintlig kod
Exportera och frikoppla från repository Rensa orginalkod Ta bort filer relaterade till befintlig källkodshanterare Add to source control före drag-and-drop Strukturera om till lämplig målstruktur Importera main branch till TFS Skapa branchstruktur Synkronisera branches mot exporterad kod Bygg och testa
44
Demo Importera källkod till TFS
45
Migrering Analysera befintlig kod Migrera main branch till TFS
Skapa branchstruktur i TFS Checka ut nya branches Migrera branches till TFS Checka in ändringar Bygg och testa
46
Samexistens Källkod synkroniseras mellan repositories
Definiera regler för synkronisering Manuell, schemalagd, händelsestyrd Utmaning att hantera konfikter CS-Converter MigrationSyncToolkit
47
Visual Source Safe TFS funktioner VSS saknar
Workspaces Changesets Shelvesets Content Merge, Namespace Merge (branch) Auditing Locking Atomic checkins VSS funktioner som TFS saknar Share (but has much better support for parallel development) Pin Archive and Restore Shadow folders
48
VSSConverter Konverterar automatiskt (med historik) Tar inte hand om
Add, delete, undelete, rename, edit, label, move Tar inte hand om Share, branch, pin, källkodsbindning Tidsstämplar lagras i kommentar Relaterade händelser i samma changeset Körs i två steg Analys Migrering
49
Hantering av VSS händelser
TFS Add Skapas i TFS Edit Ny version i TFS Label file Label appliceras på motsvarande version som den i VSS. Label folder Label appliceras på motsvarande version av folder och senaste version av filer i den. Rename, delete, undelete Move folder Ny version i TFS. Kan orsaka problem men rapporteras av analys. Share Motsvarighet saknas. Version skapas i destinationsfolder med samma innehåll. Branch Har föregåtts av en share i VSS. Version skapas i TFS för branchade versioner. Archive/Restore Ignoreras Pin/unpin Motsvarighet saknas. Labels skapas, PINNED_LATEST och PINNED.
50
Migreringsprocess Förkrav Förbered migrering Analys Konvertering
51
Förkrav Medlem av Team Foundation Administrators
Installera SQL Express på dator som kör konvertering OBS: SQL Express hanterar max 4GB. SQL Server kan användas men kräver uppstättning i migreringsfil. Måste vara system administratör för SQL Express Visual Source Safe 2005 på dator som kör konvertering Minst 5GB diskplats på SQL Server datorn
52
Förbered migrering Identifiera målstruktur i TFS
Skapa Team Projekt i TFS Identifiera användare i TFS Skapa settings fil för mappning av strukturer Skapa users fil för mappning av användare Skapas tom efter analys
53
Settings.xml VSSDatabase: pekar ut VSS databas ProjectMap Settings
Source: VSS folder att analysera Settings Output: resultatfil från analys
54
Analys settings.xml exempel
<?xml version="1.0" encoding="utf-8"?> <SourceControlConverter> <ConverterSpecificSetting> <Source name="VSS"> <VSSDatabase name="\\server\VSS"></VSSDatabase> </Source> <ProjectMap> <Project Source="$/FolderA"></Project> <Project Source="$/FolderB"></Project> </ProjectMap> </ConverterSpecificSetting> <Settings> <Output file="Analysis.xml"></Output> </Settings> </SourceControlConverter>
55
Analys Kör VSSConverter Analyze settings.xml
Resultatfil i xml, innehåller stylesheets så öppnas i browser för bästa resultat Rapportern innehåller summering, lista på kritiska fel, fel och varningar
56
Usermap.xml Skapas under analysen och innehåller alla konton som påträffats Ej mappade konton sätts till samma namn i TFS Tips: koppla guest i VSS till Windows gästkonto för att inte tappa historik <?xml version="1.0" encoding="utf-8"?> <UserMappings> <UserMap From="Admin" To="domain\tfsservice"></UserMap> <UserMap From="guest" To="domain\guest"></UserMap> <UserMap From="Mathias" To=“mathias"></UserMap> </UserMappings>
57
Settings.xml VSSDatabase: pekar ut VSS databas
UserMap: fil med användarmappning ProjectMap Project Source: VSS folder att migrera Destination: TFS projekt och folder Settings TeamFoundationServer: TFS att migrera till Output: resultatfil från migrering
58
Migrering settings.xml exempel
<?xml version="1.0" encoding="utf-8"?> <SourceControlConverter> <ConverterSpecificSetting> <Source name="VSS"> <VSSDatabase name="\\server\VSS"></VSSDatabase> <!-- option för att ange användarmappning --> <UserMap name="usermap.xml"></UserMap> <!-- option för att ange annan SQL Server --> <SQL Server="SQL_Server_name"></SQL> </Source> <ProjectMap> <Project Source="$/FolderA" Destination="$/TeamProjectA"></Project> <Project Source="$/FolderB" Destination ="$/TeamProjectB/FolderB"></Project> </ProjectMap> </ConverterSpecificSetting> <Settings> <TeamFoundationServer name="My_TFS_Server" port="8080" protocol="http"></TeamFoundationServer> <Output file="Migration.xml"></Output> </Settings> </SourceControlConverter>
59
Migrering Kör VSSConverter Migrate settings.xml
Motsvarande rapport som för analys produceras
60
VSSConverterGUI UI för hantering av xml filer
Måste köras från samma folder som VSSConverter.exe Ännu ej uppdaterad för TFS 2008 Ladda ner från CodePlex
61
Demo Migrera VSS till TFS
62
Subversion CS-Converter från Component Software Komplett migrering
Även branches Verifierar migrerade filer Återskapar changesets Mappning av användare Stödjer även synkronisering
63
Subversion SVN-2-TFS Migrerar komplett historik Hanterar branches
Gränssnitt för mappning av användare
64
CVS Migrera via SVN CS-Converter från Component Software
Relativt enkelt att migrera CVS till SVN CS-Converter från Component Software Direkt import till TFS
65
ClearCase Olikheter i synsätt/arbetssätt en utmaning
Hitta lämplig branchstruktur i TFS CC skapar brancher dynamiskt Försök följa TFS branching best-practices Migreringsverktyg från Microsoft Migrerar VOBs Återskapar branchstruktur Använder en config spec för mappning För CC 5.0 och 6.0, stödjer inte CC LT
66
Agenda Introduktion Källkodshantering med TFS Scenarios för migrering
Byggautomatisering
67
Byggautomatisering Byggautomatisering MSBuild Alternativ till MSBuild
Team Build Alternativ till Team Build
68
Byggautomatisering är inte…
F5
69
Byggautomatisering är...
Integration av utvecklingsarbetet Automatisera kompilering Köra tester Automatisk deployment Rapportering av resultat Genomförs kontinuerligt Vid varje inchecking Vid givna intervall
70
Byggautomatisering... Sparar tid Reducerar fel Ersätter dokumentation
Byggautomatisering gör det enkelt att ta pulsen på projektet
71
MSBuild Utbyggbart byggsystem som är en del av .NET Framework 2.0
Integrerat med Visual Studio 2005+ Använder XML för att beskriva ett projekts egenskaper, delar och byggprocess För detaljer: C:\WINDOWS\Microsoft.NET\Framework\v \*.targets C:\WINDOWS\Microsoft.NET\Framework\v \Microsoft.Common.Tasks
72
Alternativ till MSBuild
NAnt FinalBuilder Visual Build
73
NAnt Styrkor Svagheter Bättre än make/nmake Kräver inte Visual Studio
Många .NET tasks Svagheter Manuell hantering av XML Omogna verktyg Svårunderhållet
74
nAnt
75
FinalBuilder Styrkor Svagheter Visuell editering Lättanvänt
Propritär lösning
76
FinalBuilder
77
VisualBuild Styrkor Svagheter Visuell editering
Stöd för många aktiviter Bra integration Svagheter Propritär lösning Svårunderhållna script Procedurellt
78
VisualBuild
79
Team Build Automatiserad bygglösning Stödjer end-to-end byggnation
Välintegrerad med TFS och Visual Studio Uppdaterar projekt nyckeltal Producerar rapporter Fullt utökningsbar
80
Byggautomatisering med TFS
Trigger Build Prepare Build Get Sources Compile & Analyze Execute Tests Update Work Items Calculate Code Coverage Calculate Code Churn Publish Build
81
Demo Byggautomatisering med TFS BuildNotification
82
Alternativ till Team Build
FinalBuilder Nant, CruiseControl.NET, CC.NET
83
FinalBuilder
84
CruiseControl.NET Open-source baserad automatiserings- server
Initialt porterad av Thoughworks Integrerar med många källkodshanterare, Nant, MSBuild, FxCop, NUnit, NCover
85
CruiseControl.NET
86
Migrering av byggprocess
Nant MSBuild CruiseControl.NET TeamBuild CCTray BuildNotification CruiseControl.NET och TFS Samexistens genom TFSCCNetPlugin Resten får konverteras
87
Summering Utnyttja möjligheterna i Team System Automatisera
TFS är en komplett CM miljö Versionshantering en viktig del men inte allt Automatisera Bättre integration = mindre smärta Planera för migrering Vilket scenario passar bäst?
88
ALM Live Pågående initiativ kring förbättring av Application Lifecycle Management SCRUM och Team System 21/2 Stockholm 27/2 Malmö 28/2 Göteborg Senaste event finns på Svenska MSDN
89
Frågor? Svar! Diskussion...
90
Referenser ALM Live Team System Web Access Team Foundation Power Tool
Team System Web Access Team Foundation Power Tool MigrationSyncToolkit CS-Converter
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.