Jenkins is neat if you use a shared repo. Yes, the functions are weird (a file is a function, and the function inside is named call.), but having a default list of *Pipeline.Jenksfile (ingestionPipeline, modelPipeline, parserPipeline, dataProductPipeline, etc - data engineer here) is so nice. You can also specify which branch of that repo you are running as well!
It’s less neat if you previously had to migrate off of a Jenkins that had everything running as root, to a Jenkins that doesn’t.
At least if you fix a bug for a function that’s used in multiple pipelines, it’s fixed everywhere. Or if you fix a bug in a single pipeline, it’s fixed for multiple repos.
edit: the Groovy language isn’t great though. Not being able to pass kwargs in my own order, unclear how to define the pipeline (somewhat lacking docs, grabbing working examples from SO). I wish something like Python would’ve been used instead.
Actions are fine for very simple repos.
Gitlab CI is a dream, definitely my preference at work.
Jenkins can be okay or horrible depending on the setup.
Jenkins is neat if you use a shared repo. Yes, the functions are weird (a file is a function, and the function inside is named
call
.), but having a default list of*Pipeline.Jenksfile
(ingestionPipeline, modelPipeline, parserPipeline, dataProductPipeline, etc - data engineer here) is so nice. You can also specify which branch of that repo you are running as well!It’s less neat if you previously had to migrate off of a Jenkins that had everything running as root, to a Jenkins that doesn’t.
At least if you fix a bug for a function that’s used in multiple pipelines, it’s fixed everywhere. Or if you fix a bug in a single pipeline, it’s fixed for multiple repos.
edit: the Groovy language isn’t great though. Not being able to pass kwargs in my own order, unclear how to define the pipeline (somewhat lacking docs, grabbing working examples from SO). I wish something like Python would’ve been used instead.
What makes GitLab CI better than GitHub Actions in your eyes?
I’ve not extensively used either, and GitLab CI has been a while, but they felt pretty similar. I had put them into the same category.
We use Jenkins at work. I administrate it. For the most part, I find it horrendous.