_____ _________ ________ ___ ___ _________ ________ / __/ \_ ____/ \ ) | | | | \_ ____/ \ ) \__ \ | _)_ | __ _/ | | | | | _)_ | __ _/ ___\ \ | \ | | \ \ \ \_/ / | \ | | \ \ solutions \____/ /_____ / /_/ \ \ \ / /_____ / /_/ \ \ \/ \/ \_/ \/ \/ (c) Tomas Siegl (c) Orcave 2002 - 2004 HW Build server: ---------------- MB: ASUS 394 VIA KT600, RLT8319 na desce CPU: AMD XP2200+ Semptron HD: 120G SATA GFX: PCI Ati64 MEM: 256MB DDR 333 Instalace postup: ----------------- 1.0 System: ----------- 1.1 Instalace windows: Je tam disk na SATA radici. Pri instalaci windows musime dodat driver, ktery se nachazi na CD od motherbordu. Tam je program ktery vytvori na disketu. Pri instalaci je potreba mit disketovou mechaniku, ta v pocitaci neni. 1.1.1 Aktualizovat system pres Windows update, popripadne poztahovat opravy a dat rucne. 1.2 Vypnout sluzby, ktere jsou defaultne zapnute (pro Windows Server 2003 SP1): Computer browser Error Reporting service IPSEC services Licence login Messenger Print Spooler Remote registry TCP/IP NetBIOS Helper Windows Audio Wireless configuration Aplication Layer Gateway Service 1.3 Naintalovat TighVNC (www.tightvnc.com) - jako service - nakonfigurovat pristup pres heslo 1.3.1 Nastavit Local security policy: Interactive login: Do not require CTRL+ALT+DEL na enable. 1.4 Vytvorit uzivatele AUTO_BUILD, skupina users, administrators 1.5 c:\windows\system32\drivers\etc\hosts se dosadi ip adresa pocitace kde bezi cvs pod nazvem: apl 1.6 Povolit Remote Desktop Pocet licenci je aktualne 2. V pripade preruseni spojeni a vycerpani vsech licenci, je mozno se pripojit pres VNC a odhlasit spadle konexe. 2.0 Build software: ------------------- 2.1 Visual studio - Visual studio 6.0 nainstalovat bez registrace do enviromentu. cesta: C:\Program files\Microsoft Visual Studio - SDK2001April cesta: C:\Program files\Microsoft Platform SDK Vyzaduje CVS stromecek Whisky (.h a knihovny) Spustit setup.msi, setup.exe taha ze site. Nainstalovat bez registrace do enviromentu, ale s integraci do visual studia. - Pred buildem se potom bude poustet: 1. C:\Program files\Microsoft Visual Studio\VC98\bin\vcvars32.bat, ktery nastavi enviroment (INCLUDE,LIB,PATH) 2. C:\Program files\Microsoft Platform SDK\setenv.bat, ktery nastavi (INCLUDE,LIB,PATH) - SP5 pro Visual studio 6.0 naintalovat jako posledni. - pridat cestu visual studia c:\Program files\Microsoft Visual Studio\VC98\bin\ do system PATH - vytvorit makro ve visual studiu: Sub ExportMakFile ExecuteCommand "BuildProjectExport" ExecuteCommand "WorkspaceClose" Quit End Sub 2.2 Cygwin: cesta: C:\cygwin Nainstalovat balicky: Base, Devel Nastavit system - Pred buildem se potom bude poustet: PATH do C:\cygwin\bin 2.3 CVS v 2.0.8 cvs -d :pserser:autobuild@127.0.0.1:/var/cvs/booze login zalogovat se jako cvs uzivatel 'autobuild', nebudeme se uz potom odhlasovat. autobuild je na CVS serveru jenom reader a heslo se ulozi do C:\Documents and Settings\AUTO_BUILD\.cvspass Vytvorit uzivately AUTO_BUILD promenou HOME a nastavit cestu k adresari .cvspass, jinak cvs nedokaze bezet bez prihlaseni v task scheduleru 2.4 Delphi Neinstaluje se 'Common' a 'BDE' do stejneho adresare, kazda verze delphi 'musi mit svoji' verzi BDE jinak se instaluje pouze: Main Program Files. Debug Library Files. pro kazdou verzi delphi - Delphi 3: cesta: C:\Program files\Borland\Delphi 3 (tady je mezera pred 3, moje chyba v instalaci) Instalace bez BDE. Enviroment nenastavuje. - Delphi 4: cesta: C:\Program files\Borland\Delphi4 a pro BDE C:\Program files\Borland\Delphi4\BDE - Delphi 5: cesta: C:\Program files\Borland\Delphi5 a pro BDE C:\Program files\Borland\Delphi5\BDE - Delphi 6: cesta: C:\Program files\Borland\Delphi6 2.5 Stunnel C:\Program Files\Stunnel4 - tunelovat sluzby smtp, cvs Protoze na apl posloucha cvs a smtp verejne jen na tunelovanym portu je potreba nainstalovat jako service. 2.6 Nasm v 0.98.39 C:\Program Files\Nasm 2.7 Putty Potreba je hlave pscp pro kopirovani instrukci a pro nahrati vysledku 3.0 Priprava adresaru --------------------- - stromecky se tahaji do C:\CVSTREES pravo zapisu AUTO_BUILD user - Buildskripty se nachazeni v adresari C:\BUILDSCRIPTS - Bat soubory ktere vola makefile a visual studio jsou v C:\BUILDTOOLS incver.bat - ukazuje na incver z Whisky\Tools\Incver nasm - Nastavuje promenou NASMENV= - skripty volaji .bat soboury napriklad cvs.bat, php.bat atd. 3.1 Adresare pro Metaxu: ------------------------ - Stromecky jak jsou ulozeny v CVS nejdou zkompilovat bez chyb. Vetsinou je potreba pridat nekolik adresaru pro post build steps Metaxa\Developers\Libs Metaxa\Work\Libs 4.0 Prubeh buildu: ------------------ Scheduled Task Wizard bezi pod uzivatelem AUTO_BUILD, tento uzivatel musi byt clenem skupiny administrators. Hlavni skript 'autobuild.sh' nacte konfiguracni soubor 'config.sh' ze ktereho zjisti cesty a stromecky, ktere ma prelozit. Ty jsou ulozene v poli CVSTREES, poradi 0,1,2 ... Kazdy stromecek musi obsahovat ve svem rootu soubor 'build_all.sh' ve kterem jsou specifikovane projekty, ktere se stavi. Projekty jsou ulozene v poli 'projects' s indexy 0,1,2... Project muze byt specifikovan: 1) Jako adresar, v tomto pripade se tento adresar prohleda a naleznou se vsechny soubory '.dsw', ktere se postavi. Potom se vyhledaji vsechny skripty '.sh' a ty se zavolaji. 2) Konkretni soubor .dsw - v tomto pripade se postavi jenom tento soubor. 3) Konkretni soubor .sh - v tomto pripade zavola jenom tento soubor. Samotny build probiha, ve dvou krocich. Nejprve bezi runlevel debug a potom release. V kazdem runlevelu se postavi vsechny projekty ze vsech stromecku. Skripty .sh muzou pouzivat nasledujici promene: $BUILD_RUNLEVEL - obsahuje cislo runlevelu, ktery zrovna probiha. O - debug, 1 - release pomoci testu teto promene muzete preskocit tvorbu projektu. $BUILDTYPE - obsahuje typ buildu, ktery byl zadan v build modulu na cbs: snapshot,beta,rc,release $BUILDSUBTYPE - obsahuje subtyp buildu $BUILDNAME - obsahuje jmeno buildu $CVS_TREE_PATHS - obsahuje cestu ke korenum stromecku (C:\CVSTREES) Sh scripty jsou vkladany do hlavniho skriptu pomoci . , tudiz "nemuzou" volat exit funkci, pokud potrebujete vratit 0 na konci a posledni prikaz vraci jinou hodnotu, pouzijte jako posledni prikaz volani "true". Napriklad hhc kompilator vraci na uspechu 1 ale pokud by tato hodnota zustala v $? dojde k selhani celeho buildu.