我们的团队采用敏捷方法论,在产品的不同部分拥有专门的团队。目前,我们在一个团队项目中拥有所有内容,但我们希望重组所有内容,以便我们可以应用良好的功能性连续构建,就像现在一样,我们有一个用于后台的构建定义和一个用于我们的网站的构建定义。问题是,如果我们在团队项目中进行任何更改,即使它是一个文本文件,所有内容都会进入队列,这给我们带来了大问题。所以,这就是我们解决问题的方法:
# = Project Collection, > = Team Project, | = VS project
# PRODUCT
> Core
| CoreProject
> Integrations
| IntegrationsProject ( makes use of CoreProject )
> Backoffice
| BackofficeProject ( makes use of CoreProject and IntegrationsProduct)
> WebSite
| WebsiteProject ( makes use of CoreProject and IntegrationsProduct)
这将使我们能够: - 减少队列中的构建数量 - 创建集成分支,不会经常更改 - 限制专业团队对集成和核心的访问(即使我知道这可以通过其他方式完成)
问题:
- 这是否是满足我们要求的最佳解决方案?如果没有,什么
可不可能是?
- 假设,在 WebsiteProject 解决方案中工作,并且该解决方案中有来自不同团队项目的项目,是否可以 checkin 项目?
谢谢!
最佳答案
我建议有one big team project ,并且版本控制中只有 4 个根文件夹,以及 4 个构建定义,其中工作空间映射到 4 个根文件夹中的每一个。只要您正确映射了构建工作区,将文件 checkin 一个文件夹就不会触发其他文件夹的构建。
这还允许您根据需要对每个根文件夹设置单独的安全权限。
关于用于敏捷开发的 TFS 团队项目结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485262/