0

我更愿意使用 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
4

3 回答 3

0

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

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

于 2012-09-08T19:12:10.943 回答
0

目前,我在想:

  • 针对 TFS API 编写代码以自动为每个发布分支创建构建定义;或者:
  • 手动创建构建定义(使用 Power Tools 能够克隆构建定义)
于 2012-09-08T19:24:11.713 回答
0

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

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

于 2012-09-09T13:35:17.567 回答