Jas*_*ams 12 mapping tfs branch build-server
我们有一个TFS 2008项目,有两个分支("Main"和"NewFeature").每个都是源代码的完整,独立的"副本"(变体).
通过更改工作空间映射,我们可以将任一变体映射到我们的本地PC上,并且一直在使用两个分支都没有问题.
但是,如果我设置映射以将我们的构建服务器切换到NewFeature分支(在构建服务器方面,它应该简单地交换NewFeature源代码而不更改任何其他内容)我得到错误:
There is no working folder mapping for $/Main/Product.sln
Run Code Online (Sandbox Code Playgroud)
即,当它从NewFeature分支构建时,仍然会在Main分支中查找某些内容,即使此分支的源代码中没有任何引用.它似乎缓存了一些对Main的引用?!
我做了一个完全干净的构建(从服务器删除了构建文件夹并使用/ p:ForceGet = true运行构建以确保映射被刷新到服务器,并且服务器上没有可能缓存的文件工作区绑定),但这没有帮助.
有什么建议?
验证:
/编辑/
但请注意,$/Main和$/Branches/Feature在树层次结构中处于同一级别并不重要.构建服务器上的本地路径也不应该重要.*所有重要的是每个分支下面的内容.如果内容在内部一致,则所有现有构建脚本都应该无需修改即可运行.
有关我如何将所有内容组合在一起的具体示例,请参阅我过去的答案,例如:
我的方式不是唯一的方法,但我可以证明它比我多年来遇到的所有其他变化更好:)
*坦率地说,尝试对Team Build进行微观管理会比建议的MSBuild脚本重组更加痛苦.为了可靠性,您必须将tfsbuildservice.exe.config自定义项置于某个版本控制之下...如果您拥有> 1个构建服务器(或将来可能),那么您必须考虑更改部署策略...您最终需要用于管理SCM流程的元SCM流程!
小智 9
我在TFS 2010中从分支运行构建时也遇到此问题.TFS报告"$/Main/Product.sln没有工作文件夹映射"解决方案原来是编辑构建定义,如下所示(我正在使用"默认模板"构建过程模板 - 我没有尝试使用自定义模板:
| 归档时间: |
|
| 查看次数: |
20038 次 |
| 最近记录: |