0

I am using TFS on-premise, but this question pertains to the team services release management online too.

I am working on a new setup to use the new Release Management tools. I have a Main line in TFS source control, branched into a Dev branch. All work is done and checked in on the Dev branch. We manually merge code from the Dev branch back to the Main branch. When we do this, we have a auto build in TFS to download the Main branch repository and do a build of the source. I have a release management environment setup to take this build of the Main and deploy it to a staging environment, and then to take the same bits and deploy to a production environment.

My question pertains to the process of releases and bug fixes. Normally we would use a release branch per release, and then apply bug fixes to that code and release from that branch. I don't know the best practices for handling this situation in Release Management. I still want to use the RM configuration I have setup to perform the release of these bug fixes, because I need to put the bits through the same QA process and have auditing/records, and also use it to deploy the bug fix release to staging/production.

I can't find any guidance on MS documentation about how to best do this through Release Management.

Eric
  • 61
  • 6
  • Did you check the ALM Rangers guidance? https://blogs.msdn.microsoft.com/visualstudioalmrangers/2016/07/18/the-new-branching-guidance-for-team-foundation-server-team-services-and-others/ – ds19 Sep 12 '16 at 12:40
  • Yes, and while it's great documentation, they unfortunately don't cover much of Release Management tooling, nor the questions that I have. – Eric Sep 12 '16 at 15:33
  • Do you refer to this thread: http://stackoverflow.com/questions/134778/release-management-best-practice – starian chen-MSFT Sep 15 '16 at 06:55
  • Again, this question is all about using the Team Service Release Management tooling, not about a branch/release strategy in general. – Eric Sep 30 '16 at 02:39

1 Answers1

0

You could create a new release definition to deploy application to production environment. For pervious release definition, it is used to deploy application to staging environment to do test and verify.

So, if bugs be fixed, check into Dev branch and merge into Main branch to trigger build and release (deploy to staging environment), after a major release is ok and approved, trigger another release manually to deploy to production environment.

starian chen-MSFT
  • 33,174
  • 2
  • 29
  • 53