Define multiple pipelines in single .gitlab-ci.yml MVC
We have some immediate plans to support multi-project pipelines, we also do have ability to trigger pipeline for specific branch through UI.
Would it be an interesting feature to make it possible to define more than one pipeline in
pipelines: default: rspec: script: - gem install rspec - rspec image: build: script: docker build ... push: script: docker push # to container registry publish: script: docker publish when: manual deploy: stages: - staging - production area 1: environment: production # ... area 2: environment: production # ...
With this approach pipeline triggered by git push would be usually a
default pipeline (or simply just the first pipeline defined), but someone would be able to trigger a different pipeline using UI, API or multi-project pipelines. If there is no
pipelines: keyword, everything should be backwards compatible.
Real life example: GitLab QA and gitlab-qa#6 (closed), where we would like to trigger pipeline for GitLab CE or GitLab EE checks depending on project that triggering MR belongs to. This may be also interesting feature for GitLab Omnibus, to build EE / CE images easier.
- Add support for multiple pipelines in different files (#28592) - or do we get this for "free" with include/extends given the above implementation?