以下是我的方案( TFS Online - username.visualstudio.com/repo):
我有以下文件夹结构
--$
--TimeManagement (.sln file at this level)
--WebApp (Main branch) (.csproj at this level)
--WebApp-Dev (Dev Branch) (.csproj at this level)
--WebApp-QA (QA Branch) (.csproj at this level)
--TestTimeManagement (Test Project)
有了这个,我创建了一个默认设置的构建,我的发布选项将成功构建推送到azure网站。这个工作非常完美,直到我遇到以下情况:
.sln
分支,而不是.csproj
文件。 .csproj
混淆了解决方案选项。它无法找到测试装配 - **\*test*.dll
简单来说,我正在寻找设置TFS(在线,此时),其中将有多个分支(dev,main,staging,qa)与单个测试项目和配置构建,触发特定分支更改。
怀疑:我们可以在
.csproj
级别创建分支,还是只需要.sln
级别的分支?
如果我获得任何参考文档/视频,那就太棒了!
答案 0 :(得分:1)
怀疑:我们可以在.csproj级别创建分支,还是只需要在.sln级别进行分支?
您可以在任何级别进行分支:解决方案级别,项目级别,文件夹级别和文件级别。
我有一个设置,我们有多个解决方案,有多个项目由一个解决方案使用或由多个共享。如果它们由多个解决方案共享,并且您在处理一个解决方案时对项目进行了更改,则可能会破坏其他解决方案。因此,对于这种情况,我有一个master解决方案,它具有构建所有项目的CI构建,以确保没有任何内容被破坏。
请记住,当你有很多分支时,合并变得更加复杂。我建议你从一个简单的2分支策略开始:Dev和Main分支。如果这对您不起作用,则创建更多分支。每天开发都可以在Dev分支上完成,当你准备就绪时,你可以切断并转到Main分支。但在合并到Main之前,请确保从Main分支合并到Dev,然后从Dev合并到Dev:总是这样做是一个好习惯。
环境(Dev,QA,Prod)和分支之间存在差异。这种关系不必是1:1。所以你可以拥有2个分支(Dev,Main),但仍有许多不同的环境。