Search code examples
continuous-integrationazure-devopsrelease-managementcontinuous-deploymentms-release-management

VSTS: Release Management Binding Release Definition to Multiple Builds or Projects


I am trying to configure release management using VSTS (release hub). I have three different environments; each environment contains two servers.

The Proposed Release pipeline:

Zone1_Dev -> Zone1_QA ->Zone1_PROD (where each one contains two severs)

Talking about the "Zone1_Dev" Environment which contains two servers A and B in the same network.

I have two web applications in my solution, Each Server will host different application:

  • Server A hosts the Client UI (MyClientUI)
  • Server B hosts the Admin UI (MyAdminUI)

enter image description here

So, I created two different Build definitions one for each of the applications, because I want to avoid building the two projects (because they don’t affect each other).

enter image description here

AdminUI definition mapping to MyAdminUI Project:

enter image description here

Then, I Created One Release definition, Because I will move through the release pipeline as following: Zone1_Dev -> Zone1_QA ->Zone1_PROD

enter image description here

The agent is installed on Server A, which will get any of the changes, either in AdminUI or ClientUI. If it is:

  • ClientUI, it will move it to Sever A IIS directory.
  • If AdminUI, the agent will move it to Server B IIS directory.

My Problem, how I can link one release to different build definitions. Because according to my strategy, I have to create two different release definitions with the same configuration but different build definitions. Is there is a way to do that in one release definition since they share the same pipeline?


Solution

  • You can link one release to different build definitions and the release will download the artifacts of all the linked build definitions. enter image description here

    But the release can be only triggered by one definition: enter image description here