如何知道你是否应该升级所依赖的第三方库

15 Jul 2018

在我们的日常开发中,我们越来越依赖于第三方库,不论哪种语言。但是因为第三方库的数量巨大,我们很少有技术团队能够有精力追踪每个第三方库的新版本。然后评估是否要升级新版本。尤其一些安全漏洞啥的,如果没有及时修复,可能会造成无法弥补的损失。经过搜索,我也没有发现有提供类似服务的第三方。为什么我们不试图做一个呢。

首先这个系统要有三部分构成。

  1. 核心, 主要用来存储第三方库的依赖关系。 提供内部查询服务接口。 并且,如果有某个第三方库有新版本更新,应该能够有能力反推出那些服务是依赖于这个第三方库的。
  2. 后台维护,主要是机器以及人工更新核心数据。比如每天访问某个第三方库的release note页面,如果有新版本发布,则把相关信息更新到核心中。
  3. 前端查询接口/页面。 提供对外的服务。

其次,从用户角度出发,用户可以通过各种方式来定义自己的代码所依赖的第三方库。可能有一下几种。

  1. 通过提供的界面,由客户自由定制自己所以来的第三方库。
  2. 通过客户提供的依赖配置文件,比如package.json, gemfile等进行解析,自动生成依赖。
  3. 通过扫描用户提供的源码,生成依赖关系。

comments powered by Disqus