upstream-project
Example of project that uses multi-project pipelines.
It consists in:
- a build stage that generates an artifact when running on
master - a set of tests where one of them (
system_tests) runs as a downstream multi-project pipeline- pipeline on
system-testsis triggered usingstrategy:dependbecause a failure should cause the main pipeline to fail - when the main pipeline is triggered against a branch (not
master) it would download the latest artifact frommaster
- pipeline on
- a
deploystage containing a deployment job and an async (multi-project) pipeline that collects some metrics. This pipeline is triggered withoutstrategy:dependbecause we want it not to affect the main pipeline given that it's being deployed.
How to use it
- Run a pipeline on
master. This will run thebuildjob which generates some artifacts. These artifacts are only generate when running the pipeline onmaster - Create a new branch and make a change (optionally create a merge request). When committing the change, note that a
system-test-with-artifactsjob runs, which uses the latest artifacts frommaster(previously generated). You can inspect the job log and see that the content of the artifact matches the one in (1).