Bristande versionshantering
En anonymiserad bekant till mig ville för ett tag sedan ha hjälp att felsöka en asp-sida som vägrade att fungera.
Jag körde koden så gott jag kunde på min dator och konstaterade att det borde fungera på hennes server.
Ett par timmars mailväxling senare bestod asp-filen endast av html-kod, men den visades fortfarande fel från produktionsservern.
Efter ett par timmars tystnad kom svaret: Jag har en praktikant här, vi sitter och redigerar samma fil och ftp:ar upp den till servern.
Förutom att de uppenbarligen saknade samordning och egna utvecklingsmiljöer, saknade de definitivt någon form av versionshantering för sin källkod.
Migrera inte historiken till Subversion
Alla gånger jag varit med i projekt där man haft för avsikt att byta bort Source Safe har det varit långa diskussioner om hur man ska hantera historiken.
Den tunga argumentationen brukar komma från de som absolut måste kunna kontrollera skillnader mellan gamla versioner när de felsöker applikationen.
I alla de fall där man hårdnackat velat behålla historiken har man saknat enhetstester, release-hantering och ordentliga byggrutiner.
Min uppfattning är att man borde se till att få ovan nämnda kodhygienrutiner på plats så fort som möjligt. Om Source Safe databasen inte redan visar tecken på att haverera tycker jag att man borde ta tag i det andra först. Då behöver man inte leta fel i skillnader mellan gamla versioner lika ofta.
Dessutom finns det när detta skrivs fortfarande inget verktyg som klarar av att ta ut alla konstigheter som Source Safe kan hitta på. Jag tror i och för sig inte det finns någon annan källkodshanterare som hanterar alla finesser heller.
När allt annat sitter är det bara att checka ut den version av källkoden man vill migrera och skicka in den i den nya källkodshanteraren.
Kontrollera dina automatiska byggen
Försäkra dig om att dina automatiska, dagliga och kontinuerliga, byggen verkligen fungerar.
Det är precis som att kontrollera att dina backuprutiner fungerar. Du vill inte komma på att någon av dem slutat fungera när du verkligen behöver dem.
I helgen flyttades vår Team Foundation Server och allting såg ut att fungera som det skulle på måndagsmorgonen. Det var inga problem alls att ansluta till den nya servern och Cruise Controls lilla ikon sken betryggande grönt. Jag hade dock en lite oroande känsla av att något inte stod rätt till…..
…och se’n kom det; Konfigurationsfilen till Cruise Control var inte uppdaterad så den kontrollerade och byggde källkoden på den gamla servern.
Trasiga byggen suger och det borde vara en kollektiv uppoffring att hålla systemet i ett byggbart skick, men någon måste vara ansvarig för automatiseringen. Någon som kontrollerar att bygget fungerar.
Relaterade sökningar:
- automatiska byggen
