In één klik naar productie kunnen, wie wil dat nou niet? Maar wat is daar voor nodig en hoe richt je dat allemaal in? Om te beginnen moet je natuurlijk je testen geautomatiseerd hebben, maar dat had je uiteraard al. Zo niet, stop dan nu met lezen!

Ook vanzelfsprekend lijkt het me dat je ontwikkelaars hebt die elkaars werk reviewen. Daarnaast heb je een goed ingerichte pipeline nodig met een strenge en stabiele build. Liefst wordt in de build al een static code analysis gedraaid, de unit testen gedraaid, je code automatisch gecontroleerd op correcte formatting, code style, toegankelijkheid en known vulnerabilities.

TESTEN STARTEN

Als dit allemaal gedaan is, kun je in de volgende stap je software op een eerste omgeving deployen en je component integration testen draaien op basis van mocks of stubs. Zijn die allemaal geslaagd, dan kun je je pipeline zo instellen dat deze automatisch je software vervolgens gaat deployen naar de volgende omgeving en dat deze meteen al je integratie- en e2e-testen gaat draaien, deze uiteraard zonder gebruik van mocks en stubs.

Voor al deze stappen geldt: zolang er niks faalt, mag de pipeline doorgaan. Zodra er iets faalt, stopt het proces daar en gaat deze versie van de software niet naar productie totdat er door een mens naar is gekeken (en er vaak nieuwe aanpassingen gedaan zijn).

RELEASEN

Bij nieuwe aanpassingen gaat het hele proces weer vanaf het begin doorlopen worden. Heb je nog overige handmatige stappen in je releaseproces? Overweeg dan eerst of het echt noodzakelijke stappen zijn en zo ja, kijk dan hoe je die laatste stappen ook kunt automatiseren.

Wat overigens belangrijk is in deze opzet, is dat het terugdraaien van een release snel en gemakkelijk gedaan moet kunnen worden door elk lid van je DevOps-team. Mocht er onverhoopt toch iets verkeerd zijn gegaan, dan is het belangrijk om het snel terug te kunnen draaien, om zo geen (of zo min mogelijk) omzet te verliezen danwel schade op te lopen. Oh ja, en releasen doen we natuurlijk zonder downtime, wil je daar meer over weten, neem dan contact met ons op.

Jesse Straatman is Automated Tester bij Team Rockstars IT

Met jesse sparren over automated testing?