0
votes

Need your inputs as I am new to Azure DevOps. Is it possible to have multiple release pipeline & single build pipeline in Azure? As per the best practices, if within a single solution, there are multiple projects, it's best to have single build pipeline per project & then create corresponding release pipelines. Now information I have received from developers, their application is so integrated that it is very difficult to seperate out projects to their individual solutions. They are suggesting to create multiple release pipelines for windows services & web services for various projects.

is it still possible?

1

1 Answers

0
votes

Is it possible to have multiple release pipeline & single build pipeline in Azure?

The answer is yes.

There is no one-to-one correspondence between the build pipeline and the release pipeline. We can have multiple release pipeline & single build pipeline, or have multiple build pipeline & single release pipeline. It all depends on your needs.

But when we are dealing with these special situations, we need to be very clear about the output of the build pipeline and the generation of artifacts or the input of the release pipeline and the deployment of artifacts, otherwise it is easy to cause confusion.

For your situation, I have create a simple sample to explain the process.

In the build pipeline, I have two projects in my build pipeline. Build the solution (or all projects) by Visual Studio build task, then we need create two artifacts for each projects:

enter image description here

Then publish the build artifacts with different artifact name:

enter image description here

So we get two artifact for one build pipeline:

enter image description here

Last but not least, we create multiple release pipeline (or we could create multiple stages) for windows services & web services. Release pipeline will download two artifacts from the build pipeline, We only need to deploy the artifacts of the corresponding project to the corresponding server instead of deploying all the artifacts to the server.

For example, if we only deploy the artifact from the project1, we just need to select the artifact, like:

The artifact source should be:

$(System.ArtifactsDirectory)\_TestBuild\drop1