我有一个自定义构建过程,它使用 NAnt、Maven Ivy、CruiseControl.Net 和其他一些组件的组合来管理依赖项并处理我们项目的持续集成构建过程。老实说,它效果很好。
对我们来说,一个相对重要的部分是,我们能够从共享的 Ivy 存储库中获取任何给定依赖项(.dll、.xml..whatever)的精确版本,这对我们的工作来说绝对是至关重要的,因为出于不同原因/目的,不同的应用程序需要不同版本的特定库。
但是 - 我目前正在研究 Visual Studio Team Services ( http://visualstudio.com ),并正在尝试代码 checkin /自动构建过程,但我无法看到在哪里或如何管理我的外部/第三方-各方依赖性。
使用 Maven 的 Ivy 依赖管理/配置工具,该过程几乎完美无缺,并且对此充满信心 - Team Services 与此等效的是什么?
我在网上搜索了几个小时后的最佳发现似乎建议使用 NuGet 来实现此目的,并为我的每个依赖项制作自定义包,但是团队服务持续集成构建过程在哪里/如何存储和访问这些包?我可以将包存储在 Azure 内的 NuGet 服务器中吗?我可以确定这只是我自己使用的吗?
到目前为止我发现的最好的 SO 帖子是:
- Dependency Management/Team Projects in Team Foundation Server 2010
- Dependency management with TFS 2010
...但这些仍然让我没有答案,也许我已经偏离了轨道,但需要了解 TFS 将遵循的依赖关系管理流程。
最佳答案
很多人只是将其依赖项 checkin 其 TFS 源代码存储库(lib 文件夹中的二进制文件)。
更好的方法是使用您建议的包管理器。 .Net 世界中最常用的一种是 NuGet。您的想法是正确的,TFS Build 只与可以在任何地方托管的任何 NuGet 服务器进行通信。阅读此博文了解更多详细信息:http://blogs.msdn.com/b/dotnet/archive/2013/08/27/nuget-package-restore-with-team-foundation-build.aspx
关于build - Visual Studio Team Services 如何管理自定义或内部依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21142063/