On Thursday, February 12, 2015 at 7:27:19 PM UTC-5, David Karr wrote: > > I was looking for a short statement that explains the difference between > the workflow plugin and the dsl plugin >
It is unclear which plugin you are comparing Workflow to. If the Job DSL plugin, then Baptiste is correct: these are complementary. But perhaps you meant the Build Flow DSL, which is quite different—a common source of confusion! This was actually the main “prior art” we considered while designing Workflow, and they have many similarities: both involve orchestrating Jenkins build activities from a Groovy script run in-VM on the master, and the `stage` step in Workflow was even inspired by a similar Build Flow primitive. I would say that there are two key distinctions: · Build Flow scripts cannot directly run any build steps. They rely on you having separate (freestyle, etc.) projects with traditional configuration, and just orchestrate those builds with some “glue” logic. Workflow also has a `build` step for this purpose (which needs to be fleshed out considerably), but its main design goal is letting you run build steps directly from the flow, so even a multistage pipeline can be described completely in one text file. · Build Flow runs Groovy code synchronously in a Java thread. Thus, if Jenkins is restarted, your build is killed, just like a freestyle build would be. Workflow uses a custom-built (CPS) interpreter for Groovy that allows the flow and (in most cases) its individual steps to run piecemeal and asynchronously, surviving Jenkins restarts. In particular, the `sh` and `bat` steps are built using a fresh system (the Durable Task plugin) to allow them to survive Jenkins restarts and even slave channel reconnections, which is simply impossible for traditional Jenkins projects. I would suggest you look over some of the presentations linked from the Workflow home page which give some context like this. -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/3e5b5071-84e7-48d9-8316-3da4025192e7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
