I've used various CI/CD server/services in the past. As with so many tooling questions this is one of those 'depends' situations.
Jenkins is okay but you have to really stay on top of the build environment (not just a specified in Jenkins itself but also the OS and tooling on the Jenkins server and build machines).
I'm in the process of building a new CI/CD pipeline and this time I'm using Concourse. This is a good fit because the target system is largely containerised (not that Concourse can't be used elsewhere, it can, but it's just a coincidental fit). Additionally, Concourse addresses the problem identified by Cpoll as, unlike Jenkins et al, Concourse pipeline, build plans, and tasks are 100% available for version control.
That all said, I can't comment on Concourse's foibles as I've not used it long enough to uncover them :)
Jenkins is okay but you have to really stay on top of the build environment (not just a specified in Jenkins itself but also the OS and tooling on the Jenkins server and build machines).
I'm in the process of building a new CI/CD pipeline and this time I'm using Concourse. This is a good fit because the target system is largely containerised (not that Concourse can't be used elsewhere, it can, but it's just a coincidental fit). Additionally, Concourse addresses the problem identified by Cpoll as, unlike Jenkins et al, Concourse pipeline, build plans, and tasks are 100% available for version control.
That all said, I can't comment on Concourse's foibles as I've not used it long enough to uncover them :)