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
Problemen oplossen in Varnish

Problemen oplossen in Varnish

In onze laatste ChalkTalk video uit de reeks bekijken we “ Problemen oplossen in Varnish ”. Hoe weet je of een pagina juist gecached wordt of niet? Wat zijn de meest voorkomende problemen na een implementatie van Varnish? En hoe los je die problemen op?

Lees meer

Netneutraliteit

Waarom onze overheid netneutraliteit moet garanderen

Een recent artikel van freelance journalist Jan Jacobs over netneutraliteit op Doorbraak.be deed ons steigeren. Zo erg zelfs dat we ons bijna afvragen op hij betaald werd door Proximus of Telenet om zo’n stuk neer te poten.

Lees meer

Meet the Hackers

Meet the hackers: drie visies op IT security

Better safe than sorry. Dat was de boodschap achter Meet the hackers, onze workshop rond ethical hacking. In het gezellig kader van de schuur […]

Lees meer