【问题标题】:How to update a node.js app remotely & automatically如何远程自动更新 node.js 应用程序
【发布时间】:2016-10-20 17:18:31
【问题描述】:

我需要为基于 nodeJS(而不是 nodeJS 本身)构建的应用设置自动远程更新。
在我的具体情况下,我无法将我的应用程序作为 SaaS 分发,因此我必须与每个客户共享一份应用程序副本。

我在这里查看了相关主题,但没有找到有用的主题。
这里有几个相关的问题:one,two

我不知道如何设置,但我有几个想法:


老派的方式(?):

  1. 使用 unix cron + shell(或 php)脚本 将 «check-request» 设置为 «update-server»,
  2. 停止 nodeJS 实例,
  3. 用 tarball 中的最新文件替换文件,
  4. 用我的应用运行 nodeJS 实例:从 shell(?)

如果我使用自己的服务器,它可能会工作,但是我怎样才能在例如 Heroku 上做同样的事情?
总的来说,这似乎有点奇怪。


两个nodeJS实例方式(?):

  1. 使用 unix cron + 另一个 nodeJS 应用程序 检查更新服务器上的更新,
  2. 然后从另一个节点实例停止 && 更新文件
  3. 用我的另一个应用程序启动一个 nodeJS 实例:如何???

——这里还有别的东西吗?
——人们如何解决这个问题?
——例如,如何在 Wordpress 中为基于 nodeJS 的应用程序实现“更新管理器”之类的功能?

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    您所说的是 CI(持续集成),有许多工具可以在此过程中为您提供帮助,但它们本质上是做同样的事情。

    1. 检测代码中的更改
    2. 拉取更改
    3. 构建项目
    4. 运行测试(如果有)
    5. 部署到服务器

    ——人们如何解决这个问题?

    人们使用 Jenkins、bamboo 和许多其他自动部署系统。 如果您将 node 与 pm2 一起使用,您可以使用内置的运动学(一键部署功能)

    【讨论】:

    • 您能详细解释一下您是如何使用 Jenkins 解决这个问题的吗?
    • 假设我的应用程序正在 IP x 的机器上运行,你如何使用 jenkins 远程发布对此的最新更改?
    猜你喜欢
    • 2015-11-17
    • 2011-10-19
    • 2010-09-12
    • 1970-01-01
    • 2014-06-08
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多