I have seen and used Jenkins Pipeline in the last few years. What I realized is that we should not overuse or not misuse Jenkins pipeline.
When you click on New Item in Jenkins, we see a bunch of job types. If you have more plugins, there could be a lot more. I personally like MultiJob plugin.
Although pipeline can do so many things and it’s tempting to just use pipeline for everything, but I think freestyle project should be used for most of the automation job you may have. Pipeline should be used to connect the dots as the name indicates what it is for.
I have seen pipeline kind of being misused in places and it made the job very complex. Pipeline is there to not only connect the dots of jobs, but to connect dev, QA and ops to carry the code all the way through the departments to production systems. Pipeline is not there just to run bunch of jobs sequentially and that’s what’s I’m seeing people misusing pipeline.
I believe it’s beneficial for any company to move code developed by devs as quickly as possible to production. So Jenkins jobs should be designed in the ways that can run in parallel on multiple slaves. Pipeline is there to support all that.
I could be wrong about what I’m thinking right now and I’m willing to accept it if I’m proven wrong but that’s what I believe right now.