A pipeline describes how things need to be executed in order to obtain the expected result. In CDS, a pipeline belongs to a single project and can be used with the applications of that project.
A pipeline is structured in sequential stages containing one or multiple concurrent jobs.
CDS pipelines can be parametrized. This allows you to reuse the same pipeline when you have similar workloads. For example, you could use the same pipeline to deploy in your pre-production environment first and then to your production environment.
A stage is a set of jobs that will be run in parallel. Stages are executed sequentially, if the previous stage is successful.
Let’s take a real-life use case: the pipeline that built CDS. This pipeline has four stages:
Most tasks are executed in parallel, whenever possible. This results in very fast feedback, so we will quickly know if the compilation is OK or not.
Usually in CDS a build pipeline is structured of the following stages:
A Stage is a set of jobs that will be run in parallel. Stages are executed sequentially, if the previous stage is successful.
You can define trigger conditions on a stage, to enable/disable it under given conditions. For instance, you may want to run the Compile Stage and Analysis & Unit Tests stage on all branches but dedicate the Packaging Stage run on master
and develop
branches only.