We moved to drone after many years of a love/hate, abusive relationship with Jenkins (junkins was the common name).
Drone has this awesome feature where you can have it hook out and receive a pipeline on the fly. We now generate our pipelines in an api and this way we can write the logic in ”something other than groovy” - typescript in our case.
No pipelines required in repo and everything as code without ugly hacks.
Never looked back even once.