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

Slides:



Advertisements
Podobné prezentace
Martin Šimeček.  seznámit s APEXem – poskytnout základní manuál  vytvořit webovou aplikaci pro sběr informací o databázových systémech  naplnit databázi.
Advertisements

Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
ŘEŠENÍ PRO TÝMOVOU INFRASTRUKTURU
Nový přístup k aplikacím Vema
Mainstream Technologies, s.r.o.
PowerDesigner 16.5 Ondřej Diviš.
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
Kompozitní aplikace (Office Business Applications) Michael Juřek, Software Architect Tomáš Kutěj, TSP – Office Platform Microsoft s.r.o.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
Workflow Foundation Základy a architektura
Modelování procesů pomocí workflow
Operační systémy a aplikační servery Tomáš ZACHAT SPŠ Praha 10, STIC.
Integrační služby MS SQL Server a BIDS.
GORDIC ® + CA = vaše cesta ke zvýšení kvality a efektivity služeb DRMS FORUM Ing. Jakub Fiala vedoucí týmu CA Technologies programátor,
Představení Office365 Břetislav Regner PROJEKT financovaný
NET Genium software pro výstavbu a provoz informačního portálu Martin Vonka
Petr Šetka, MVP Exchange, MCSE:Messaging, MCT Windows Small Business Server 2003 R2.
Aukro.cz – projektový management v e-commerce Tereza Kabrdová.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
E-Learning Strategie společnosti Microsoft pro podporu vzdělávání
Vývoj aplikací pro SharePoint
Michael Juřek Software Architect Microsoft s.r.o.
Efektivně fungující tým :00 Novinky a přínosy Microsoft Office systém 2007 Pauza 10:00 Personalistika a žádanky Pauza 11:15 Helpdesková řešení na.
8. dubna 2013ISSS - Portál interních identit, Z. Motl1 Portál interních identit jako nadstavba identity managementu Mgr. Boleslav Bobčík, T-Systems Czech.
Relační databáze.
Tomáš Urych, ESO9 Intranet a.s.
JIRA školení.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Databázové systémy Přednáška č. 6 Proces návrhu databáze.
4. Lekce Dílčí procesy funkčního testování
Reporting Ing. Jan Přichystal, Ph.D.. Úvod Uživatelé obvykle přistupují k DW pomocí BI aplikace Většina využívá předdefinované reporty Poskytují standardizovaný.
Katedra elektrotechniky a automatizace Technická fakulta, ČZU Praha Roboty a manipulátory - - přednášky.
Transparentní modelování a provádění procesů Michael Juřek Software Architect Microsoft s.r.o.
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
Letsim 1 letecký simulátor Prezentace projektu - 36SI.
Jiří Burian DPE PM Nový typ aplikací a požadvků Visual Studio 2008 Silverlight Expression Web 2.0 Připravujeme lokalizaci komunitních.
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
Microsoft Office Project 2007 Představení aplikace.
Partner SBSC evening university , Čestlice.
Visual Studio Team System: Kvalita software a Test- Driven Development Michael Juřek Software Architect Microsoft s.r.o.
Novinky pro webovou platformu Jiří Burian, Tomáš Kutěj,
8 ZÓN 16 KLÁVESNIC 32 TYPŮ ZÓN 6 VÝSTUPŮ 10 UŽIVATELSKÝCH KÓDŮ 100 UDÁLOSTÍ V HISTORII DETEKTORY KLÁVESNICE G8.
2 Fučíková Sylvie HR/Win – moderní technologie pro osvědčené aplikace.
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Michael Juřek Software Architect Microsoft s.r.o.
SERVICESSERVER CLIENT Operating System Relational Database Application ServicesSystems Management Developer Tools Programming Model Applications.
Webové služby pro komunikaci s informačním systémem eQuip Martin Širajch.
OPERAČNÍ SYSTÉMY.
Nokia Czech Republic, s.r.o. Igor Šmerda, program manager.
Sales & Consulting IGS, Czech Republic © 2005 IBM Corporation Optimalizace a sdílení informací ve státní správě Pavel Hrdlička.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Aktuální bezpečnostní výzvy … a jak na ně ….. v praxi Dalibor Lukeš Platform and Security Manager Microsoft Czech and Slovak Michal Pechan Production Stream.
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II –IS na platformě.NET Michal Varga.
Projekt LISp-Miner Milan Šimůnek. Milan Šimůnek – Projekt LISp-Miner2 Obsah Význam databází a uchovávaných informací Proces dobývání znalostí z databází.
Zabezpečení a správa pracovních stanic, virtualizace Jan Písařík – chief of technical support.
Protálová řešení Příklady reálných nasazení Tomáš Kutěj System Engineer Microsoft.
Testování s TestComplete
Pavel Olšan & Ondřej Mrzena.  Co je server  Funkce  Verze Windows a instalace  Active Directory  Účty  DNS  DHCP  .
Ivana Topolová VŠE v Praze
MICROSOFT OFFICE 2007/2010. Důvod změny Inovace technologií Nové možnosti použití Kompatibilita Ukončení tech. podpory starších verzí Office 2003 –
1 E - S V Ě T S E T O Č Í S T Á L E R Y C H L E J I. S T A Č Í T E M U ? Fenix II - IS nové generace Michal Varga.
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
Struktura a Koncept portálu ČVUT, © 2013 IBA CZ, s. r. o. Agenda Teoretický průřez strukturou a konceptem Liferay portálu Company Sites Pages (stránky)
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Databáze MS ACCESS 2010.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Team Foundation Server 2015
GaP a správa úvazků.
Web Application Scanning
Transkript prezentace:

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

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

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

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

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

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

Identifikace komponent infrastruktury TFS Autorizace pomocí rolí

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

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?

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

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ů

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

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ě

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

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

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

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

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

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

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)

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)

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)

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 Change Set Change Set WorkItem Aktualizace Work Items 3 Událost na straně serveru, kterou lze zachytit Vazba Notifikace em 4 Workspace Integrační infrastruktura Správa verzí Položky Work Items Integrovaný check-in

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

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

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

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

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

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

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í

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

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

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

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)

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ů

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ý

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

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

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)

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

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

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

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.

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

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

Příklad reportu

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

Doporučená literatura =

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