app ontwikkel workflow verbeteren

Hoe we onze app ontwikkel workflow verbeterden

Vroeger was alles beter?

Na verschillende eerdere pogingen mijn ontwikkel workflow te verbeteren heb ik nu eindelijk de stap gemaakt om het allemaal wat professioneler aan te pakken. Het online aanpassen van bestanden op de live FTP server kan echt niet meer anno 2015 en na veel leren en uitzoeken ben ik er voorlopig uit. Lokaal ontwikkelen in een virtuele omgeving, inclusief het versiebeheer met git.

Lokaal ontwikkelen

Door lokaal te gaan ontwikkelen wordt het aanpassen van bestanden en testen van wijzigingen een stuk sneller. Je hoeft tenslotte niet steeds alle bestanden opnieuw over te zetten naar de server. Dit scheelt aanzienlijk in tijd, maar vooral het feit dat wijzigingen pas ‘live’ gezet worden indien ze eerst getest zijn scheelt natuurlijk veel. Voorheen werkte ik al wel vaak met een test server of subdomein, maar zelfs op die manier gebeurden er ooit wel dingen die voorkomen hadden kunnen worden.

Virtuele machines

Doordat het lokaal ontwikkelen nog wel eens problemen met zich meebrengt omdat er bijvoorbeeld een andere versie van php of apache draait, heb ik gekozen voor een virtuele lokale omgeving en provisioning via Vagrant. Op die manier is het heel makkelijk een virtuele machine op te zetten gebaseerd op centOS (een veelgebruikt server besturingssysteem). Deze virtuele machine heeft dus ook dezelfde versies van de benodigde software draaien.

Het opzetten hiervan is erg simpel door gebruik te maken van Vagrant en Puppet. Je gaat namelijk via de command line de virtuele machine’s aansturen. Het is even wennen aan de verschillende commando’s, maar echt heel spannend is het niet. Door daarna met Puppet een script te maken voor de juiste programma’s en bestanden, kun je de configuratie heel makkelijk met anderen delen. Anderen kunnen dus heel makkelijk op een exact vergelijkbare machine gaan werken.

git versiebeheer

Eerder al heb ik veel met git gedaan binnen bepaalde projecten, maar ik wil nu gewoon binnen al mijn projecten dezelfde workflow hanteren. Git is een versie beheer systeem, ontwikkeld door Linus Torvald, de grondlegger van Linux. Hij heeft een systeem ontwikkeld wat in de basis heel simpel is, maar toch gigantisch veel mogelijkheden biedt. Door een directory op je computer als git repository te initialiseren kun je alle wijzigingen in die directory maakt bijhouden.

Doordat alle wijzigingen in de repository bijgehouden worden, kun je heel makkelijk zien wat er gewijzigd is in een bepaald bestand door de tijd heen.

Voorlopige conclusie

Hoe heerlijk is het om het gevoel te hebben dat je in controle bent over de dingen die je doet. Altijd alles terug kunt vinden, en bij problemen gewoon alles terug kunt draaien. Dit zijn enkele voordelen van deze nieuwe ontwikkel workflow. Er zullen vast nog wel wat dingen veranderen of aangepast worden in mijn workflow, maar het belangrijkste is nu dat het staat! Ik kan nu al niet meer zonder…


Nog steeds niet helemaal duidelijk?

Ik help je graag met al je vragen. Je mag me altijd even bellen of mailen.