Changes between Initial Version and Version 1 of Documentatie/Ontwikkelaar/Procedures/Release


Ignore:
Timestamp:
03/14/11 11:18:41 (15 years ago)
Author:
adriaan
Comment:

--

Legend:

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

    v1 v1  
     1= Versiebeheer: releases en revisies = 
     2 
     3=== Hoe werkt de SVN repository? === 
     4De SVN repository bevat twee directories: development met de actuele ontwikkelversie, en release met daarin stabiele releases van OpenAC.  
     5 
     6De AC's kunnen zelf wijzigingen in hun adapataties inleveren. Ze doen dit in de regel in de nieuwste release. Wanneer een AC een wijziging heeft ingeleverd, is dit te zien in de timeline van TRAC. Die houden we als ontwikkelaars dus nauwlettend in de gaten. Wekelijks worden wijzigingen door centra ingeleverd overgenomen in de development-tak. Als centra een oudere release in gebruik hebben, worden wijzigingen ook in de nieuwere releases overgenomen. Wanneer een centrum een wijzing indient en er is al een nieuwe release, krijgt men een waarschuwing dat de ingeleverde zaken niet automatisch beschikbaar zijn in de nieuwe release.  
     7 
     8Wijzigingen die in een release worden ingeleverd, moeten via een SVN merge worden opgenomen in de ontwikkeltak.  
     9 
     10 
     11=== Planning van een OpenAC release === 
     12 
     13 * De releasedatum is de datum dat de acceptatieversie wordt aangemaakt door de development-branch te kopiëren naar een release-branch.  De releasedata vallen in principe op 31-3, 30-6, 25-9 en 15-12 (4x per jaar). 
     14 * 5e week voor releasedatum: scope bepalen, ontwerpjes maken 
     15 * 4e en 3e week voor releasedatum: bespreken ontwerpjes voor de grotere tickets, tickets afwerken 
     16 * 2e week voor releasedatum: testen (en soms nog wat losse eindjes ontwikkelwerk), 2 pilot-AC's zoeken 
     17 * week voor releasedatum: documenteren, changes overnemen en live (zie hieronder) 
     18 * week na releasedatum: test bij 2 pilot-AC's, changes overnemen, bericht productieversie live 
     19 
     20=== Testen en maken van een OpenAC release === 
     21 
     22Je zit in een werkkopie van de tak 'development'. Doe nu de volgende stappen:  
     23 
     24 * Ga op de TRAC-website onder "Timeline" naar de vorige release, en loop zorgvuldig de changesets na die sindsdien zijn ingevoerd, draai eventueel een DIFF. Dit gebeurt elke week maar moet vlak voor een release nog een keer worden herhaald, zodat op het moment dat de release note uitkomt, alle wijzigingen zijn overgenomen. Wat men daarna inlevert, moet men zelf weten (versiebeheer waarschuwt dan ook).  
     25 * Controleer of alle wijzigingen in de loop van de vorige release zijn overgenomen: development/bin/adaptatie-diff v1.XXX development (vergelijk laatste versie met development). Loop de diff door op vergeten change sets.  
     26 * Draai de unit tests en fix zonodig  
     27 * Loop het [TestScript test script] door  
     28 * Merge door AC's gemaakte fixes op de vorige release in de development-tak  
     29 * Test de wijzigingen zonodig  
     30 * '''svn commit''' om de wijzigingen uit de merge in te leveren  
     31 * Werk '''VERSIES.txt''' bij door de releasedatum aan de laatste versie toe te voegen en de omschrijving af te maken  
     32 * Draai '''bin/clean''' en commit eventuele bestanden die nog geen eol-style LF hadden  
     33 * Draai nog 1x de unit tests  
     34 * '''svn commit'''  
     35 * Draai '''bin/release 1.XXX''' om development te kopiëren naar de nieuwe release in SVN  
     36 * Maak de adaptatiemap in de nieuwe release schrijfbaar voor centra door 3 regels te kopiëren in /usr/local/apache1/svn/etc/permissions  
     37 * Stuur een release-bericht naar openac@fenac.nl. Denk daarbij goed na welke migraties er allemaal gebeuren bij deze nieuwe versie.  
     38 
     39 === Maken van een nieuwe starter kit === 
     40De starter kit is in essentie een self-extracting ZIP van een release branch van OpenAC. Dit zijn de stappen die je moet doorlopen om een starter kit te maken.  
     41 
     42 * Check de release uit waarvan de starterkit moet worden gemaakt.  
     43 * Zorg dat de volgende elementen in de directory aanwezig zijn: directory Python25, en de 4 DLLs msvcpp71.dll, python25.dll, pythoncom25.dll en pywintypes25.dll.  
     44 * Draai '''./bin/clean'''. Dit ruimt tempfiles op en zet permissies goed, maar kan ook wijzigingen maken in bestanden. Doe een svn status en als er wijzigingen zijn, deze eerst committen.  
     45 * Draai '''./bin/makezip'''. Dit maakt een complete ZIP die goed door windows kan worden uitgepakt.  
     46 * De zip is ongeveer 100MB.  
     47 * Gebruik EnZIP voor het maken van de EXE: rechtermuis op starterkit.zip -> open with Enzip -> Create self extractor  
     48 * Bij Message Box: nee, we willen geen message box.  
     49 * Bij Folder: '''"OpenAC"''' 
     50 * Title Caption: '''"OpenAC installatie"''' 
     51 * Command: '''icon.bat ''' 
     52 * Selecteer het icon-bestand '''images/OpenAC-128x128.ico ''' 
     53 * In het laatste scherm geen opties veranderen  
     54 * Upload het bestand naar '''Downloads''' op de TRAC site  
     55 * Pas de links aan op de wiki-homepage en in de installatiehandleiding, zodat deze wijzen naar de meest recente starter kit.  
     56 
     57== Online documentatie genereren == 
     58 
     59=== Infrastructuur en werking === 
     60 
     61De benodigdheden voor het genereren van de online documentatie staan op de server in directory '''/usr/local/apache1/openac-documentatie'''. Deze directory bevat de volgende onderdelen: 
     62||development-working-copy||een lokaal uitgecheckte versie van OpenAC|| 
     63||genereer||een symbolische link naar het script waarmee de documentatie gegenereerd kan worden|| 
     64||html||de html-output na het genereren van de documentatie|| 
     65 
     66Het script gebruikt de volgende onderdelen uit de sandbox map van de OpenAC repository: 
     67||Doxyfile||het configuratiebestand van Doxygen|| 
     68||doxypy.py||een doxygen filter voor het verwerken van Python-bestanden|| 
     69||documentatie/custom||custom headers, footers, stylesheets e.d. die gebruikt worden door Doxygen tijdens het genereren van de documentatie|| 
     70 
     71Het script begint met het bijwerken van de lokaal uitgecheckte versie van OpenAC met svn update. Vervolgens wordt de documentatie gegenereerd met Doxygen. Daarna wordt de documentatie naar de uiteindelijke locaties gekopieerd, te weten: 
     72||/usr/local/apache1/openac-site/documentatie/html||de documentatie|| 
     73||/usr/local/apache1/openac-site/documentatie/custom||stylesheets e.d.|| 
     74 
     75=== Genereren documentatie === 
     76 
     77De online documentatie kan worden gegenereerd met het commando '''genereer''', op de volgende manier: 
     78 
     79{{{ 
     80cd /usr/local/apache1/openac-documentatie 
     81./genereer 
     82}}} 
     83 
     84'''genereer''' is een symbolische link naar het script ''/usr/local/apache-1/openac-documentatie/svn_checkout/bin/documentatie'' en verandert dus automatisch als ''bin/documentatie'' wordt gewijzigd en gecommit. Na de wijziging is het natuurlijk wel noodzakelijk om een svn update te doen in de map svn_checkout. 
     85 
     86=== Afhankelijkheden === 
     87 
     88Voor het genereren van de online documentatie moeten de volgende twee pakketten op de server zijn geinstalleerd: 
     89 * Graphviz, voor het dynamisch genereren van diagrammen door Doxygen; 
     90 * Doxygen, en wel de door ons zelf gewijzigde versie. 
     91 
     92Beide pakketten staan in '''/usr/local/inst''', inclusief een ''myconfig.sh'' voor de lokale instellingen.