What is downstream pipeline

Can someone give definition of downstream pipeline?

I am newby at building CICD Pipelines. I came to this piece of code.

  trigger:
    include: '.gitlab-file.yml'

When I researched it, I found this definition for trigger: " Use trigger to define a downstream pipeline trigger. When GitLab starts a trigger job, a downstream pipeline is created"

It still doesn’t explain what downstream pipeline is. I couldn’t find anything in GitLab’s docs on downstream pipeline.:confused:

Can someone define what that is and give an example if possible?

Thank you in advance :smiley:

So, I think the general idea is that your pipeline might start (trigger) a second pipeline, and that second pipeline is known as the downstream pipeline.

Hi,

can you share the URL where you found the configuration snippet? Some additional context may be helpful.

trigger in combination with include is used for parent-child pipelines for example. The included yml file provides the child pipeline definition.

This is similar to multi-project pipelines, where a “downstream” pipeline can be a child pipeline in another project.

.gitlab-ci.yml

parent-job-which-triggers:
  trigger:
    include: .gitlab/ci/trigger-child-pipeline.yml

.gitlab/ci/trigger-child-pipeline.yml

child-pipeline-job-getting-triggered:
    script:
        - echo "Child pipeline job got triggered 🦊"

A quick example to demo the functionality: Merge branch 'parent-child-pipeline-triggers' into 'main' (773ab46c) · Commits · everyonecancontribute / dev / Parent Child Pipeline Simple · GitLab & Pipeline · everyonecancontribute / dev / Parent Child Pipeline Simple · GitLab

image

Cheers,
Michael