I think the DSL approach really comes from people liking the simplicity of setting things up. Jenkins allows you to write a job script in Groovy and bring in arbitrary functions, and it feels much more arduous to get something working than say, Gitlab CI. I wrote a pipeline in my current role that span up a database with Docker in the background to run certain tests for a web application. When we ported that from Jenkins to Gitlab, the pipeline was significantly less complex because it was easier to express what was needed in a declarative way.
Where the DSLs fall down is when you need to do something that’s difficult to express, but for the most part if that’s necessary you can always write a script in whatever language you like and call it, which is a worthwhile approach anyway since it’s good to be able to debug your pipelines locally.
2 comments
[ 4.5 ms ] story [ 11.6 ms ] threadWhere the DSLs fall down is when you need to do something that’s difficult to express, but for the most part if that’s necessary you can always write a script in whatever language you like and call it, which is a worthwhile approach anyway since it’s good to be able to debug your pipelines locally.