Jeg har installert Linux hjemme med diverse hjelpeverktøy for utvikling. Mest fordi jeg er en tekno-junky, men også fordi jeg liker å pludre litt med ting hjemme som kan hjelpe meg å gjøre jobben min bedre.
På Linuxen min har jeg installert Subversion, DokuWiki, Bugzilla, CruiseControl, og MySQL. Jeg har konfigurert opp disse programmene slik at jeg kan sjekke inn kildekode i Subversion, så henter CruiseControl ut den koden og kompilerer den og sender meg en epost hvis den ikke greier å bygge det prosjektet kildekoden hører til.
Jeg har brukt DokuWiki til å kjapt kunne skrive ned spesifikasjoner og notater om ting jeg holder på med, og dermed ha dem lett tilgjengelig til senere. Bugzilla har jeg ikke brukt mye enda, men det er meningen at den skal hjelpe meg å holde oversikt over bugs i prosjektene mine.
Alt dette er vel og bra. Jeg har stort sett det jeg trenger til å kunne utvikle et produkt og holde oversikt over notater, og bugs, og evt om det er problemer med å bygge prosjektet fra kildekoden i Subversion.
Hvis jeg har en bug i et av prosjektene mine, må jeg skrive inn bugen i Bugzilla. Mens jeg holder på å fikse bugen skriver jeg kanskje noen notater i Wikien. Når jeg sjekker inn kode som er relatert til bugen skriver jeg innsjekkings-meldinger med notater om bugen også. Å holde dette i synk viser seg i praksis å være en tidkrevende og brysom jobb når det må gjøres manuelt.
I går leste jeg en artikkel om hvordan integrere Bugzilla, Subversion og en Wiki, slik at man enkelt kan legge inn lenker i Bugzilla til Subversion-filer, eller wiki-sider. Den forklarer også hvordan man skal få Subversion til å melde ifra til Bugzilla når en innsjekkingsmelding inneholde referanse til en bug, og legge til nye tags i wikien, så den automatisk lenker til bugs og kildekode i Subversion. Den viser også hvordan man auto-genererer ChangeLog filer direkte fra Subversion i forskjellige format.
Ingen av disse tingene er helt nye, men når man slår sammen alle verktøyene til en integrert verktøy-pakke, så blir resultatet ganske genialt! Det gjør det enklere og mindre tidkrevende å holde Bugzilla og Wiki og ChangeLogs synkronisert i forhold til koden, og man føler at man får mer utbytte av hvert enkelt verktøy når de er konfigurert slik. Jeg skal innrømme at det er totalt overkill for meg å sitte med et slikt system, men som tekno-junky er det veldig deilig å se hvordan man kan få til ting som dette. Det er nok mer noe for jobben enn for leking hjemmme.