【发布时间】:2018-07-17 16:27:26
【问题描述】:
背景:TFS2015 中的 C# .NET 和 VC 源代码控制。 CI 使用 TFSBuilds。内部 Proget 服务器,已从其他 TFSBuild 发布 Nuget 包。
我希望将一组框架项目移动到他们自己的 Git 存储库中。下面是它的结构示例供参考。
Framework.sln
IO.proj
Logging.proj
Other.proj
我的困惑来自于如何设计 CI 构建,以便只有那些已更改的项目才能发布新的包。目前我有一个构建 Framework.sln 的 CI 构建,然后将所有输出打包并发布到 Proget,使用 BuildNumber 递增包版本。
显然这是一个问题,因为对 Logging.proj 的单个更改将启动 CI 构建,即使只有对 1 的更改,我最终也会发布每个包的新版本。在我们切换到 TFSBuild 之前,我们让 MSBuild 运行 bitdiffer 来比较差异并自动增加版本号。
我想知道的是我是否必须为每个项目构建一个 CI,TFS 是否可以使用其他东西来处理这种情况,或者我是否遗漏了一些非常明显的东西。
注意:我已将分支策略排除在这一切之外,因为我认为这并不重要,无论以何种方式管理分支,这个问题仍然会发生,但如果我错了,请告诉我。
【问题讨论】:
-
如果这更适合 Stack Exchange 中的其他区域之一,请随意移动它。对于 SO 问题来说似乎有点过于模糊/笼统,但无法弄清楚它还能去哪里。
-
接受第一个答案只是为了结束问题。我认为鉴于要求和限制,我所要求的内容是不可能的。会关闭/删除问题,但不知道怎么做,所以如果管理员想来,请随意。
标签: git tfs nuget tfsbuild tfs-2015