Notifications
Announcements
No record found.
Hi, Can you please share some idea about the question mentioned d below
Scenario:
We are having following environments:
We are using three branches & three pipelines:
All package deployments are automated (except UAT & Production package deployment is manually triggered through LCS)
We are also using RSAT for regression testing purposes.
We are following below process for biweekly code migration production release.
So, in cases where we face the step 18. If issues are found & cannot be fixed within permitted timelines, then we must roll back the changes
We face complications due to common element being modified for multiple Change requests. Because of the dependent code rollbacking the changeset is also affecting the changes which should move to production
Question:
What's the difference between steps 17 a 18? Both seem to be saying that you fix changes in Dev and promote them in the usual way. Nevertheless you shouldn't be talking about the environment, because that's obvious - development is done in development environments. What you should focus on are branches.
Let me also add a few other comments:
Thanks a lot Martin.
So as I understood from your guideline, we need to enable version control in our Dev instance and checkin our code into the Dev Branch for building and deploying to Test box. If the checkin is failed and we get some error in the pipeline, then we need to resolve it in Dev and again checkin for another successful build.
And what ever code we need to move to QA or UAT environment, we can do it either from the Dev branch or promote code to another branch. Is that correct?
Can you kindly share any documentation with me where it says how to promote code from one branch to another?
Regards
Yes, of course, it must be enabled in development environments. Source control is used by people producing code - developers in development environments. They save their changes to version control and also get other developers' changes from version control.
Which environment gets code from which branch should be clearly defined by your process; there shouldn't be any "either this or that". You have the same names of branches and environments, therefore I assume you want them to match. Then if you make changes in DEV, you shouldn't deploy DEV branch to UAT. You should merge changes from DEV branch to QA branch and then from QA branch to UAT branch. Then you'll deploy the state of QA branch to the UAT branch.
Regarding documentation about mergine, look at Merge folders and files. You might also be interested in something like Explore how to manage branching strategies with a DevOps mindset in Team Foundation Version Control (TFVC).
About your question regarding rollbacks (you would want to roll back something, but another feature is depending on it) - I don't think that Microsoft can suggest any better approach here. Whenever you are developing many CRs simulataneously, you might end up having dependencies between your features. In this case, if you can't ship feature A, you also can't ship feature B until A is fixed and tested.
If you have constantly issues with this topic, then perhaps you need to plan your development work differently, not having many people working with overlapping processes at the same time.
Thanks so much !
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.
As AI tools become more common, we’re introducing a Responsible AI Use…
We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…
These are the community rock stars!
Stay up to date on forum activity by subscribing.
Martin Dráb 646 Most Valuable Professional
André Arnaud de Cal... 529 Super User 2025 Season 2
Sohaib Cheema 285 User Group Leader