Presentation laddar. Vänta.

Presentation laddar. Vänta.

ALM Live Flytta din källkod till Team Foundation Server Mathias Olausson Callista Knowledgebase

Liknande presentationer


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

1 ALM Live Flytta din källkod till Team Foundation Server Mathias Olausson Callista Knowledgebase

2 Utlottning av böcker För er som lämnar in utvärderingen

3 Om... Mathias Olausson 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... 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 Del av Microsofts ALM erbjudande Forrester Research – Unified SCCM Solutions, Q Väl positionerat för framtiden Tung produktstrategi Fokus på plattformen Partners gör add-ons Team System är för SCCM

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 Förenklad TFS installation Enkel uppgradering från 2005 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 FunktionerParallellutvecklingAnpassningKlienter Nyheter i TFS 2008 Power Tools Alternativa lösningar

15 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 MSSQL/TCP SOAP / HTTP(S) Version Control Service VSTS Application Tier SQL Server 2005

16 Funktioner Grundläggande funktioner WorkspaceChangesetShelvingLabels

17 Changeset Samlingsbegrepp för Filer och branchinformation Länkar till work items Checkin notes KommentarPolicy Ö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 Kan automatiskt återställa kod till nolläge Skapar ett shelveset Kan delas mellan projektmedlemmar LättviktsbranchingExempel 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 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örvaltningNyutvecklingR&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 NotifieringarProcessanpassning

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 ÄrendehanteringRapporterDokumentationBehörighet... Använd Process Template Editor

30 Klienter TFS är ett stort tält – alla får plats Team Explorer KommandoradMSSCCI Team System Web Access Teamprise

31 Nyheter i TFS 2008 Annotate Folder diff Destroy Get Latest vid utcheckning PrestandaförbättringarSkalbarhetsförbättringar Offline förbättringar

32 Nyheter i TFS 2008 Inbyggt stöd för 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 TFS 2005 TFS 2008 VSTS 2005VSTS 2008

34 Team Build 2008 / 2005 FeatureTFS2005TFS2008 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 Visual Studio 2005 Team ExplorerVisual Studio 2008 Team Explorer FeatureTFS2005TFS2008 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

35 Team Foundation PowerTools Tillägg till TFS InnehållerKommandoradsverktyg Visual Studio utökningar Build Notification Process Template Editor Team Foundation Server Best Practice Analyzer Work Item Templates Custom Checkin Policies

36 Kommandoradsverktyg AnnotateDestroyWIDestroyWITDGetCSHistoryOnlineQueryReviewRollbackTreecleanTreediffUnshelveUuWorkitemWorkspace

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 Alternativ till TFS Visual Source Safe Subversion ClearCase Perforce PVCS SVN Enkelhet Integration Prestanda Distribution Atomära incheckningar Analys Administration Skalbart Omogna verktyg Åldrande lösning

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 NystartMigreringSamexistens Till TFS från... VSSSubversionCVSClearCase

43 Nystart 1.Analysera befintlig kod 2.Exportera och frikoppla från repository 3.Rensa orginalkod Ta bort filer relaterade till befintlig källkodshanterare Ta bort filer relaterade till befintlig källkodshanterare Add to source control före drag-and-drop Add to source control före drag-and-drop 4.Strukturera om till lämplig målstruktur 5.Importera main branch till TFS 6.Skapa branchstruktur 7.Synkronisera branches mot exporterad kod 8.Bygg och testa

44 Demo Importera källkod till TFS

45 Migrering 1.Analysera befintlig kod 2.Migrera main branch till TFS 3.Skapa branchstruktur i TFS 4.Checka ut nya branches 5.Migrera branches till TFS 6.Checka in ändringar 7.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 Converter MigrationSyncToolkithttp://www.codeplex.com/MigrationSyncToolkit

47 Visual Source Safe TFS funktioner VSS saknar WorkspacesChangesetsShelvesets Content Merge, Namespace Merge (branch) AuditingLocking 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) 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 AnalysMigrering

49 Hantering av VSS händelser VSS händelseTFS AddSkapas i TFS EditNy version i TFS Label fileLabel appliceras på motsvarande version som den i VSS. Label folderLabel appliceras på motsvarande version av folder och senaste version av filer i den. Rename, delete, undelete Ny version i TFS Move folderNy version i TFS. Kan orsaka problem men rapporteras av analys. ShareMotsvarighet saknas. Version skapas i destinationsfolder med samma innehåll. BranchHar föregåtts av en share i VSS. Version skapas i TFS för branchade versioner. Archive/RestoreIgnoreras Pin/unpinMotsvarighet saknas. Labels skapas, PINNED_LATEST och PINNED.

50 Migreringsprocess Förkrav Förbered migrering AnalysKonvertering

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 ProjectMapProject Source: VSS folder att analysera Settings Output: resultatfil från analys

54 Analys settings.xml exempel

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

57 Settings.xml VSSDatabase: pekar ut VSS databas UserMap: fil med användarmappning ProjectMapProject 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

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 Converter/download.htm

63 Subversion SVN-2-TFS Migrerar komplett historik Hanterar branches Gränssnitt för mappning av användare

64 CVS Migrera via SVN 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 20ed-3d11-411a-bb54-71dddb724e15&displaylang=en&tm

66 Agenda Introduktion Källkodshantering med TFS Scenarios för migrering Byggautomatisering

67 Byggautomatisering ByggautomatiseringMSBuild 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 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 NAntFinalBuilder Visual Build

73 NAnt Styrkor 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 Visuell editering LättanväntSvagheter Propritär lösning

76 FinalBuilder

77 VisualBuild Styrkor 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 BuildPrepare BuildGet 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 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 e/default.mspx

89 Frågor? Svar!Diskussion...

90 Referenser ALM Live Team System Web Access Team Foundation Power Tool MigrationSyncToolkithttp://www.codeplex.com/MigrationSyncToolkitCS-Converter Converter


Ladda ner ppt "ALM Live Flytta din källkod till Team Foundation Server Mathias Olausson Callista Knowledgebase"

Liknande presentationer


Google-annonser