Presentation laddar. Vänta.

Presentation laddar. Vänta.

ALM Live Flytta din källkod till Team Foundation Server

Liknande presentationer


En presentation över ämnet: "ALM Live Flytta din källkod till Team Foundation Server"— Presentationens avskrift:

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


Ladda ner ppt "ALM Live Flytta din källkod till Team Foundation Server"

Liknande presentationer


Google-annonser