Reputation: 17373
We have a TFS structure below. I will try my best to give scenario and what I'm trying to achieve:
Source
|- Solution 1
|- Solution 2
|- files.....
Note: Solution 2 includes both Solution 1 and 2. This means if we build Solution 2 it builds both 1 and 2.
Build Definition:
|- Build Definition Dev (Builds Solution 2)
|- Build Definition QAT (builds solution 2)
|- etc...
Now, the solution 1 is going live this week and we need to label it and branch. Whereas Solution 2 will go live in few months time.
Question:
What is the best way to branch and Label Solution 1 so that we can
a. Always deploy the solution 1 branched for specific environment.
Do we need to create separate Build Definition?
Is there way to configure Build Definition so that it builds and deployes the branched version?
Idea is to be able to deploy the branched version for support and bug fixes and be able to deploy it to given environment. At the same time keep Solution 2 as it is.
Finally merge both Solution 2 and branched version.
Thank you.
Upvotes: 1
Views: 721
Reputation: 14164
Source
so you will have each version in a dedicated branch. If there's no project sharing, separate the solutions into seperated branches.Option 1:
Branch 1.0
|- Source
|- Solution 1
|- Solution 2
Branch 2.0
|- Source
|- Solution 1
|- Solution 2
Option 2:
Branch 1.0
|- Source
|- Solution 1
Branch 2.0
|- Source
|- Solution 2
2. Yes. There's no reason not to.
3. Yes. This is a big one. There are many ways to achieve that. Community TFS Build Extensions and VS Lab Management can help you get started.
Upvotes: 1