gpt4 book ai didi

c# - TFS - 与分支的持续集成

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:29 25 4
gpt4 key购买 nike

这是我的场景(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 网站。在我遇到以下情况之前,这很完美:

  • 我需要为主要和开发分支配置相同/唯一的测试项目
  • 我需要有分支更改特定构建,所以我希望构建应该考虑分支的 .csproj 而不是 .sln 文件。
  • 我可以在每个构建的触发选项卡下进行更改 - 连续构建 - 添加具有分支特定文件夹的过滤器
  • 在这种情况下,我的 dev 分支更改将主要执行构建相关并执行测试 & 当我最终将我的更改合并到 ma​​in 分支时,与其相关的构建将执行具有相同的测试用例。
  • 我试图解决这个问题,但是,构建与 .csproj 解决方案选项混淆了。找不到测试程序集 - **\*test*.dll

简而言之,我正在寻找设置 TFS(目前在线),其中将有多个分支(开发、主要、暂存、qa),具有单个测试项目和配置构建,触发特定分支更改。

Doubt: Can we create branch at .csproj level or only need branching at .sln level?

如果我能得到任何引用文档/视频,那就太好了!

最佳答案

Doubt: Can we create branch at .csproj level or only need branching at .sln level?

您可以在任何级别分支:解决方案级别、项目级别、文件夹级别和文件级别。

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

请记住,当您有很多分支时,合并会变得更加复杂。我建议您从一个简单的 2 分支策略开始:Dev 和 Main 分支。如果这对您不起作用,请创建更多分支。每天的开发都可以在 Dev 分支上完成,当你准备好了就可以跳槽去 Main 分支。但在合并到 Main 之前,请确保从 Main 分支向上合并到 Dev,然后从 Dev 向下合并到 Main:始终将此作为一种良好做法。

环境(Dev、QA、Prod)和分支之间存在差异。这种关系不必是 1:1。因此,您可以拥有 2 个分支(Dev、Main)并且仍然拥有许多不同的环境。

关于c# - TFS - 与分支的持续集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com