我需要为基于 nodeJS(而不是 nodeJS 本身)构建的应用程序设置自动远程更新。
在我的具体情况下,我无法将我的应用程序作为 SaaS 进行分发,因此我必须与每个客户共享一个应用程序副本。
我在这里查看了相关主题,但没有找到有用的主题。
这里有几个相关的问题:one , two
我不知道如何设置它,但我有一些想法:
老派方式(?):
- 使用 unix cron + shell(或 php)脚本对 «update-server» 进行 «check-request»,
- 停止 nodeJS 实例,
- 用压缩包中的最新文件替换文件,
- 用我的应用程序运行 nodeJS 实例:从 shell(?)
如果我使用自己的服务器,它可能会工作,但是我如何才能在 Heroku 等服务器上做同样的事情?
总的来说,这看起来有点奇怪。
两个 nodeJS 实例方式(?):
- 使用 unix cron + 另一个 nodeJS 应用程序检查更新服务器上的更新,
- 然后从另一个&&更新文件停止一个 Node 实例
- 用我的应用从另一个启动一个 nodeJS 实例:如何???
——这里有别的东西吗?
— 人们如何解决这个问题?
— 例如,如何在 Wordpress 中为基于 nodeJS 的应用程序实现“更新管理器”等功能?
最佳答案
您所说的是 CI(持续集成),有很多工具可以在此过程中为您提供帮助,但它们本质上做的是同一件事。
- 检测代码中的更改
- 拉取更改
- 构建项目
- 如果有则运行测试
- 部署到服务器
— How do folks solve that problem?
人们使用 Jenkins、bamboo 和许多其他自动部署系统。 如果您将 Node 与 pm2 一起使用,则可以使用具有内置功能的运动学(一键部署功能)
关于javascript - 如何远程自动更新 node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37905785/