Ci changes refactor
- Ci::Commit receives context: ref, action
- One Ci::Commit describes a Pipeline
- Pipeline is a ordered group of builds
- Pipelines have a separate view
- Pipeline can be triggered from UI (the New)
- We test MR against Pipeline
- Later we change
Trigger -> TriggerRequest -> Build
toTrigger -> Pipeline
- Then we add additional Triggers (currently project can be triggered on Token/API), we add trigger on upstream project, on scheduled trigger (cron job?)
- We add a Pipeline Hook that will be triggered on Pipeline status change
- Some time in future we add Pipelines for Merge Requests
- We extend notifications to use
Pipeline Hook
to send summary on pipeline changes
During all this:
Ci::Commit -> Pipeline
Ci::Build -> Build
CommitStatus -> Job
GenericCommitStatus -> ExternalJob
This is draft and reflects only first 6 points. The code will be refactored and improved.
This is to solve https://gitlab.com/gitlab-org/gitlab-ce/issues/14149.
cc @grzesiek