Building a specific version of a solution in a TFS Team Build project
I have a TFS 2008 TeamBuild set up and I'm building several solutions:
- Solution A
- Solution B
- Solution C
I would like to build solutions A and B with the latest version from the source control, but for the solution C, I would like to build a specific version defined by the TFS label.
Now, I know about the:
/p:GetVersion:LmyLabel
argument for the TeamBuild<PropertyGroup><GetVersion>LmyLabel</GetVersion><PropertyGroup>
element in the .proj file
But that applies to the entire build process and all solutions.
I need it just for one of my solutions, ideally in the SolutionToBuild
element.
Something like this:
<SolutionToBuild clude="$(BuildProjectFolderPath)/Soluti开发者_如何学运维onA.sln">
<Targets></Targets>
<Properties></Properties>
</SolutionToBuild>
<SolutionToBuild clude="$(BuildProjectFolderPath)/SolutionB.sln">
<Targets></Targets>
<Properties></Properties>
</SolutionToBuild>
<SolutionToBuild clude="$(BuildProjectFolderPath)/SolutionC.sln">
<Targets></Targets>
<Properties>GetVersion=LmyLabel</Properties>
</SolutionToBuild>
Any ideas?
When you are using TFS 2010, you can build from a shelveset. This means that the system first gets all the latest version of the files and then unshelves the shelveset.
However not ideal, you could play with this by creating a workspace based on the version you want to build for solution C. Then create shelveset that contains the changed files for solution A and B.
Another option would be to have 3 different build definitions....
精彩评论