This blog describe the best practises and guidelines for using Azure DevOps for Azure Integration development and release management.
Introduction
This blog describe the best practises and guidelines for using Azure DevOps for Azure Integration development and release management.

Figure 1: High Level view of AIS Release management
Azure DevOps / Release management
Branches
For releasing software to other environments, three different branches are used.

Figure 2: Branching strategy for AIS
Dev: The dev branch is used by developers to check-in all pending changes in Azure integration solutions.
Main: The Main branch is used by the release manager to merge all changes from the Dev-branch once these changes are tested and approved by the Tester. The artifacts from this branch will always be used to deploy the solution to Test, Acceptance and Production environment.
Release: The release branch is created by the release manager once Azure integration solutions for the current iteration are approved. The latest version of the release-branches can be used to apply hotfixes on the current release.
Check-in Policy in DevOps: Every check-in (Change set) must be linked to a related Task or Issue in the DevOps
Naming convention for Release Branch
Release Branches should be named with the combination Business Release Number and date of the release in the format of YYYYMMDD
Guidelines to Merge the Code
The following merging guidelines should be followed during code merge
Manual Merge of code changes from Release to Dev
The merging of HotFix changes is merged manually. The HotFix engineer should communicate the fixed to the DevLead of the project. The change information should be clearly communicated with information such as : The actual change, DevOps issue ID, the changeset number. The Hotfix engineer should ensure that he/she receives confirmation from DevLead that the change has been merged. The DevLead of the project should check-in the change with the correct issue id from the DevOps.
Manual Merge of code changes from Dev to Main
The merging of Dev changes is merged to Main. The Release manager of the project should merge the changes and link all the changesets and DevOps Tasks/Issues, which are part of the merge. This would help to create a Technical release document with all the features/issues which are included in the release.
Build pipelines
Two different build pipelines are available:

Build-Main: Manual build for Main-branch.
Release Build: Manual build for Release-branch.
Release pipelines
Two different Release pipelines are available:

Release-Main: Release pipeline for Main-branch.
Release Hotfix: Release pipeline for Release(Hotfix)-branch.
Resource Group management
Resource group management. The following would be the recommendation for resource group management for Azure integration.

2 thoughts on “Azure Integration Release Management best practices”