Ja, een Pipeline controleert alle code die wordt toegevoegd door de developer en geeft dan aan of de code voldoet aan bepaalde standaarden. Je kunt het zien als een automatische tester.
In een nieuwe versie van HTML mag je bijvoorbeeld geen zogenaamde ''self closing tags'' meer gebruiken. Wanneer je die wel in je code hebt zitten, geeft de Pipeline daar een melding van en mag de code niet live voordat je dat hebt opgelost.
Klopt, maar het zorgt er wel voor dat we voordat het live staat, weten dat onze code niet helemaal netjes is. Dat komt ten goede aan de kwaliteit en de performance van de webshop. En het is erg vervelend als je dit pas merkt bij het testen van de webshop.
Haha, dat zeg ik niet. Maar de kans dat je tijdens een test iets tegenkomt is een stuk kleiner, omdat de code zichzelf al heeft getest. En in dat automatische testen kun je zo ver gaan als je zelf wilt.
Je kunt in theorie elke actie die een bezoeker uitvoert opnemen in een script en testen met een Pipeline. Maar elke test kost tijd, dus het is een kwestie van afwegen of je alles automatisch wilt kunnen testen. Bij veel klanten richten we ons met name op het testen van de orderflow en de account-registratie.
Bij een deploy moeten er nogal wat stappen worden uitgevoerd. De nieuwe code moet worden gedownload, de modules moeten worden geïnstalleerd en de front-end moet worden opgebouwd. In die periode dat dit gebeurt, is de webshop niet bereikbaar voor bezoekers. Dus wil je een deploy zo kort mogelijk houden.
Bij Pipeline Deployment worden alle stappen voorbereid in een losse omgeving en wordt deze omgeving in een paar milliseconden live gezet. De bezoeker merkt dus niet dat er een deploy heeft plaatsgevonden en de webshop blijft al die tijd bereikbaar.
Je moet in het begin zorgen dat de bestaande code aan de standaarden voldoet (en dus alle tests succesvol zijn) voordat je de nieuwe code kunt valideren. Daar gaat wat tijd mee gemoeid en die tijd kun je niet besteden aan de ontwikkeling van nieuwe functionaliteiten. Maar, door Pipelines zorg je ervoor dat de basis goed staat en zal de ontwikkeling van nieuwe functionaliteiten sneller gaan omdat er minder bugs naar voren komen. Ook is de bereikbaarheid van de webshop rondom deploys van deze nieuwe functionaliteiten veel beter in vergelijking met conventioneel deployment.
Dat is simpel: het team richt voor elke klant een testsuite in zodat de automatische tests bij elke code-wijziging worden getriggerd. De resultaten verwerken we in dan overleg met onze klanten.