This post is intended to be a quick personal reference for Jenkins Pipelines so I don’t forget things I learned or lose links to valuable info. Feel free to recommend additional resources!
Today, a few of my LexisNexis coworkers and I went to the CloudBees office down the street (since we are both located at NCSU Centennial Campus) for a Jenkins Pipeline workshop. I’ve used Jenkins for a few years now, and I handle my team’s freestyle projects for running .NET/SpecFlow/Selenium automated tests, but the declarative pipeline style for Jenkins jobs is new to me. (I feel so behind the times.) I’m glad I attended the workshop because I learned a few cool things.
Below are links to helpful resources for learning about Jenkins Pipelines:
- The official Jenkins Pipeline Tutorials
- The CloudBees workshop GitHub project: Introduction to Declarative Pipelines
- CloudBees Blog: Top 10 Best Practices for Jenkins Pipeline Plugin
Pipelines are definitely a major improvement over freestyle projects:
- They make it much easier to chain tasks together.
- They are written in code (a Groovy-like DSL) and can support advanced logic.
- They can be managed by source control (like Git).
- They keep running even when the Jenkins master goes down.
- Stages can be paused to wait for user input.
- The DSL can be extended for custom steps.
I can’t wait to rewrite my team’s jobs!