Over the last couple of years, the term pipeline is strongly influenced by DevOps when it comes to software development. Generally, a pipeline stands for the sum of all activities that are required to bring an idea to production.
Specifically for DevOps a pipeline usually represents a Continuous Delivery process that is extended by further automated steps for the monitoring of the operation of an application and the communication between operations and development.
Setup of a pipeline
The first step to set up a pipeline is to analyze all existing processes and to document them (who does what and with what?).
After you've documented your initial pipeline, you can start to ask yourself these questions to improve your pipeline:
- What do we do exactly in the step?
- How well does it work?
- What can we do better?
Based on the answers to these questions you can start to implement improvements by automating steps or by switching to different, better suited tools.
Parts of a pipeline
Basically, each pipeline in software development consists of the following steps:
- Planning of changes for software
- Issue tracking
- Writing code
- Unit tests
- Integration tests
- Functional tests
- On a testing server (staging)
- To production