Onze core-business is uiteraard Hosting (“voor hosting groot & klein, moet u bij Nucleus zijn” ), maar om dat allemaal vlot te beheren schrijven we ook heel wat software voor onszelf. Zo zijn ons controlpanel, de website en de bestelwizard, ons ticketing-systeem, onze status pagina’s, de helpdesk en de interne back-end allemaal zelf geschreven. Daarbij komt nog eens dat er op heel wat servers speciale scripts draaien, bedoelt om onze Shared Hosting te configureren, onze mail cluster te beheren, de DNS records voor domeinnamen in te stellen en noem maar op.

Allemaal stukken code die in-house worden ontwikkeld, en waar we nood hebben aan “revision/version control” – het kunnen teruggaan naar vorige versies en vlot kunnen wisselen tussen verschillende projecten, zonder werk te verliezen.

De bijna de-facto standaard 4j geleden was nog SVN, omdat het voor zowel systeembeheerders als ontwikkelaars gekend was. Het doet zijn werk goed, maar er zijn enkele onhandige nadelen. Zo is het niet evident om vlot te wisselen tussen meerdere projecten, ontbreekt het aan goed-werkende branching binnen een Code Repository en werkt het vrij log omdat je continu “online” werkt. Bij elke commit/checkout contacteer je de centrale SVN server om gegevens op te vragen.

Daarom zijn we nu enkele maanden geleden overschakeld op GIT, een alternatief Version Control systeem dat oa. gebruikt wordt voor de Linux Kernel, en waar heel wat open-source projecten van gebruik maken (zoals te zien op Github).

Onze nood naar vorige commit-data was klein, dus konden we zonder problemen “opnieuw” beginnen met de GIT repository op te bouwen, zodat we een vlotte omschakeling van SVN naar GIT konden maken. We gebruiken nu een combinatie van WebDAV en Apache Authenticatie als Access Controll List (ACL) om onze commits te loggen, en viewgit als weergave voor al die commit-data.

20110622-git_viewgit

Door gebruik te maken van GIT heeft elke ontwikkelaar bij Nucleus nu een eigen lokale repository waar snel in gewerkt kan worden in aanvulling van een centrale repository waar we onze code naar committen.

Een dringende hotfix, nieuwe releases, … beheren we via de methodieken die via Git Flow zijn vastgelegd, die een vlotte manier tussen Development -> Staging -> Production kunnen voorzien.

Gerelateerde berichten
SACK Panic

Wat is SACK Panic en wat doen we eraan?

Elke bug krijgt tegenwoordig een coole naam i.p.v. een saai nummer en met de recente ontdekkingen van onderzoekers bij Netflix is dit niet anders. […]

Lees meer

Nucleus stand op Sound of Science festival

Behind the scenes van onze "Sound of Science" stand

Een tweetal weken geleden vond in Mortsel het Sound of Science festival plaats. Geen focus op muziek, maar wel op iets wat we minstens […]

Lees meer

mds bugs

Wat zijn de nieuwe MDS CPU-bugs en wat doen wij eraan?

Je herinnert je misschien nog dat begin vorig jaar er een heel aantal veiligheidsproblemen zijn gevonden in de processoren van Intel. Helaas hebben gisteravond […]

Lees meer