VersionEye开源持续更新工具

简介:
安全:依赖项可能包含安全漏洞。当依赖项没有通过更新修复这样的漏洞时,系统就可能处于风险中; 灵活性:最新依赖项让组织可以更快地响应变化,因为最近的依赖项版本比旧的依赖项版本更容易更新。新依赖项提供了新功能; 稳定性:依赖项更新经常包含Bug修复以及整个系统稳定性和正确性的改进; 兼容性:系统环境的外部更新可能会导致系统功能异常。

关于这款工具及其开源,InfoQ有幸采访了Robert。

InfoQ:用户如何从依赖项更新通知获益?

VersionEye一直在关注来自不同包管理器的大约100万个软件库,因此,它知道特定库当前的版本。例如,它可以监控你在GitHub上的package.json文件,并每天通知你过期的依赖项。邮件通知的频率可以按项目定义,选项包括每天、每周、每月或从不。VersionEye已经支持12种包管理器,比如Maven、NPM、PIP,并且可以识别它们的语法。

InfoQ:有些软件库使用了著佐权许可,将它们用于企业环境会更加困难。VersionEye能提供什么帮助?

VersionEye爬取器也一直在收集软件许可的元信息。目前,我们已经有大约600万个软件工件的许可信息,而且数量还在增加。在许可选项卡中,VersionEye会列出项目的所有依赖项及其许可。此外,还有一个表格展示不同许可在项目中的分布。根据需要,还可以创建一个白名单,只将特定的许可加入其中,例如MIT和Apache。如果项目指定了许可白名单,那么VersionEye就会根据许可白名单检查依赖项使用的所有许可,如果有违反许可的情况,就会发送邮件通知。借助VersionEye的Maven插件,如果存在违反许可的情况,它甚至可以中断CI服务器上的构建过程。我们的部分企业客户就是那样使用VersionEye的。

InfoQ:安全漏洞检查是如何实现的?

VersionEye一直在5个分别针对Java、PHP、Ruby、Node.JS和Python的安全数据库中积累安全信息,并且一直在将安全漏洞和包管理器中的相应工件做匹配。通过恰当的设置,例如VersionEye Maven插件、VersionEye Gradle插件或VersionEye SBT插件,如果项目受到安全漏洞的影响,就可以中断CI服务器上的构建过程。当然,如果觉得漏洞不严重,也可以根据项目忽略安全漏洞。

InfoQ:为了有效地使用VersionEye,我需要调整开发过程吗?

如果你的项目在GitHub或Bitbucket上,那么你就可以使用GitHub或Bitbucket账户免费注册,并简单地选择哪些项目文件应该由VersionEye监控。那样,你就会自动收到针对项目的邮件通知,而不必再做其他任何操作。

如果你想更进一步,则可以将VersionEye集成到构建和测试周期。几乎所有的主流构建工具都有针对VersionEye的原生插件,它们使用了公共VersionEye API。这些插件会在构建时执行安全和许可合法情况检查,并在需要时中断构建过程。对于那些需要确保许多软件项目和开发人员开发质量的大公司而言,这非常有用。

InfoQ:是什么让您决定开源VersionEye?

我们开源VersionEye,是因为希望该软件得到更广泛的应用,同时也希望得到来自开源社区的贡献。

迄今为止,我们都是以VMWare镜像的形式出售VersionEye企业版。镜像的交付和防护过程非常耗时和令人不快。那虽然可行,但软件销售比较困难。企业对透明度和安全心存担忧,因为他们不知道这个他们要在自己的基础设施上运行的黑盒子里究竟发生了什么。

现在,我们不必再操心VMWare镜像的防护和代码的保密了,我们的客户也不必再担心这个黑盒子软件了。如果一切都开源了,那么整个的分发和维护就变得简单了许多,大公司也获得了他们想要的透明度和信任。

InfoQ:你们的商业模型发生了怎样的变化?

去年,我们出售软件,现在我们出售VersionEye API的访问权限、软件托管和服务支持。任何人都可以从GitHub上免费获取代码或者从Docker Hub上获取Docker镜像。但是,如果你启动自己的VersionEye实例,则本地数据库是空的。你可以通过一种同步机制从VersionEye API更新本地数据库,而那就是收费的了。或者,你可以运行自己的Java爬取器,但目前为止,没有人希望维护一整个爬取框架。从VersionEye API获取数据更简单也更便宜。





====================================分割线================================


本文转自d1net(转载)

目录
相关文章
|
1天前
|
存储 JSON 数据格式
效率工具RunFlow完全手册之进阶篇
RunFlow进阶指南包括搜索文件、计算器、解散文件夹、独立窗口运行、数据导入导出(JSON格式)及同步(本地及云服务如OneDrive)。此外,还提供定时任务功能,利用Cron表达式设定如每日12点执行清理。
10 0
效率工具RunFlow完全手册之进阶篇
|
6月前
|
API 开发工具
【平台开发】技术整合思考(六)开发规范(持续更新)
【平台开发】技术整合思考(六)开发规范(持续更新)
41 0
|
10月前
|
XML JavaScript 前端开发
nasal脚本起源与环境搭建(flightgear开源项目)
nasal脚本起源与环境搭建(flightgear开源项目)
203 0
|
Web App开发 搜索推荐 数据库
写论文经常用到的网站、工具、技巧汇总【持续更新】
写论文经常用到的网站、工具、技巧汇总【持续更新】
245 0
写论文经常用到的网站、工具、技巧汇总【持续更新】
|
存储 自然语言处理 前端开发
我用这些开源项目轻松搭建了一个在线文档平台
我用这些开源项目轻松搭建了一个在线文档平台
1813 0
我用这些开源项目轻松搭建了一个在线文档平台
|
JavaScript 前端开发 算法
2021全栈开发不完全指南(持续更新……)
2021全栈开发不完全指南(持续更新……)
115 0
|
搜索推荐 生物认证
工具传送门(持续更新)
工具传送门(持续更新)
141 0
|
安全 数据安全/隐私保护 iOS开发
精品资源汇总:(持续更新)
精品资源汇总:(持续更新)
179 0
精品资源汇总:(持续更新)
|
IDE 程序员 开发工具
C++入门指南(持续更新)
C++入门指南(持续更新)
174 0
C++入门指南(持续更新)
|
机器学习/深度学习 人工智能 前端开发
高质量开源书籍整理
高质量开源书籍整理
613 0