Azure Integration Release Management best practices

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.

Azure Integration Release Management best practices

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.

Azure Integration Release Management best practices for source code branches

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:

Azure Integration Release Management best practices release pipelines

Build-Main: Manual build for Main-branch.

Release Build: Manual build for Release-branch.

Release pipelines

Two different Release pipelines are available:

Azure Integration Release Management best practices deployment pipeline

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.

Azure Integration Release Management best practices subscription management

Published by Poojith Jain

Poojith Jain is an Azure Architect with good experience with software design and development. He has a thorough knowledge of Azure Integration and he is passionate about solving complex and challenging problems in the field of Azure

2 thoughts on “Azure Integration Release Management best practices

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: