我在TeamCity中有以下一组项目:
我需要为项目WebAppX的DataAccess创建一个dev分支。但是WebAppY必须保留对DataAccess的生产分支的引用。如果我使用nuget来管理我的依赖项,那么在将WebAppY保持在同一个包中的同时让WebAppX更新包的最佳方法是什么?
现在我使用子模块来解决问题,而不是使用Nuget。所以我有一个存储库,其中包含DataAccess的二进制文件,它作为子模块包含在WebAppX和WebAppY中。以这种方式控制我的依赖项的版本似乎更容易。但我想使用NuGet并利用TeamCity提供的功能。
处理共享依赖项的更好方法是什么?
答案 0 :(得分:1)
TeamCity将允许您设置dependency build chains,这样当Commons进行代码更改时,它会构建并触发数据访问中的构建,依此类推。
至于NuGet,您只需要指定您的应用可以支持的依赖项的version or version ranges。例如,DataAccess版本2.x可能支持来自专业1&的Commons。 2:[1.0,3.0)
我没有用NuGet做过这个,但是和Maven一样,这非常相似。当构建成功完成时,TeamCity将工件部署到Maven存储库,我使用Artifactory进行存储。当声明的依赖项发生变化时,Maven + TeamCity将允许您触发构建,我希望它们具有与NuGet相同的功能,但这只是猜测。
我希望能让你指向正确的方向。