【问题标题】:Deployment of Node.js app to production将 Node.js 应用程序部署到生产环境
【发布时间】:2015-05-11 00:45:01
【问题描述】:

我是一名前端开发人员,有 Ruby on Rails 方面的经验,目前正在尝试使用 React 和 Node.js 构建一个同构应用程序。我有一个关于部署此类应用程序的问题。

在我开发 Ruby 应用程序时,总是有一些脚本可以使部署过程变得简单而轻松——从 github 收集新版本,将其上传到新的发布文件夹,将其符号链接到当前的预编译资产。 Аnd 我无法立即为 Node.js 找到类似的东西。

但我确信一定有。我正在寻找可以使用所有软件包设置新虚拟机、部署它以及处理不同环境及其配置(例如登台)的脚本。那么,使用 Node.js 的惯用方式是什么?

谢谢!

【问题讨论】:

    标签: node.js


    【解决方案1】:

    Ruby on Rails 有一种方法:rails。另一方面,Ruby 本身拥有一百万种方法,因为它是一种通用编程语言。 Nodejs 是“Ruby on Rails”的“Ruby”等价物,它不是“Rails”等价物,并且没有任何一种方法来做你想做的事。它与网站的关系与 Ruby 一样少,只是一个带有通用 API 的 JavaScript 解释器。

    只有在您选择了与“rails”等效的 Web 框架(如 ExpressHapi 等)后,您才能开始询问部署脚本,即使这样,答案也可能是“这是您的代码,只需编写特定于项目的gruntgulpnpm scripts 任务来做你需要的”。有大量的包可供它自动执行您想要执行的部分操作,因此它不像“从头开始编写代码”那么复杂,但也不像“调用这个单一脚本”那么简单。这将是更传统的“链接这几个实用程序来执行每个步骤,如果整个链成功,则部署已经发生”。

    例如:

    1. 检查源代码是否有错误
      1. 检查我们使用的任何 CSS 风格
      2. 检查JS
      3. 如果你正在使用 React,请检查 JSX
    2. 运行所有单元、性能和交互测试
    3. 强制代码样式
    4. 在专用的“部署”目录中创建资产包
      1. 一个 CSS 包
      2. 一个 js 包
    5. 将“部署”目录与远程阶段同步
    6. 验证暂存没有爆炸
    7. 将暂存副本推送到生产环境

    这些都不需要在单独的步骤中完成,但也许您希望它们如此。也许缺少您想要的步骤,也许您没有暂存环境而只有一个生产环境(有点不确定,但可能)。确定需要运行的任务,找到执行这些任务的实用程序,然后将它们与您最喜欢的任务运行程序结合在一起。

    【讨论】:

    • 谢谢!看来我还有很多研究要做。
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多