0
votes

Let's say I have something a release pipeline like this (image lifted from a similar question on Microsoft Dev forums):

enter image description here

Both master and hotfix builds trigger the pipeline, but I want master to only trigger the top row and hotfix to only trigger the bottom row. Microsoft responded to that post and said have two completely separate pipelines, one for master and one for hotfix. I want them both on a single screen because they are inter-related.

I tried artifact filters, but that doesn't have that behavior which the OP on the Microsoft forums complained about lol.

Any idea on how to do that in a single pipeline? I did set it to only drop the master artifacts on the top row and only the hotfix artifacts on the bottom row, but would like it to not even deploy if the corresponding artifact hasn't changed.

EDIT: I did mention the image was lifted from a similar post on the Microsoft forum :). I didn't feel like VPNing in to get an actual screenshot of my pipeline when it is identical conceptually.

Let's assume that the top row is APP TIER and the bottom row is WEB TIER. I want a single "control panel" for deployments, but it doesn't make sense to deploy the WEB TIER if only the APP TIER has changed and vice versa.

I'd probably prefer the unified pipeline and deploy everything over two completely separate ones that work as I want for management headaches.

P.S. we're not a CD shop, more like 2 week sprints.

I'm kind of envisioning I'd need to save the last release numbers somewhere and write a function to check if they have changed, etc.

1
How are the top and bottom rows interrelated? It looks like you want changes in the master build to trigger a release to a development environment and changes in the hotfix build to release to a staging environment. I'd place them in separate pipelines but there's probably more to it than I see.Narthring
why not just set a filter on artifact?4c74356b41
@4c74356b41 Artifact filters don't work like that. They can't detect new versions. See Microsofts answer here: developercommunity.visualstudio.com/content/problem/262471/… That was the reason for my question, to see if anybody had a workaroundSledgeHammer
define cant detect new version, they trigger on new artifacts just fine4c74356b41
@4c74356b41 if you check that link, the poster has the same issue I'm saying. If I only do a APP TIER build, the pipeline is triggered, but it deploys the APP TIER row and the WEB TIER row. I want an APP TIER build to only trigger the APP TIER row and for a WEB TIER to only trigger the WEB TIER row. I have set up the artifact filter, but as explained in that link, they don't work that way.SledgeHammer

1 Answers

0
votes

Is it possible for two artifacts to trigger a pipeline, but only part of it?

For this issue ,I am afraid that it is currently not supported in azure devops. If you want different artifacts to trigger the deployment of different rows of stages respectively, it is better to create two pipelines, set the artifact in each pipeline to trigger the deployment on the required stages.

If you think that two artifacts only trigger a part of the pipeline is necessary, you could submit a feature request in our Develop Community site. Our PM and product team will kindly review your suggestion.