【发布时间】:2016-01-10 08:11:08
【问题描述】:
我有一个关于为大量小型应用程序创建公共库的问题。我最近加入了一个 2 人的开发团队。我们即将扩展到 3 个。我们维护了 200 多个应用程序。所有应用程序都支持我们的运营,并且都是内部开发项目。
所有这些应用程序都引用了许多第三方依赖项,例如 dapper、nlog 等……但没有一个引用通用的内部库。
我认为最好将这些第三方包装在外观中以允许可互换性,此外还提供这些应用程序使用的常用功能,例如发送电子邮件、实例化数据库连接等。所有应用程序都将被修改以引用此库.
我认为这有助于增加电子邮件和日志记录等内容的一致性,但是,我不知道如何管理引用单个库版本的 200 个应用程序。
我最初的想法是让所有 200 个应用程序引用相同版本的库,当它的新依赖项(库)发生更改时,CI 构建将自动重建这些库,但据我所知风险太大,TFS 不支持。
我应该允许这 200 个应用程序都引用我创建的公共库的不同版本,还是真的不值得麻烦,让所有应用程序启动它们自己的日志记录、电子邮件发送和审计逻辑?
如果公共库是这方面的最佳实践,当发现错误时,您如何跟踪哪个应用程序使用哪个版本的库等。
编辑以澄清潜在的重复问题
潜在的重复问题是关于如何创建一个构建脚本,该脚本将根据更改的依赖项自动构建项目。这个问题首先要问一个需要这种构建机制的通用库是否合适。
【问题讨论】:
-
TFS CI Build Chain的可能重复
标签: .net tfs architecture shared-libraries