why I'd never work with Jenkins

Another day, another project turned down, because they use Jenkins for CI/CD (the requirements were that I actually would have had to work with that piece of crap).

Some dev’s love Jenkins, quite a lot of devs hate/despise Jenkins deeply. By now you already know that I fall into the latter group. Jenkins is the WordPress of CI/CD servers. On its own, it does next to nothing. Pipelines? Slapped on as an afterthought. Even basic functionality needs plugins. That’s where the trouble starts – the plugins. They are community managed and a fucking mess. Crappy enough to let Jenkins blow up right into your face at the moment you install it, even for a basic scenario. Happened to me several times.

Got it up and running? Good luck with the maintenance. Let alone with extending it. Jenkins installations are brittle by default. After you got the basics covered and need more, you find out that plugin 6 is not compatible with plugin 4 and the plugins 5 and 7 are not maintained anymore. Don’t expect plugins to be documented.

The user interface is ugly and outdated. But hey, just install Blue Ocean. Oh, you need another 3 plugins for that, but 2 of them are incompatible with plugins already installed. Bad luck. And the hacks you need to put Jenkins with Blue Ocean behind a proxy just make me wanna throw up.

Anyway, it was script-centric from day one. Too bad that even the scripting of pipelines is more orally passed down from dev to dev than documented (good luck hunting down info on that on SOF or some forum), especially all the oddities that bite you on the calf regularly. Groovy was supposed to be cool for a short time, but actually, it never was.

The real nightmare starts when you use Jenkins for CD. Whatever it was designed for, it’s not CD. But people are doing it. It must be out of pure masochism.

Take the time necessary to fiddle with Jenkins to get it up and keep it going, the salary of a dev who is capable of doing that, and do the math. There are CI/CD servers out there that cost money, but cost you way less than Jenkins – both in terms of stress and cash.

Jenkins ought to die? Hell, it’s a software zombie that has been rotting for decades but a lot of folks don’t seem to notice the stench of decay.

x