7

我在 tfs 源代码管理中设置了 2 个不同的应用程序。两者共享一个公共库,也在源代码管理中设置。

当前更改公共库的过程是构建它,跨 dll 复制到一个位置,以供其他应用程序拉入和使用。这是手动的,效果不好,尤其是现在我正在转向 TFS CI 构建。

TFS 中的布局如下:

-TFS
   - Web 1
      | Main
      | RB_1_0
   - Web 2
      | Main
      | RB_1_0
   - Shared
      | Main
      | RB_1_0
      | RB_2_0
      | RB_3_0

所以我希望改变它,自动化它。但不知道我怎么能这样做。如您所见,有多个分支等。作为我正在考虑设置的公共库,就像我使用 nuget 包一样,其中更改被推送到我的 web 1 和/或 web 2。我不确定它有多容易进行设置。

是否可以查看上述结构并就管理输出的 dll 的分布的最佳方式给出意见?在 CI 环境中?Nuget 是最佳选择吗?

4

1 回答 1

9

NuGet 是我用来做这个的。

修改构建过程为通用包创建新包

添加一个活动以构建一个 nuget 包,另一个将其复制到您用作 NuGet 存储库的网络共享。有一些像Tfs NuGetter这样的项目可以使用,而不是手动编辑构建模板。

如果您不想修改构建模板,则可以使用 [tfs deployer] 之类的工具并编写自定义部署脚本来创建 NuGet 包。或者写一些挂钩到构建完成事件的东西。

为所有解决方案启用在构建时还原包

这意味着您不需要将软件包存储在源代码管理中,或者在您获得最新解决方案时处理未下载的软件包。

当您想要更新依赖项的版本时,请打开解决方案并像任何普通 NuGet 包一样对其进行更新。

于 2012-10-21T20:13:08.650 回答