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.

1 Like

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

1 Like

Thank you!

1 Like