【问题标题】:Easily build a different branch of the same C# project (VS2010/TFS)轻松构建同一个 C# 项目的不同分支(VS2010/TFS)
【发布时间】:2012-09-08 18:31:09
【问题描述】:

我更愿意使用 Team Build/build 定义来解决这个问题,但我愿意接受其他解决方案。

目前,我有一个构建我的主分支的构建定义。如果我想建立其他分支,最简单的方法是什么?我是否必须为每个分支克隆和修改构建定义,还是有更简单、更优雅的方法?

(具体来说,构建定义构建 MSI 文件,我很想一键为任何以前的版本分支构建 MSI 文件。)

MyCollection
|
|-- MyProject
     |
     |-- MainBranch
     |    |
     |    |-- MySolution.sln
     |
     |-- EarlierReleasesFolder
          |
          |-- ReleaseBranch-2012-01
          |    |
          |    |-- MySolution.sln
          |
          |-- ReleaseBranch-2012-02
          |    |
          |    |-- MySolution.sln
          |
          |-- ReleaseBranch-2012-03
          |    |
          |    |-- MySolution.sln
          |
          |-- ReleaseBranch-2012-04
          |    |
          |    |-- MySolution.sln

【问题讨论】:

    标签: c# visual-studio-2010 visual-studio msbuild wix


    【解决方案1】:

    仅使用随 TFS2010 提供的默认模板,无法更改正在构建的目标解决方案。您必须将要构建的解决方案的源路径定义为构建定义的一部分。

    当然,TFS Build 只是一个 WF 工作流程并且完全可定制;如果您愿意,可以克隆默认工作流,添加“分支路径”参数,并添加自定义任务以更改 BuildInfo 对象,然后再进入工作流的 MSBuild 部分。

    【讨论】:

      【解决方案2】:

      TFS Power Tools 添加了一个 Clone Build Definition 菜单项。它可以轻松复制构建定义,修改源代码控制映射和解决方案以构建列表,然后您就可以构建了。

      既然您提到了构建 MSI... 我需要了解您是否只是想从这些旧版本开始进行开发,或者这是一个构建再现性练习,其目标是准确地再现 MSI?如果答案是后者,则需要使用静态 PackageCodes 而不是 * 来表示随机。

      【讨论】:

      • 我想轻松构建当前和旧版本的 MSI 文件,供 QA 测试不同版本的产品。
      • 为什么需要重建旧版本?为什么不把它们留在身边?
      【解决方案3】:

      目前,我在想:

      • Code against the TFS API 自动创建构建 每个发布分支的定义;或:
      • 手动创建构建定义(使用 Power Tools 能够克隆构建定义)

      【讨论】:

        猜你喜欢
        • 2011-12-02
        • 2017-01-09
        • 1970-01-01
        • 2018-02-19
        • 1970-01-01
        • 1970-01-01
        • 2014-07-18
        • 2013-12-20
        • 2014-06-22
        相关资源
        最近更新 更多