1 / 41

MS Team Foundation Server

MS Team Foundation Server. Automation Builds Ivan Peršić, Novatec. Ivan Peršić, inf. i.persic@novatec.hr ivanpersic2@gmail.com Novatec, Kofax Algebra, Mencl. O meni. Uvod Što nam TFS omogućuje? TFS Infastruktura Automatski Buildovi TFS Automatski Buildovi Prilagodba Builda

mariko
Download Presentation

MS 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. MS Team Foundation Server Automation Builds Ivan Peršić, Novatec

  2. Ivan Peršić, inf. • i.persic@novatec.hr • ivanpersic2@gmail.com • Novatec, Kofax • Algebra, Mencl O meni

  3. Uvod • Što nam TFS omogućuje? • TFS Infastruktura • Automatski Buildovi • TFS Automatski Buildovi • Prilagodba Builda • Kreiranje Build konfiguracije(screenshots) • Zaključak Sadržaj

  4. Održanje kvalitete razvoja je vrlo bitan čimbenik u uspješnosti našeg softvera a često mu se i ne stigne kvalitetno pristupiti(kratki projekti, rokovi)... • Uz Kotrolu Revizije(Version Control - Revision Control), Automatski Buildovi (Build Automation) jedni su od najvažnijih temelja za održanje kvalitete razvoja softvera. • U ovoj prezentaciji proučit ćemo riješenje koje nam nudi Microsoft. Uvod

  5. Check In - > Commit (TFS->SVN) • Get Latest -> Update (TFS->SVN) • Queue new Build -> Kick build (CCNet) Termini

  6. TFS uz pomoć nekoliko integriranih alata omogućava cijelom timu jednostavno korišenje slijedećih usluga: • Version control, • Build automation, • Project management(praćenje "work itema",taskovi, bugovi, izvještaji • Test case management TEAM FOUNDATION SERVER

  7. Ukoliko instaliramo TFS u testne svrhe dovoljno je na praznoj VM pokrenuti instalaciju i prihvatiti zadane postavke(instalirati sve komponente na jednu mašinu) • U praksi instalacija i podešavanje TFS izvodi se na složenoj infrastrukturi i to na minimalno dva servera od kojih je jedan fizički(TFS Server – source kontrola, taskManagment...) i jedan virtualni(BuildServer) Build Machine TFS infrastruktura

  8. TFS Infrastruktura

  9. TFS je namjenjen za rad u domenskom okruženju. napomena...

  10. Uz korištenje source kontrole, Automatski Build je slijedeća važna stvar koju bi trebali koristit kako bi dopridonijeli kvaliteti razvoja produkta • U nekim produktima upotrebljava se od 70’ godina, (bat skripte) Automatski Build?

  11. Prebacivanje našeg programerskog(lokalnog) build procesa u zajednički - centralni proces koji će iz naše aplikacije učiniti uporabljiv produkt, preko jednostavne akcije(jedan klik ili triger). • Build proces obuhvaće: Kompajliranje koda u binaran, • a može i: pakiranje binarnog koda u msi, xap.., pokretanje testova, kreiranje dokumentacije, deploy... Automatski Build?

  12. Poboljšava integraciju koda, • ostalim „ne programerima” vidjeti produkt u razvojnoj fazi • omogućuje lakšu indentifikaciju defekata po radnim verzijama produkta, u svakom koraku razvoja. Automatski Build?

  13. TFS nam omogućava više različitih vrsta buildova no mi ćemo se posvetiti dvoje najvažnijim: • Continuous Integration Build, • Full Build/Night Build Vrste Buildova

  14. Integration Build služi najviše nama developerima a brine se da naš kod bude integralan • Izaziva „viku” od članova tima na krivca koji skrši build • Radi na principu automatskog pokretanja prilikom svakog „Check In-a”. Continuous IntegrationBuild

  15. Primjer: Napravio sam izmjenu na kodu i Check In. • Time se je startao Build • Ukoliko Build prođe znači da je moj kod integralan, no ukoliko ne prođe dužan sam ga s čim prije natjerati da radi.(rezultate je moguće pratiti kroz VS, Build viewer, TeamExplorer, e-mail) • Najčešći slučaj, dodao sam referencu na projekt i jednu klasu koja koristi referencu Continuous Integration Build

  16. Napravio sam check-in klase, a zaboravio na chekc-in, project file-a. Takav solution se neće buildati • Ukoliko me na to nebi upozorio Integration Build, drugi članovi tima bi mogli „Getat” trenutni kod i time dobiti projekt kojeg je nemoguće buildati... Continious Integration Build

  17. Integration build je build s minimalnom konfiguracijom, • U biti obuhvaća samo kompajliranje kode, kako bi trajao što kraće i čim prije upozorio na probleme • TFS osim Integration builda, sadrži i Gatten Check In build, koji pokušava buildati prije nego dopusti Check In i time izbjegava pucanje. • Ukoliko Build uspije znači da je naš kod integralan, no ukoliko ne prođe dužni smo ga s čim prije fiksati i natjerati da radi Continuous Integration Build

  18. Full/Night Build, riječ Full dolazi radi opsega buildanja: Kompajliranje koda u binaran, pakiranje binarnog koda u msi, xap.., pokretanje testova, kreiranje dokumentacije, deploy, a Night zato jer se on pokreće u zakazano vrijeme najčešće noću dok nitko ne radi • Ovaj build omogućava da u tekućem danu, omogući verziji koda iz predhodnog dana da bude uporabljiv produkt • Po potrebi može se i ručno pokrenuti tokom dana(Queue new build) Full Build – Night Build

  19. Full build je više koristan ne-programerima(Managerima i Testerima). • Automatski Deploy(web app.) ili automatska izrada instalacije(Win app.) omogućavaju korištenje korisnicima koji su izvan razvojnih okruženja tj. Nemaju razvojna računala • Na osnovu Noćne verzije evidentiraju se Bugovi i Defekti. Full Build – Night Build

  20. Predhodno kad smo govorili o infrastrukturi i instalaciji napomenuli smo da se instalacija TFS-a dijeli na minimalno dvije, i to TFS Server i TFS Build Service. • Build mašina je server na kojem je instaliran MS TFS Build Service Build Mašina

  21. Build mašina mora imati instalirano slijedeće: • Odgovarajuć Os(MS Windows Server • Odgovarajuće razvojno okruženje, sve kao i razvojne mašine(svi framework-si, i ostalo) • TFS build service, i Tfs Build agent • Zbog instalacija raznih dodatka i portabilnosti preporučeno je koristiti VM Build Mašina

  22. Instalacija

  23. Instalacija TFS Build Servisa

  24. Podešavanje servisa

  25. Kreiranje build konfiguracije na TFS-u, svedeno je na svega par koraka, • Za razliku od sličnih riješenja kamo to radimo pisanjem skripti (CC net) TFS Build konfiguracija

  26. Koraci kreiranja TFS Build konfiguracije

  27. Koraci kreiranja TFS Build konfiguracije

  28. Koraci kreiranja TFS Build konfiguracije

  29. Koraci kreiranja TFS Build konfiguracije

  30. Koraci kreiranja TFS Build konfiguracije

  31. Sa instalacijom TFS Servera, dobijemo i default build template, • Template je u MS Workflow formatu • Novi template možemo izraditi sami ili modificirati postojeći • Npr. Pokretanje testova na X. mašini Build Template

  32. Primjer Workflowa

  33. Web acces: Buildovi

  34. Web acces: Buildovi detalji

  35. Quee Build

  36. Statusi builda

  37. PROFESSIONAL Team Foundation Server 2010 Ed Blankenship Martin Woodward Grant Holliday Brian Keller Materijali

  38. MS TFS 2010 definitivno valja razmotiriti jer znatno olakšava i poboljšava uspješano funkciniranje tima • Pitanja? • Pizza i pivo Zaključak

More Related