TFS-与分支的持续集成

阿维·肯杰(Avi Kenjale)

这是我的情况(TFS在线-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网站。直到出现以下情况,这才是完美的:

  • 我需要为main和Dev分支配置相同/仅测试项目
  • 我需要具有分支更改特定的版本,所以.sln我希望构建而不是文件,应考虑.csproj分支。
  • 我可以在每个构建的“触发”选项卡下进行更改-连续构建-添加具有分支特定文件夹的过滤器
  • 在这种情况下,我的dev分支更改将主要执行与构建相关的操作并执行测试,而当我最终将更改合并到分支时,与其相关的构建将以相同的测试用例执行。
  • 我试着解决这个问题,但是,构建被.csproj解决方案选项弄得一团糟它找不到测试程序集-**\*test*.dll

简而言之,我正在寻找设置TFS(目前在线),其中将有多个带有单个测试项目的分支(dev,main,staging,qa)并配置构建,并在特定分支更改时触发。

疑问:我们可以在.csproj级别上创建分支还是只需要在.sln级别上分支

如果我得到任何参考文档/视频,那就太好了!

编码义

疑问:我们可以在.csproj级别创建分支还是仅需要在.sln级别创建分支?

您可以在所需的任何级别进行分支:解决方案级别,项目级别,文件夹级别和文件级别。

我有一个设置,其中我们有多个解决方案,并且有多个项目被一个解决方案使用或被多个项目共享。如果它们由多个解决方案共享,并且您在使用一个解决方案时对项目进行了更改,则可能会破坏其他解决方案。因此,对于这种情况,我有一个解决方案,该解决方案具有一个CI构建,该CI构建将构建所有项目以确保没有损坏。

请记住,当您有许多分支机构时,合并会变得更加复杂。我建议您从一个简单的2个分支策略开始:Dev和Main分支。如果这对您不起作用,则创建更多分支。每天的开发工作都可以在Dev分支上完成,当您准备就绪时,可以直接进入Main分支。但是在合并到Main之前,请确保从Main分支合并到Dev,然后从Dev合并到Main:始终这样做是一种好习惯。

环境(开发,质量保证,产品)和分支之间存在差异。关系不必为1:1。因此,您可以有2个分支(Dev,Main),并且仍然有许多不同的环境。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章