1 / 90

ALM Live Flytta din källkod till Team Foundation Server

ALM Live Flytta din källkod till Team Foundation Server. Mathias Olausson Callista Knowledgebase mo@callista.se http://olausson.net/blog. Utlottning av böcker. För er som lämnar in utvärderingen. Om. Mathias Olausson Arkitekt, instruktör Fokus på VSTS sedan ’05

yessica
Download Presentation

ALM Live Flytta din källkod till Team Foundation Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALM LiveFlytta din källkod till Team Foundation Server Mathias Olausson Callista Knowledgebase mo@callista.se http://olausson.net/blog

  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 • mo@callista.se, http://olausson.net/blog • Callista Knowledgebase • Microsoft Gold Partner • Custom Development Solutions • Database Management Solutions • Advanced Infrastructure • Medlem i VSTS Inner Circle • http://knowledgebase.callista.se

  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. 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

  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. VSTS Application Tier Version Control Service Mål med TFS Visual Studio • Skalbarhet • Treskiktadarkitektur • SQL Server 2005 • Stödförstora team • LagringbegränsasbaraavSQL Server ochhårdvara • Tillförlitlighet • Atomäraincheckningar • Säkerhet • Distribueradutveckling • HTTP Transport • Proxy Server SOAP / HTTP(S) MSSQL/TCP SQL Server 2005

  16. Funktioner • Grundläggande funktioner • Workspace • Changeset • Shelving • Labels

  17. Changeset • Samlingsbegrepp för • 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 • 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 • 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 • http://www.codeplex.com/BranchingGuidance

  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 • Email 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 /eventTypeWorkItemChangedEvent /deliveryTypeEmailHtml /server http://localhost:8080 /address mathias@win2003 /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 • 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 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 Visual Studio 2005 Team Explorer Visual Studio 2008 Team Explorer 5 8

  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. Alternativ till TFS Skalbart Administration Integration Enkelhet Atomära incheckningar Prestanda Analys Distribution 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 • 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 • http://www.componentsoftware.com/Products/Converter • MigrationSyncToolkit • http://www.codeplex.com/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) • 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

  50. Migreringsprocess • Förkrav • Förbered migrering • Analys • Konvertering

More Related