Live data from Hacker News

Jenkins pipelines as YAML

jenkins.io

11–20 of 76 posts

Re: Jenkins pipelines as YAML

#12
This is just lowering themselves to the same level as every other CI tool. For sure YAML is an easier barrier to entry to overcome, but it's also a low ceiling.

YAML doesn't let you transcribe logic easily compared to any programming language, and build logic always tends to go up. Programming languages also allows you to create abstraction to remove some of the complexity from the users.

Re: Jenkins pipelines as YAML

#14
post #8
post #6

This would be great if you didn't have to use scripted pipelines for so much stuff. Declarative pipeline isn't there yet.

From what I can tell, this creates a mapping of YAML to Declarative pipeline syntax, so it's unlikely to improve on that.

Yeah that's what I meant, though I guess it was ambiguous.

Re: Jenkins pipelines as YAML

#15
post #12

This is just lowering themselves to the same level as every other CI tool. For sure YAML is an easier barrier to entry to overcome, but it's also a low ceiling. YAML doesn't let you transcribe logic easily compared to any programming language, and build logic always tends to go up. Programming languages also allows you to create abstraction to remove some of the complexity from the users.

And then you end up with something like:

https://docs.saltstack.com/en/latest/topics/jinja/index.html

Re: Jenkins pipelines as YAML

#16
I am so grateful for this. As a non-Java person, using the Groovy pipelines was incredibly painful to incrementally fix on the server. Nothing like pushing 20 commits in a row and forcing a build, only to find each time that an odd syntax error.

Re: Jenkins pipelines as YAML

#17
post #16

I am so grateful for this. As a non-Java person, using the Groovy pipelines was incredibly painful to incrementally fix on the server. Nothing like pushing 20 commits in a row and forcing a build, only to find each time that an odd syntax error.

Still have to do that to build the thing in the first place. I do not understand at all how every CI solution out there makes it entirely impossible to trivially test a pipeline. Here we are building something whose entire point is that it can run wherever, but the one place it can't run is my local machine? It's like they are doing it out of spite.

Re: Jenkins pipelines as YAML

#18
post #12

This is just lowering themselves to the same level as every other CI tool. For sure YAML is an easier barrier to entry to overcome, but it's also a low ceiling. YAML doesn't let you transcribe logic easily compared to any programming language, and build logic always tends to go up. Programming languages also allows you to create abstraction to remove some of the complexity from the users.

I've been thinking this recently as well. Some problem spaces are definitely very amenable to being transformed into a purely declarative language like YAML but, while builds look like that at first glance, I find that turing-complete-code customization is required just a little too often for it to be worthwhile.

YAML is a way better way of doing it than the current jenkins way though.

Re: Jenkins pipelines as YAML

#19
post #12

This is just lowering themselves to the same level as every other CI tool. For sure YAML is an easier barrier to entry to overcome, but it's also a low ceiling. YAML doesn't let you transcribe logic easily compared to any programming language, and build logic always tends to go up. Programming languages also allows you to create abstraction to remove some of the complexity from the users.

I've been thinking this recently as well. Some problem spaces are definitely very amenable to being transformed into a purely declarative language like YAML but, while builds look like that at first glance, I find that turing-complete-code customization is required just a little too often for it to be worthwhile. YAML is a way better way of doing it than the current jenkins way though.

Yes: https://news.ycombinator.com/item?id=17529747

Re: Jenkins pipelines as YAML

#20
post #16

I am so grateful for this. As a non-Java person, using the Groovy pipelines was incredibly painful to incrementally fix on the server. Nothing like pushing 20 commits in a row and forcing a build, only to find each time that an odd syntax error.

I had the same problem. Luckily jenkins provides an API which you can validate your jenkinsfile. I setup the deploy to always lint before attempting to run.

https://jenkins.io/doc/book/pipeline/development/#linter

Post reply on HN