What is the best way to maintain a certain build order/sequence in Azure DevOps? I cannot find any documentation discussing this.
Example: I have Pipeline A, B, C, and D. Note that each pipeline can be in different team projects.
Pipeline A and B must be ran before Pipeline C, since Pipeline C consumes output from A and B. A and B CAN be built in parallel but both must be complete before C runs. Pipeline D needs the output from Pipeline C, so Pipeline D can only begin once C is done.
I am thinking of using Stages to accomplish this.. for example Stage 1: Call Azure DevOps REST API to kick off Pipelines A and B and wait for their completion. Stage 2: Calls the API to build pipeline C Stage 3: Call rest API for pipeline D or just run the steps for pipeline D here (if it's the last in the build order).
Is there a better way to do this? I am wondering if pipeline resources can accomplish this but I don't think they maintain build order...I need outputs from previous pipelines but their run times can vary.