I've got two (YAML) pipelines in Azure DevOps, call them B (application build) and D (application deployment). D deploys to Dev, QA, and Test, each in a separate stage. The QA and Test environments are configured in DevOps to require approval before their respective stages in D are executed. The YAML files behind B and D are in the same DevOps project.
The code repository is Azure DevOps Git. B is triggered by completed merges to the
main branch. D is triggered by successful completion of B. In case it matters, the means by which I've configured D to be triggered by successful completion of B is via
So far, this arrangement has worked well.
Now I want B to be triggered by not only feature pushes to
main but by hotfix pushes to any branch named
The difference is that the hotfixes should be deployed only to Test, not to Dev or QA.
Therefore, in D, I want to make execution of the Dev and QA deployment stages conditional on the triggering branch of B having been
main. Is there some way in D to access from B the value that in B can be referenced as
UPDATE: I now learn that the manner I described above for having D triggered by B is itself outmoded, and I should be using something like
- pipeline: sourcePipeline
Is that the correct way to set this up? Do I need to specify the branches here or are they relevant? (I saw one example that simply has
trigger: true, which I'm guessing means that the second pipeline should always be run after the first completes. Perhaps branches are specified above only when B may be triggered by lots of branches but D should run after B only when B was triggered by a subset of those.)
If this is the preferred approach and I switch to it, does the answer to my question become that I can now access B's triggering branch in D through