
Blog
De ontdekkingsreis naar Git
Git is op het gebied van versioning control systems een echte ontwikkeling in programmeursland. Er valt nog veel over te ontdekken en wij vragen ons vooral af op welke manier het allemaal in te zetten valt.
Xential is een softwarepakket dat je kunt omschrijven als een complex
beestje met een reeks afhankelijkheden en integraties. Er zijn heel wat
onderdelen die moeten samenwerken in ons totaalplaatje. Zo zijn er
tientantallen Java- en JavaScript-projecten van verschillende soorten:
een verzameling libraries, web applications, een transpiler, unit test
framework extensions en nog veel meer.
De code van al deze
projecten moet beheerd worden door een versioning control system. Voor
dit soort systemen is het onbetwist dat Git één van de meest belangrijke
ontwikkelingen is geweest in het wereldje van programmeurs. Wij zien
dit ook zo en zodoende zijn we momenteel bezig met het meeste uit deze
applicatie te halen.
“De buildscripts en pipeline definities hiervoor, zelfs custom dockerfiles, beheren we binnen dit systeem.”
Ontwikkelaars bij ons kunnen op hun werkstation zelf bepalen hoe ze
met Git omgaan. Of ze nou het liefste vanuit de commandline typen of dat
ze merge historie bekijken in bijvoorbeeld Sublime Merge. Het is maar
net wat ze zelf het handigst vinden. De IDE keuze mag ook ingevuld
worden naar eigen idee: IntelliJ, NetBeans, VSCode; noem het maar op.
Zelf
hebben we GitLab gekozen voor onze centrale repository, wat ons de
mogelijkheid biedt zelf te bepalen hoe we het inzetten. Met onze
self-hosted omgeving beheren we niet alleen de GitLab webserver. We
hebben ook een reeks GitLab Runners die simultaan werk kunnen uitvoeren
voor pipelines. De buildscripts en pipeline definities hiervoor, zelfs
custom dockerfiles, beheren we binnen dit systeem.
We zien dat er
veel mogelijk is met Git en ook dat er nog veel te ontdekken valt. Zo
horen we graag hoe anderen zelf deze ontdekkingsreis hebben doorlopen,
maar ook wat er actueel speelt. Er liggen nog allerlei opties op tafel
waarvan we nog moeten bepalen wat het voor ons kan betekenen: van
commando’s in Git tot en met tooling om Git heen. Misschien dat we er
zelf ook tooling voor schrijven. Uiteindelijk is het allemaal mogelijk.