ms team foundation server
DESCRIPTION
MS Team Foundation Server. Automation Builds Ivan Peršić, Novatec. Ivan Peršić, inf. [email protected] [email protected] Novatec, Kofax Algebra, Mencl. O meni. Uvod Što nam TFS omogućuje? TFS Infastruktura Automatski Buildovi TFS Automatski Buildovi Prilagodba Builda - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/1.jpg)
Automation Builds
Ivan Peršić, Novatec
*MS Team Foundation Server
![Page 2: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/2.jpg)
*O meni
*Ivan Peršić, inf.
*Novatec, Kofax
*Algebra, Mencl
![Page 3: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/3.jpg)
*Sadržaj
*Uvod
*Što nam TFS omogućuje?
*TFS Infastruktura
*Automatski Buildovi
*TFS Automatski Buildovi
*Prilagodba Builda
*Kreiranje Build konfiguracije(screenshots)
*Zaključak
![Page 4: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/4.jpg)
*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.
![Page 5: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/5.jpg)
*Termini
*Check In - > Commit (TFS->SVN)
*Get Latest -> Update (TFS->SVN)
*Queue new Build -> Kick build (CCNet)
![Page 6: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/6.jpg)
*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
![Page 7: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/7.jpg)
*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
![Page 8: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/8.jpg)
*TFS Infrastruktura
![Page 9: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/9.jpg)
*napomena...
*TFS je namjenjen za rad u domenskom okruženju.
![Page 10: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/10.jpg)
*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)
![Page 11: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/11.jpg)
*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...
![Page 12: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/12.jpg)
*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.
![Page 13: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/13.jpg)
*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
![Page 14: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/14.jpg)
*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”.
![Page 15: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/15.jpg)
*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
![Page 16: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/16.jpg)
*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...
![Page 17: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/17.jpg)
*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
![Page 18: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/18.jpg)
*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)
![Page 19: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/19.jpg)
*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.
![Page 20: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/20.jpg)
*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
![Page 21: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/21.jpg)
*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
![Page 22: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/22.jpg)
*Instalacija
![Page 23: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/23.jpg)
*Instalacija TFS Build Servisa
![Page 24: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/24.jpg)
*Podešavanje servisa
![Page 25: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/25.jpg)
*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)
![Page 26: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/26.jpg)
* Koraci kreiranja TFS Build konfiguracije
![Page 27: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/27.jpg)
* Koraci kreiranja TFS Build konfiguracije
![Page 28: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/28.jpg)
* Koraci kreiranja TFS Build konfiguracije
![Page 29: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/29.jpg)
* Koraci kreiranja TFS Build konfiguracije
![Page 30: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/30.jpg)
* Koraci kreiranja TFS Build konfiguracije
![Page 31: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/31.jpg)
![Page 32: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/32.jpg)
![Page 33: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/33.jpg)
![Page 34: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/34.jpg)
*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
![Page 35: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/35.jpg)
*Primjer Workflowa
![Page 36: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/36.jpg)
*Web acces: Buildovi
![Page 37: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/37.jpg)
*Web acces: Buildovi detalji
![Page 38: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/38.jpg)
*Quee Build
![Page 39: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/39.jpg)
*Statusi builda
![Page 40: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/40.jpg)
*Materijali
PROFESSIONAL
Team Foundation Server 2010
Ed Blankenship
Martin Woodward
Grant Holliday
Brian Keller
![Page 41: MS Team Foundation Server](https://reader034.vdocument.in/reader034/viewer/2022051018/568147b0550346895db4f254/html5/thumbnails/41.jpg)
*Zaključak
*MS TFS 2010 definitivno valja razmotiriti jer znatno olakšava i poboljšava uspješano funkciniranje tima
*Pitanja?
*Pizza i pivo