A pipeline is a sequence of automated operations that usually represents a part of the software delivery and quality assurance process. It can be seen as a chain of scripts that provide the following additional benefits:
- Operation grouping: Operations are grouped together into stages (also known as gates or quality gates) that introduce a structure into the process and clearly define the rule—if one stage fails, no further stages are executed
- Visibility: All aspects of the process are visualized, which helps in quick failure analysis and promotes team collaboration
- Feedback: Team members learn about problems as soon as they occur, so that they can react quickly
The concept of pipelining is similar for most Continuous Integration tools. However, the naming can differ. In this book, we stick to the Jenkins terminology.