Jenkins X: a CI/CD solution for cloud applications on Kubernetes
Does anyone have Jenkins in production and found it to be reliable and pleasant to use?<p>I had to do lots of Jenkins integrations some time ago, and even though I tried to minimize the number of plugins and make things as simple as possible, things would randomly break from time to time or exhibit weird behaviour etc.<p>I had the impression that Jenkins is deeply conceptually confused about some of its concepts, e.g. how builds are triggered. Also, it is a huge pile of untestable spaghetti code which explains the weird bugs.<p>I modified an open-source plugin only to find out that it's almost impossible to write meaningful tests for it: you can't even mock Jenkins API without using the darkest Java mock magic. Jenkins classes are just written in an old style that makes testing _really_ hard but probably can't be changed without breaking all of Jenkins.<p>I tried Jenkinsfile which was only even more unreliable (at the time at least, this was > 1y ago). The whole idea of  using groovy, modifying the hell out of it to make it even more weird and surprising and edge-casy just didn't go well for me.<p>I ended up with generating a _lot_ of very simple jobs for each project and connecting them via triggers instead. It was not very pretty, but it was the most reliable that I could get out of Jenkins.<p>So the thought of integrating Jenkins deeply into you deployments, talking to Kubernetes and sitting in the middle of a huge pile of complexity (Jenkinsfile, Dockerfile, Helm, ...) and magic "that you don't need to worry about" scares the hell out of me.<p>But then again, if you want to do CI/CD with Jenkins that's what you might want, right?
(I would prefer more simple approaches if forced to use Jenkins, though)