开源软件测试工具
将软件安装在用户系统上后,如何保持更新? 虽然Linux用户通常具有一个程序包管理系统来从他们选择的存储库中提取最新版本,但其他系统的用户却不太幸运。 我们已基于Google的称为Omaha的开源协议,开发了一种开源工具来协助此过程。
几年前,作为Chromium项目的一部分,Google发布了一种称为Omaha的开源协议(也称为Google Update)。 该协议旨在简化复杂桌面软件的更新过程。
到目前为止,奥马哈主要用于Google产品,例如Google Chrome浏览器或Google Earth。 Windows Update主要将Google Update系统用于执行自动更新过程。 Google软件的Linux构建依赖于Linux发行版中包含的软件包管理器。 Google Update的主要优点是,该框架可以与需要支持自动更新功能以及能够从一个地方管理新补丁和更新(以及收集错误报告)的任何软件集成。
Google提供了支持Omaha协议的客户端的公开实现。 该服务器的实现尚未发布,并且打算将Google Update集成到用户自己的软件中的任何意图都要求实现至少具有常规命令支持的基本版本。 因为我所工作的公司有助于开发基于Chromium的定制浏览器,所以我们开发并发布了该服务器的开源版本,因此Google Update系统的潜在用户将可以访问整个链,并且可以将其集成到他们的浏览器中没有麻烦的软件。
除Omaha协议外,我们的实现还包含对Sparkle的支持,Sparkle是Mac OS X软件的著名更新框架。 此外,我们将实现与管理面板结合在一起,可轻松进行版本管理,对Alpha和Beta版本进行部分升级以及错误报告工具。
我们密切关注了部署过程,该过程被视为几个用于设置生产或开发环境的命令。 最终,我们选择了开放的Docker平台,该平台使分发更加可移植,并允许在任何给定服务器上的隔离环境中运行映像。 它可以轻松部署到任何云环境。
为了共享有关Omaha服务器的更多信息,我们开发了一个幻灯片面板 ,其中包含更多详细信息,完整的文档和示例都保存在GitHub上 ,接受了社区的拉取请求。
关于客户端,我们分叉了Google的实现,以保持其与现代版本的Visual Studio的兼容性,并在集成过程中改善了用户的体验。 根据Chromium邮件列表,仍在组织内部开发Google的客户端,但是,由于内部使用了构建系统,因此最新的补丁无法在几年内发布。 当前客户端尚不支持某些协议功能,例如CodeRed(在安装不成功的情况下,可以恢复到以前的版本)。 客户端的版本也位于单独存储库中的GitHub上。 所有源均根据Apache 2.0许可发布。
我们希望我们的实施能够简化开源爱好者和企业的工作,这些爱好者和企业可以在Chromium OS或Chromium浏览器的基础上构建自己的基础架构,从而为他们提供生产就绪的更新服务器/客户端链。 此外,值得将此系统视为对此过程有复杂要求的项目的有效更新解决方案。
开源软件测试工具