Changes between Version 47 and Version 48 of Documentatie/Ontwikkelaar/Procedures/Release


Ignore:
Timestamp:
05/07/18 09:58:25 (8 years ago)
Author:
bob
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Procedures/Release

    v47 v48  
    213213   - de release-notes pagina van de release zelf 
    214214 
    215  
    216  
    217 = Starterkit =  
    218  
    219 De starterkit wordt gemaakt met NSIS ([http://nsis.sourceforge.net/Main_Page NullSoft Scriptable Installation System]). NSIS heeft een beperkt script-taaltje; daarmee kan je een paar configuratie-vragen stellen en vervolgens OpenAC met een specifieke configuratie op een bepaalde plek installeren. 
    220  
    221 Vanaf OpenAC v2.016 kan er ook met [http://wixtoolset.org/documentation/ WiX toolset] een MSI installer gemaakt. Deze installer integreert volledig met het Windows ''!Add/Remove Programs'' concept en is wellicht makkelijker te integreren in automatische roll-outs. 
    222  
    223 == Algemeen == 
    224  
    225 De starterkit wordt gemaakt door het script `bin/starterkit.py`. Gebruik `--help` voor configuratie-opties bij het maken van de starterkit. Gebruik `-v` om een OpenAC versie op te geven en `-r` voor een specifieke revisie.  
    226 Als je geen `-r` doet, dan doet hij de nieuwste revisie van dat moment. 
    227  
    228 De versie die je bij `-v` opgeeft, is de naam van een '''inmiddels aangemaakte''' `release/` branch is. De "v" in een versie-nummer is optioneel, dus `-v 2.002` is hetzelfde als `-v v2.002`. Er wordt een checkout gemaakt van die versie, samen met de Python runtime, dan wordt van de template NSIS-file een specifiek installer-script gemaakt en met makensis tot een `starterkit.exe` gemaakt. Op de OpenAC server duurt dit ongeveer 20 minuten in totaal. 
    229  
    230 De resulterende executable mag naar de downloads folder worden gekopieerd. Er worden MD5 en SHA1 checksums geprint voor gebruik in de release notes en op de pagina over de [wiki:Documentatie/Beheerder/Installeren/StarterKit starterkit in de beheershandleiding]. 
    231  
    232 Verdere command-line opties voor `starterkit.py` zijn: 
    233  - `--debug` om debug-logging aan te zetten en de sessie-log weg te schrijven naar `sessie.log` in de huidige directory. 
    234  - `--skip-nsis` om geen NSIS (installer-executable) te maken ook al zou dat kunnen. 
    235  - `--skip-wix` om geen WiX (MSI installer) te maken ook al zou dat kunnen. 
    236  - `--skip-checkout` om geen nieuwe checkout te doen; dit is alleen handig in combinatie met `--workdir`, en dan vooral als je de tools aan het aanpassen bent zodat je niet steeds ook op het netwerk en de checkout hoeft te wachten. 
    237  - `--workdir` (of `-d`) om aan te geven waar gewerkt moet worden in plaats van in een tijdelijke directory. Geef een pad op dat al bestaat; checkouts worden in de workdir gedaan. 
    238  
    239 == NSIS ==  
    240  
    241 Op de OpenAC server is `makensis` geinstalleerd. Soms zijn er Linux packages voor; op !SourceForge is in ieder geval een `setup.exe` beschikbaar voor Windows. Installeer NSIS en zorg dat je vanuit de shell `makensis` aan kunt roepen. Om een starterkit te maken heb je verder een checkout van development nodig (of in ieder geval `development/bin`), `makensis` en een shell. 
    242  
    243 Op dit moment is de procedure op de NSIS starterkit te bouwen alleen op de FENAC server (Dit werkt nog niet op de Ubuntu dev-server 02-02-2018): 
    244  
    245  
    246 stap 1. Inloggen via root op fenac.nl 
    247  
    248 stap 2. Kijk of de directory /home/<usernaam> bestaat zo niet maak deze als root aan. 
    249         Geef deze directory recursief de ownership <usernaam> group fenac of users. Dit kan via mc => file. 
    250         In deze directory gaan we de checkout doen van de setup-build tools 
    251  
    252 stap 3. su naar bob (Men heeft bewust gekozen om normale track users geen bash omgeving te geven. Dit is geloof ik via ssh config ingesteld) 
    253  
    254 stap 4. Doe een df. Kijk of er 2200 Mb beschikbaar is, zo niet 
    255         - Kijk of je /home/adriaan/<versie> kunt deleten of die van een andere user. 
    256         - Kijk of je logfiles kunt deleten. 
    257         Een versie sourcetree is 990Mb in Windows anno 02-02-2018. 
    258     
    259 stap 5. Ga nu de bin/starterkit build omgeving binnen halen (z.g.n. bin checkout doen) 
    260         Voer het volgende in je bash/ssh 
    261 {{{ 
    262 SVN=https://svn.openac.fenac.nl/ 
    263 svn co $SVN/development/bin   
    264 python bin/starterkit.py -v 2.XXX 
    265 }}} 
    266  
    267 stap 6. Start de build van een setup 
    268 {{{ 
    269 python bin/starterkit.py -v 2.XXX 
    270 }}} 
    271  
    272 Na verloop van tijd krijg je wat output, die vertelt waar de resulterende starterkit-executable staat. Er wordt ook een standaard release-blurb getoond die je naar de starterkit-pagina kunt kopieren. 
    273 De laatste stappen die je nu kunt uitvoeren: 
    274  
    275 stap 7. Wijzig de huidige "normale" user naar root zodat je meer rechten hebt voor de volgende bash commando's. 
    276 (Een normale user toevoegen aan de sudogroup gaat nog kan nog niet op deze server waardoor sudo <username> niet werkt.) 
    277  
    278 stap 8. "Age" de vorige exe door oude file te hernoemen naar .old of .old.2 
    279 {{{ 
    280    cd /srv/www/static/openac-downloads 
    281    mv openac-v2.100-starterkit.exe openac-v2.100-starterkit.exe.old 
    282 }}} 
    283  
    284 stap 9. Verplaats de aangemaakte setup exe naar de download directory.  
    285 Gebruik mark + copy en plak actie in bash windows om de filebron goed te plakken in het commando. 
    286 (. is de active directory van de bash.) 
    287 {{{ 
    288 mv /tmp/<tmpxyzrandom>/openac-v2.100-starterkit.exe . 
    289 }}} 
    290  
    291 stap 10. Maak de ownership van deze exe file als 
    292 {{{ 
    293 chown trac:fenac openac-v2.100-starterkit.exe 
    294 }}} 
    295  
    296 stap 11. Controleer de grootte en eigenaar van de file in /srv/www/static/openac-downloads 
    297 {{{ 
    298   ls -al *v2.1*  
    299 }}} 
    300  
    301 stap 12. Kopieer de blurp-tekst die de starterkit heeft gegeven naar de [wiki:Documentatie/Beheerder/Installeren/StarterKit starterkit in de beheershandleiding]. 
    302 Voorbeeld van de script output: (De blurp-tekst staat tussen de dubbele begin en eind brackets) 
    303 {{{ 
    304 [2018-02-02 11:55:03]:INFO:root:Release blurb: 
    305  
    306 [[NoteBox(download, Download [/downloads/openac-v2.100-starterkit.exe hier] de starterkit voor versie 2.100.  
    307 Als je de download wilt controleren, dan is de hash SHA256:`4f2ea861f440fd95e6ce1b3f7a47d8aa2486a0857fbe0021a653dd33c09a8b48`,  
    308 en de grootte is 230522611 bytes. Deze starterkit geeft OpenAC v2.100 r44418 van 02 februari 2018. Bijwerken na installatie.)]] 
    309  
    310 }}} 
    311 == WiX == 
    312  
    313 De WiX toolset draait onder Windows. Installeer het vanaf de WiX toolset pagina. Versie 3.11 is de courante versie en het starterkit-script verwacht dat het geinstalleerd is en in het  
    314 pad van de command-prompt te vinden is. 
    315  
    316 De WiX tools werken vanaf een of meer XML bestanden (`.wxs`) als een compiler chain: `.wxs` wordt eerst gecompileerd naar een object-file (`.wixobj`) en dan worden een of meer object-files samengevoegd tot een MSI installer. 
    317  
    318 De toolset raadt zelf aan om de XML bestanden met de hand te schrijven. Een deel daarvan is nodig, maar voor zoiets als de Python runtime is het ondoenlijk. Er zijn ook tools om uit een geinstalleerde mappen-structuur een `.wxs` te genereren. Het diagram laat zien hoe het (schematisch) werkt. 
    319  
    320 [[Image(wixtools.png, align=center, class=inline)]] 
    321  
    322 Het `starterkit.py` script gebruikt `heat.exe` om voor de OpenAC sources en voor de Python runtime een `.wxs` te maken, en compileert die; ook de handgeschreven `starterkit.wxs` wordt gecompileerd, en het geheel samengevoegd tot een installer. 
    323  
    324 Er staat versie-informatie in `starterkit.wxs`. In het bijzonder is het '''absoluut noodzakelijk''' om een nieuwe upgrade-code (regel 5) te maken als je een nieuwe installer maakt (niet vergeten om die nieuwe UUID te committen!) omdat je anders geen upgrade pad hebt en je eerst OpenAC moet deinstalleren voordat je de MSI kunt installeren. 
    325  
    326 Het uitgeven van nieuwe MSI installers is dus een zwaardere, en duurdere, operatie dan de starterkit executable. 
     215= Starterkit aanmaken = 
     216Zie de procedure op deze pagina https://www.fenac.nl/openac/wiki/Documentatie/Ontwikkelaar/Procedures/Starterkit 
    327217 
    328218= Technische Documentatie =