1
votes

I've got the following scenario:

updates branch develop -> triggers DEV-CI -> triggers Release X
updates branch master -> triggers QA-CI -> triggers Release X
updates branch release -> triggers Prod-CI -> triggers Release X

Inside "Release X" I added all 3 artifacts (dev, qa and prod) and 3 separate stages (dev, qa and prod). My goal was to publish to DEV if the branch develop is updated, to QA if master and so on, but release pipeline doesn't start because it requires all 3 artifacts to be available.

It only works if I only have 1-to-1, like this:

enter image description here

If I add the other artifacts, even after adding the artifact filters in the pre-deployment conditions for each specific artifact, the release won't start until all 3 are available.

Is it possible to do what I'm trying here or will I have to create one release per CI?

Thanks!

EDIT

After Li's answer I tried again, but it didn't work. Both environments were triggered, even though only QA CI had run.

This was the result: enter image description here

Here the QA release is downloading both artifacts, even though there's a specific artifact filter:

enter image description here

Here's the setup that generated that result:

enter image description here

enter image description here

enter image description here

enter image description here

2

2 Answers

0
votes

I tested the following settings. Enable Continuous deployment trigger for each build artifact, and set artifact filter for each stage.

enter image description here

enter image description here

When the dev build runs successfully, the Dev stage is triggered normally.

enter image description here

enter image description here

0
votes

I had tested recently and these artifact filters are tightly coupled with a repository branch which means that if you have 2 artifacts from the same branch then it will trigger all stages where you have that branch reference in artifact filteration.

You must use GATES to do such artifact filteration.