Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Visual Studio Team System: Práce v týmech s pomocí Team Foundation Serveru Michael Juřek Software Architect Microsoft s.r.o.

Podobné prezentace


Prezentace na téma: "Visual Studio Team System: Práce v týmech s pomocí Team Foundation Serveru Michael Juřek Software Architect Microsoft s.r.o."— Transkript prezentace:

1

2 Visual Studio Team System: Práce v týmech s pomocí Team Foundation Serveru Michael Juřek Software Architect Microsoft s.r.o.

3 Visual Studio Team System 2008 Change Management Work Item Tracking Reporting Project Portal Visual Studio Team Foundation Server Integration Services Project Management Process and Architecture Guidance Dynamic Code Analyzer Visual Studio Team System Architecture Edition Static Code Analyzer Code Profiler Application Designer System Designer Logical Datacenter Designer Visual Studio Team System Development Edition Visual Studio Industry Partners Team Build Deployment Designer Unit Testing (C#, VB.NET) Code Coverage Team Explorer (includes Team Foundation Server CAL) Visual Studio Professional Edition Load Testing Web Testing Visual Studio Team System Test Edtiion Class Designer (in Visual Studio Standard Edition and higher) Visio for Enterprise Architects (in MSDN Premium Subscription) Visual Studio Team System Database Edition Offline Database Project Schema Compare DB Rename Refactoring Data Generator Data Compare Unit Testing (T-SQL) Code Metrics Manual Testing Test Case Management

4 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

5 Architektura zdálky App Tier StandbyServer DatabaseMirror Team Foundation Data Tier Team Foundation App Tier Build MachineVersion Control Proxy Report Client Team Foundation Client Tier

6 Architektura zblízka Custom reporting tools MS Excel Team Foundation Data Tier Team Foundation App Tier Version Control Proxy Report Client Team Foundation Client Tier CoreDataVersionControl Work Items Team Build Data SQLReportingServicesWindowsSharePointServicesSQLReportingServicesWindowsSharePointServices Work Item TrackingServiceVersionControlServiceTeamBuildServiceCoreServicesWarehouse Adapters Team Foundation App TierWSSProxies SQL RS Proxies Team Foundation Object Model MS Excel Plug-In MS Project Plug-In Visual Studio Packages Web Access BuildProcessVersionControlProxyService VSTFKlienti Jiné produkty Build Machine

7 Datový sklad Work Item Tracking SQL Server ReportingServices Source Code Control Work Item Adapter Source Code Adapter Partner Tool A Add-onAdapter Reporting Warehouse Object Model Excel CustomReporting BuildDatabase Test/BuildAdapter

8 Identifikace komponent infrastruktury TFS Autorizace pomocí rolí

9 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

10 Chyby Chyby Úkoly Rizika a problémy Změny Změny Požadavky zákazníka Co se všemi seznamy, které musím udržovat?

11 Seznamy - architektura Jednotlivé seznamy jsou uloženy v relační databázi SQL Server 2005 Přístupné klientům jako webová služba v aplikační vrstvě Autorizace pomocí skupin a oprávnění Možní klienti: Visual Studio Team edice Project 2003 add-in Excel 2003 add-in TFS Web Access Vlastní klient web služby (SOAP) Obsah je importován do datového skladu pro účely reportů a zobrazení na portále

12 Nástroje – manager projektu Reporty (např. na portále) Pouze k prohlížení Parametrizované dotazy TFS Web Access Kdykoliv k dispozici bez nutnosti instalace čehokoliv Project 2003 add-in Silné stránky Projectu – plánování, správa zdrojů, závislosti, kritické cesty projektu,... Obousměrná synchronizace s TFS Navigace do dokumentace a reportů Excel 2003 add-in Silné stránky Excelu - kalkulace, grafy, sumarizace, kontingenční tabulky, formátování, tisk,... Obousměrná synchronizace s TFS Navigace do dokumentace a reportů

13 Práce se seznamy integrována do prostředí Visual Studia Okna, menu, kontextové nabídky,... Vazba změn v kódu na položku ze seznamu (chyba, úloha,...) Možnost vynucení povinné vazby pomocí check-in politiky Integrace s testováním: Možnost přiřazení testu chybě nebo úloze Found In/Fixed In integrace pro chyby vázané na testy selhávající během automatických buildů Integrace do Visual Studia

14 Každý typ se skládá z: Polí Přidání vlastních, modifikace existujících apod. Formuláře Typ a umístění ovládacích prvků ve VS Přidání, přemístění, změna typu/vizuálu,... Workflow (stavy a možné přechody mezi nimi) Přidání vlastních stavů, pravidel pro přechody, definování skupiny oprávněné k provedení přechodu Události na straně serveru při změně Úpravy typů v šabloně

15 Řešení konfliktů při aktualizaci Na úrovni jednotlivých polí

16 Definice seznamu v šabloně procesu Integrace do prostředí Visual Studia Vytváření a spouštění vlastních dotazů Vytvoření nové chyby Práce v Project 2003 Vyřešení konfliktu

17 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

18 Visual SourceSafe Nejjednodušší a celosvětově nejvíce používaný nástroj pro správu vzorového kódu Vhodný pouze pro malé týmy: Nepoužívá databázi, ale souborový systém Vzdálená práce vyžadovala VPN – vyřešeno až HTTP tunelováním ve verzi 2005 Vlastní systém účtu bez integrace s doménou Stále jej lze použít s VS 2005 Professional V TFS je nahrazen novou správou změn

19 Moderní 3-vrstvá architektura Standardní rozhraní webových služeb HTTP/SOAP - snadný průchod přes firewall Optimalizováno pro pomalé linky SQL 2005 jako úložiště Transakčnost a robustnost Diferenciální komprese souborů (úspora diskového prostoru) Používá účty Windows Méně pracná správa Cachování v aplikační vrstvě a/nebo na počítači s funkcí Version Control Proxy Využívá neměnnosti konkrétní verze souboru Výrazné zvýšení propustnosti na pomalých linkách Správa změn - architektura

20 Způsob uložení verzí 9 11 12 15 17 17 “ Deltafier ” Souborová cache (App Server) SQL Server DownloadHandler UploadHandler Komprese + uložení změn ≈ 70% úspora místa! GET foo.bmp;12 9 11 15 12 Commit foo.bmp bar.vb

21 Správa změn - schopnosti Důležité inovativní vlastnosti Atomický check-in (changeset) Integrovaný check-in Paralelní vývoj Psaní do šuplíku (shelving) Migrace z: Visual Source Safe ClearCase Source Depot (v MS interně užívaný nástroj)

22 Changeset „Transakce“ ve stromu zdrojového kódu Proti úložišti je uplatněna nedělitelně „Všechno nebo nic“ Množinu souborů, které tvoří transakci, určuje vývojář: Výchozí stav = všechny lokálně změněné Pohodlná správa změn Obsahuje metadata (komentáře apod.) Může mít vazbu na položky ze seznamů (work items)

23 Integrovaný check-in Vizuální podpora pro přidání (případně vynucení) následujících ingrediencí ke každému changesetu Položky Work Items Komentář Check-in Notes (definovaná metadata) Kdo provedl revizi apod. Politiky: Provedení skupiny unit testů Provedení analýzy kódu Povinná asociace s Work Items položkou Zabránění uložení pokud je rozbitý CI build Možnost vytvoření vlastní politiky (rozšiřitelnost)

24 Check-in Kontrola politik 1 Policy Engine Unit Testing WI Association Static Analysis Custom Policy Provedení změn 2 V1V1 V5V5 V4V4 V5V5 V2V2 V3V3 Change Set 727012 Change Set 727011 Change Set 727012 WorkItem 33231 Aktualizace Work Items 3 Událost na straně serveru, kterou lze zachytit Vazba Notifikace e-mailem 4 Workspace Integrační infrastruktura Správa verzí Položky Work Items Integrovaný check-in

25 Paralelní vývoj Současný vývoj více verzí softwaru, např.: Úpravy stávající verze a zároveň vývoj nové verze Vývoj hotfixu na stávající verzi Branching Vytvoření logického klonu větve stromu kódu Nezměněné soubory existují v úložišti pouze jednou Merging Sloučení změn provedených od okamžiku oddělení větví Přidání, smazání, přejmenování, modifikace apod. Je možné provést kompletní sloučení anebo pouze sloučit změny z vybraného changesetu

26 Psaní do šuplíku (shelving) Pojmenované uložení změn na server Formálně nejde o check-in Volitelně je možné se vrátit k původním verzím Soubory lze ze „šuplíku“ vyjmout a případně sloučit s existujícími změnami Některé scénáře: Nutnost přerušení práce Uložení aktuálního stavu („checkpoint“) Přesun nedokončené práce na jiného člena týmu Revize kódu jiným členem týmu před provedením check-inu

27 Visual Studio 2005 Solution Explorer, Source Control Explorer, Pending Changes Team Foundation Server Vazba mezi změnou a položkou Work Item během check-in procesu (možné vynucení) Správa z příkazové řádky MSSCCI klient Visual Studio.NET 2002/2003, VB6, VC++6,... Unix, Linux, Eclipse,... – produkty třetích stran Správa změn - integrace

28 Integrovaný check-in Source Control Explorer Psaní do šuplíku (shelving) Zobrazení a sloučení změn

29 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

30 K čemu je denní build ”Denní build je srdce projektu. Pokud srdce netepe, projekt má velký problém.“ Měl by být plně automatický Neexistuje omluva, pokud chybí – čím složitější projekt, tím více ho potřebuje Stav projektu je daleko více transparentní: Omezení možnosti nepříjemných překvapení V každou chvíli je k dispozici produkt s nějakou funkčností Projekt je pomocí buildu průběžně měřen

31 Build – architektura Fronta úloh (buildů) s různou prioritou, jsou přidělovány build agentům (serverům) Paleta možností pro zařazení do fronty: Na vyžádání Podle časového plánu Reakce na check-in (okamžitě nebo „rolling“) – umožňuje tzv. kontinuální integraci (continuous integration, CI) Vše dostupné přes SOAP a.NET objekty Build agent používá WCF pro komunikaci s TFS: Mnohem flexibilnější konfigurace (např. bezpečnost) Build agent může být též spuštěn jako příkazová řádka v interaktivním desktopu: Umožňuje automatické testy uživatelského rozhraní

32 TF Client Team Build Client Team Build Store Build Server Source Control Build Configuration files - MSBuild Scripts MSBuild Scripts and targets Build sources and scripts Build Events Build events Build request and Reports Team Build Service Team Build logger Build and Test data Build start/stop Work item Tracking Open and Update bugs Build Drop site TFS Data Tier TF Warehouse Static Analysis & Testing TFS

33 Kontinuální integrace ClientClient Check-in Action App Tier Team Foundation Version Control Team Foundation Build Check-in Event Build Agent Team Foundation Build Service MSBuild Logger Data Tier Build Database CI (Orcas) Query workspace mappings Intersects check-in path? Exit No Yes Queue new build for each affected definition

34 Klíčové vlastnosti I. Používá MSBuild engine z.NET Frameworku 2.0 Build probíhá stejně ve Visual Studiu, v Team Foundation Serveru i příkazové řádce Více možných typů a konfigurací buildu Spuštění na vyžádání, periodicky, na základě změn v kódu Přerušený build pokračuje za posledním dokončeným krokem Speciální úlohy v krabici TFS (code churn výpočet aj.)

35 Klíčové vlastnosti II. Poskytuje klíčové metriky pro průběh projektu: Výsledky testů a jejich pokrytí kódu (code coverage) Statická analýza kódu Změny v kódu (code churn) Udržování vazeb na changesety a položky Work Items Uložení v SQL databázi umožňuje sledování historie a trendů Rozšiřitelnost Možnost vytváření vlastních úloh (build task) Možnost definice posloupnosti a parametrů úloh (.targets)

36 Typická posloupnost kroků Iniciace službou TFS Příprava počítače, generování ID buildu Synchr. zdrojových kódů Výpočet množství změn Generování reportu Opublikování Aktualizace work items položek Výpočet pokrytí kódu unit testy Kompilace, statická analýza Provedení unit testů

37 Build – interakce s uživatelem Správa buildů: Editor pro vytvoření/modifikaci vlastností buildu Definice buildu se nadále vytváří jednorázově Nastavení politiky pro automatické mazání starých buildů Správa fronty buildů: Stop, Postpone, Cancel, Set Priority, Delete Správa build agentů (serverů) Testy při buildu je možné spouštět na základě: Příslušnosti v seznamu Test Listů Příslušnosti v konkrétní knihovně (nové ve VS 2008) Politika pro check-in při použití CI: Není možné zanášet změny, pokud je build rozbitý

38 Základní operace s buildem: VytvořeníSpuštění Zobrazení výsledku Integrace s ostatními komponentami Unit Testing Work Items (bug) Integrovaný check-in

39 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

40 Výhody portálu Usnadňuje komunikaci v týmech Specifikace, diskuse, oznámení,... Verzované knihovny dokumentů Šablony důležitých artefaktů projektu Snadný přístup k reportům Integrovaná metodologie... (cokoliv si sami doplníte) Vhodné pro managery a jiné netechnické uživatele (nevyžaduje TFS CAL)

41 Projektový portál - technologie Microsoft® Windows® SharePoint® Services (WSS) Site pro každý projekt Možnosti a rozšiřitelnost WSS jsou plně zachovány, např.: Přidávání vlastních web partů Správa dokumentů (schvalování, verzování) Správa seznamů („jednotabulkové databáze“ - oznámení, odkazy, úkoly, kalendář, kontakty,...) Vlastní knihovny dokumentů, typy seznamů, šablony, InfoPath formuláře,...

42 Projektový portál: Přístup z prohlížeče Možnosti WSS Integrace s Visual Studiem Team edicemi

43 Agenda Architektura produktu Řízení projektu (work items) Správa změn (kódu) Automatizovaný build Projektový portál Reportování

44 Reporty Historické i aktuální sumární informace z podsystémů TFS jsou udržovány v datovém skladu Detailní informace lze získat z operačních databází jednotlivých podsystémů Předdefinované reporty jsou součástí šablony metodologie Možnost modifikace přímo v šabloně anebo pro konkrétní týmový projekt Používá SQL Server Reporting Services Možnosti – definice RDL ve Visual Studiu, export do různých formátů, Report Builder, předplatné reportů, web party pro reporty apod.

45 Datový sklad Work Item Tracking SQL Server ReportingServices Source Code Control Work Item Adapter Source Code Adapter Partner Tool A Add-onAdapter Reporting Warehouse Object Model Excel CustomReporting BuildDatabase Test/BuildAdapter

46 Integrované reporty * ******** * * * * ProjectStructureProjectStructureIterationStructureIterationStructure WorkItemWorkItem LabelLabelVersionedItemVersionedItem LatestItemVersionLatestItemVersionChangesetChangeset BuildBuildTestResultTestResult

47 Příklad reportu

48 Reportování Identifikace komponent Přístup k reportům Příklady reportů

49 Doporučená literatura =

50 Závěrem Team Foundation Server povyšuje práci v týmech na novou úroveň: Zvyšuje produktivitu práce v týmu Zvyšuje předvídatelnost vývoje projektu Pilíře produktu: ProduktivitaIntegraceRozšiřitelnostInovace Dlouhodobý přístup

51


Stáhnout ppt "Visual Studio Team System: Práce v týmech s pomocí Team Foundation Serveru Michael Juřek Software Architect Microsoft s.r.o."

Podobné prezentace


Reklamy Google