Training/GIT
2Value heeft op de valreep van het nieuwe jaar 2011 besloten per direct een GIT training te organiseren, in samenwerking met GIT specialist Stefan Koopmanschap
Zie ook
Wat, voor wie, waarom, hoe
Wat behelst de training
GIT is een modern open source codemanagementsystem. Deze training leert je in praktijk (workshop) hoe je in teamverband in een OTAPomgeving code kunt delen met collega's. GIT heeft diverse voordelen boven SVN en CVS. Welke? Dat legt Linus Torvalds (Linux èn GIT founder) het best uit.
Voor wie
Voor 2Value associates of associates in spe met kennis van codemanagement en/of SVN
Waarom
2Value werkt decentraal en GIT past daar beter bij dan SVN.
Afwegingen die de doorslag hebben gegeven:
- Snel werken in decentraal team
- Kwaliteit
Hoe
2 sessie van 3 uur
Om de migratie mogelijk te maken hebben we een training van in totaal 2x3 uur ingelast met nog 2x2 uur voorbereidingstijd.
Technisch versus generalisten niveau
We maken een onderscheid in twee type associates:
GIT migratie
2Value is voornemens om te migreren van SVN naar GIT voor haar OTAP omgevingen. Zie de inhoudsopgave voor hoe we dat doen.
Contents
Planning
- Training
- Voorbereiding
- Onderwerpen
- Workshop 1; op lokatie 2Value in Haarlem of Heemstede
- Voorbereiding
- Workshop 2; op lokatie 2Value in Haarlem of Heemstede
- Toets: kun je vanaf je eigen bedrijf uitvoeren.
Bedrijfsregels 2Value
We gebruiken Github.com
Redenen:
- Prijsplan beter passend bij onze architectuur
- GIThub: makkelijk repo's forken
Algemeen
- Content en temp/cache directories worden geignored
Per project / site
- centrale repository overwegen - 1 persoon is verantwoordelijk (leaddeveloper / derde lijns), hij kan pushen
We pullen van de centrale repo naar de persoonlijke cloudrepo (github.com), pullen naar persoonlijk lokaal en pushen zelf terug naar persoonlijke cloud repo.
- De derde lijns pullt de wijzigingen die geintegreerd moeten worden naar zijn lokale repo en pusht vervolgend naar de centrale repo voor
Uitgangspunten
Bas zegt: werkproces in stand houden
Databases
Code management en databases is een aparte uitdaging.
Patch001, patch002, patch003 -> een systeem vinden om de nummering om te gooien Doctrine / Propell - ORMS (voor iedere tabel heb je class, ieder record is een instantie van die class)
Documentatie
Engels! De commitmessages in GIT zijn in pricinpe free form, regel: niet te gedetailleerd svp, wel duidelijk.
Onderwerpen
De leerdoelen:
- Persoonlijke GIT omgeving op kunnen zetten
- Github Saas omgeving controleren en gebruiken
- Commando's GIT voor SVN'ers, voor- en nadelen kunnen reproduceren
- Commando's GIT: GIT beheersen
- Speciale GIT commando's beheersen
- Kunnen samenwerking in een team met GIT
- OTAP omgeving kunnen runnen met GIT
Lesmateriaal
De presentatie is hier beschikbaar, de workshopopdrachten hier en de 2Value afspraken van werken met GIT staan hier.
Voorbereiding
Dan nog een opmerking voor diegene die de GIT workshop van Stefan Koopmanschap gaan volgen. Omdat er met github gewerkt zal worden, dient er een SSH key gegeneerd te worden. Je hoeft in principe alleen de key te generen, maar als je nog wat tijd over hebt, kan je natuurlijk ook vast een github account aanmaken en je key daaraan toevoegen. Meer informatie over het aanmaken van een SSH key voor github vind je hier:
- Mac: http://help.github.com/mac-key-setup/
- Windows: http://help.github.com/msysgit-key-setup/
- Linux: http://help.github.com/linux-key-setup/
Studieboeken
Stefan: aanraders stuurt hij op:
- PROGIT.org -> SCOTT CHACON, > Je kunt op http://progit.org/book/ het hele boek lezen.
- Travis Swicegood -> zijn meest recente boek
Eigen computer
- De eigen computer moet voorzien zijn van een gemakkelijke texteditor
- Wireless connectie
- <nog iets, Bas?/Stefan?>
Github-omgeving
- IP nummers whitelisten, bij grote aantal cursisten
Train the trainers
- Henk en Bas moeten aan het werk: boeken, trainen (Henk: done sessie 1 bij Stefan), 2Value voorbereiding
- Welke real live site kunnen we met GIT aanpakken zodat trainers on the job gelouterd zijn? <bas>
- Hoe verdelen we de taken tijdens de groep T training.
Groepen
Groep T
gepland: eerste sessie eind dec 2010, 2de sessie eind feb 2011
Groep I
gepland: eerste sessie eind feb 2011, 2de sessie eind maart 2011
Ingangsniveaus
Per sessie verdeeld.
Sessie 1: Commando en structuur niveau
Groep T ingang: goede svn kennis
Exit niveau sessie 1
- Github.com omgeving doorgronden
- Commando kunnen gebruiken
- Op voorbeelddata over en weer kunnen pullen, pushen en committen tussen deelnemers
Sessie 2: Leaddev rol in 2Value codemanagement
Groep T ingang: goede GIT kennis, toets sessie 1 gehaald
Exit niveau sessie 2
- binnen 2Value met GIT versiebeheer kunnen doen op Drupal en Joomla sites.: Bas en Henk te beginnen met Koopman-works.nl
- afspraken over wie in the lead (waarvandaan gepulled wordt), elke persoon die dit niveau haalt is ergens bij een van de projecten in the lead.
Toets
Toets - welke onderdelen - hoe zorgen we dat deze op afstand kan worden gedaan - op beide exit niveau's
Toets 1
De toets vindt plaats op commando-niveau na sessie 1 Commando's: GIT voor SVN'ers, GIT specifiek, github.com omgeving leren inzetten
Toets 2
De toets vindt plaats op commando-niveau na sessie 1 2Value proces: routine in manier van werken en procedures
Werkverdeling voor de organisatie van de training GIT
- voorbereiding: wie doet wat
- training: wie doet wat
- toetsen afnemen door Bas Vredeling / Henk van Cann