ms team foundation server

Post on 14-Jan-2016

77 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Automation Builds

Ivan Peršić, Novatec

*MS Team Foundation Server

*O meni

*Ivan Peršić, inf.

*i.persic@novatec.hr

*ivanpersic2@gmail.com

*Novatec, Kofax

*Algebra, Mencl

*Sadržaj

*Uvod

*Što nam TFS omogućuje?

*TFS Infastruktura

*Automatski Buildovi

*TFS Automatski Buildovi

*Prilagodba Builda

*Kreiranje Build konfiguracije(screenshots)

*Zaključak

*Uvod

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

*Termini

*Check In - > Commit (TFS->SVN)

*Get Latest -> Update (TFS->SVN)

*Queue new Build -> Kick build (CCNet)

*TEAM FOUNDATION

SERVER

*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

*TFS infrastruktura

*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

*napomena...

*TFS je namjenjen za rad u domenskom okruženju.

*Automatski Build?

*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?

*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?

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

*Vrste Buildova

*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

*Continuous Integration Build

*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 Integration Build

*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

*Continious Integration Build

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

*Continuous Integration Build

*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

*Full Build – Night Build

*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

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

*Build Mašina

*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

*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

*Instalacija

*Instalacija TFS Build Servisa

*Podešavanje servisa

*TFS Build konfiguracija

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

* Koraci kreiranja TFS Build konfiguracije

* Koraci kreiranja TFS Build konfiguracije

* Koraci kreiranja TFS Build konfiguracije

* Koraci kreiranja TFS Build konfiguracije

* Koraci kreiranja TFS Build konfiguracije

*Build Template

*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

*Primjer Workflowa

*Web acces: Buildovi

*Web acces: Buildovi detalji

*Quee Build

*Statusi builda

*Materijali

PROFESSIONAL

Team Foundation Server 2010

Ed Blankenship

Martin Woodward

Grant Holliday

Brian Keller

*Zaključak

*MS TFS 2010 definitivno valja razmotiriti jer znatno olakšava i poboljšava uspješano funkciniranje tima

*Pitanja?

*Pizza i pivo

top related