1
votes

We have dozens of code repositories in Azure DevOps, and we're working on a major release strategy.

We have a stable development branch called develop, where code has been tested and peer-reviewed, with features approved by QA. All of our service repositories have a similar structure.

We want to "click a button" and branch from develop across all our repositories to a release candidate branch, that QA can regression test as a complete system... basically a "snapshot" of what we expect is ready for release. We would then build from this code base, release to our QA environment from the corresponding builds, and when certified, deploy to production, then smoke test and merge the release candidate branch into master, then master back into develop.

It doesn't seem like there's an easy way to manage multiple builds or releases in Azure DevOps though. Atlassian's Bamboo supported this concept of "meta builds" but I don't see a way to do this in Azure DevOps. I can't seem to even create a build that is not implicitly linked to a single repository.

How can I automate this and get this workflow working in Azure DevOps?

1
yeah, i dont think you can link build to multiple repos, you can use rest api to create branches in repos. that could work for you. but I'd have no idea how you would check all qa\prod builds are success and make a decision on that. probably with rest api as well4c74356b41
Not having tested this, I wonder if you can use a release pipeline with the repositories as the artifact(s) and then use the stages of the release to build/deploy/test. This might be the one place, push button style you're looking for, but "publishing" build artifacts isn't allowed from release pipelines, so you'll need to figure out how to do it without that mechanism.Josh Gust

1 Answers

2
votes

You can use a Build Task from the Marketplace that queue a new build: the first two found are Trigger Build Task and Build Chain. You defined an overarching build that queues the single ones and does any additional work.