Jenkins is een open-source automatiseringsserver die de repeterende stappen tussen code schrijven en uitleveren overneemt. Telkens als een ontwikkelaar de code wijzigt, kan Jenkins die ophalen, bouwen, de tests draaien en uitrollen, zonder dat iemand op een knop drukt. Het is al ruim tien jaar een steunpilaar van continuous integration.
Zie het als een onvermoeibare assistent aan een lopende band. Zodra er een nieuw onderdeel binnenkomt, zet hij het product in elkaar, controleert elke schroef en geeft het door of slaat alarm als er iets stuk is. Jenkins doet hetzelfde voor software: het vangt een falende test minuten na de fout op, in plaats van dagen later wanneer hij veel lastiger te herleiden is. Daarmee is het een kernstuk van elke CI/CD-opstelling.
Zijn grootste kracht is flexibiliteit. Duizenden plugins koppelen Jenkins aan zo’n beetje elke tool, taal of cloud, en daarom vertrouwen grote organisaties met ongewone eisen er nog steeds op. De keerzijde is dat je het zelf host en onderhoudt.
Dat zelf hosten is ook het addertje. Diezelfde plugins verouderen, botsen soms en moeten gepatcht worden, dus een verwaarloosde Jenkins-server verandert langzaam in een breekbare doos die niemand meer durft aan te raken. Voor een klein team dat fris begint, kost een gehoste optie als GitHub Actions vaak minder onderhoud. Jenkins schittert als je diepe controle nodig hebt of om beveiligingsredenen binnen je eigen netwerk moet draaien, wat vaak voorkomt in de zorg en bij banken waar code het pand niet uit mag.
Bij TopDevs zetten we geautomatiseerde build- en testpijplijnen op, zodat de code van een klant wordt gecontroleerd op het moment dat hij wijzigt. Zo houden we bugs weg bij echte gebruikers.