4
我想创建一个Node.js应用程序,定期检查更新并安装它们,如果有的话。如何创建一个自我更新的Node.js应用程序?
的基本组件是明确的对我说:
- 其中包含了更新程序包
- 一个版本的系统(如SemVer Web服务器(或FTP服务器,文件系统,...) ),这样就可以知道哪些包是新
- 一个公开密钥算法的签名更新包
然后,有可能会在何时检查更新,并安装更新不同的策略:
- 在应用程序启动
- 在应用端
- 当idleing
的程序甚至可以在硬关机并自动重新启动。
但也有留下了一些问题:
- 是否有已经提供了这样的系统可在任何公共管理模块?
- 如何组织文件系统中的不同版本?基本上你会有一个主机和多个(版本化的)内核。是否应该有一个
data
所有文件夹? - 如何处理
npm install
& co。为新下载的包? - 如何处理损坏的更新?
- 你怎么能实现这样的事情,以便它与Heroku兼容& co。你没有永久的驱动器,你可以开车去?
一般来说:你会如何尝试实现这样的系统?
Err ...自我更新的应用程序听起来可能是一个好主意,但如果API或行为改变您以前工作的服务器将处于混乱状态。 – Zeta
当然,这是我的责任,保持向后兼容......但问题依然存在:你会如何做这样的事情? –
@GoloRoden你最终选择了哪种解决方案?我有类似的要求。 Tx – glose