What's the difference between circle-CI yaml files with declarative jenkinsfiles (except from groovy vs yaml)?
a few things: 1) plugins, they routinely break, the API they provide breaks, functionality changes, or the API they rely on also changes. Its a mine field.
2) bootstrapping a _secure_ jenkins server to the point where its able to accept jobs is a monumental faff. (gitlab runner is far far more simple, if you want Uber free, circle CI if you don't mind paying)
3) its just so much _effort_
Jenkins was great compared to the field in 2010/1 (after it forked changed from alfred) ever since it's failed to move in the right direction.
It over complicated what is essentially a cron/at daemon with web gui.
The rise of circle-CI style yaml interface is wonderful. The build script is there in the repo, for all to see. Yes, there is less logic, but that's a good thing. Build, test, deploy, alert if fail.
Gitlab's runner is also good. (just don't use the Saas version, as the only thing it does well is downtime.)