Update Pipelines documentation
Description
Pipelines are documented in https://docs.gitlab.com/ee/ci/pipelines.html. The example pipeline is a bit confusing/uncommon and should be updated. The CI/CD Vision includes a section on Pipelines which should be integrated into the documentation instead.
There are three types of pipelines we care about that often use the single shorthand of "pipeline". We often talk about them as if each one is "the" pipeline, but really, they're just pieces of a single, comprehensive pipeline.
- CI Pipeline: Build and test stages defined in
.gitlab-ci.yml
- Deploy Pipeline: Deploy stage(s) defined in
.gitlab-ci.yml
The flow of deploying code to servers through various stages: e.g. development to staging to production- Project Pipeline: Cross-project CI dependencies, particularly for micro-services, but also for complicated build dependencies: e.g. api -> front-end, ce/ee -> omnibus.
Proposal
- The example pipeline image should be updated to remove the Release stage, which is uncommon and probably adds more confusion than value.
- Consider drawing a box around the Build and Test stages to define CI Pipeline and a box around Staging and Production to define Deploy Pipeline.
- Find some way to represent cross-project pipelines, although it's difficult since we have no UI to represent this currently.