将Node.js应用程序部署到生产环境

时间:2015-05-09 14:03:01

标签: node.js

我是具有Ruby on Rails经验的前端开发人员,他目前正在尝试使用React和Node.js构建同构应用程序。我对部署此类应用程序有疑问。

在开发Ruby应用程序时,总会有一些脚本可以使部署过程变得简单易用 - 从github收集新版本,将其上传到新版本文件夹,将其与当前预编译资产进行符号化。 Аnd我无法立即找到Node.js这样的东西。

但我相信一定有。我正在寻找能够使用所有软件包设置新虚拟机,部署它的脚本,并且还会处理不同的环境及其配置(例如,分段)。那么,用Node.js做这个的惯用方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

E.g:

  1. 检查源代码是否有错误
    1. 检查我们正在使用的CSS风格
    2. 检查JS
    3. 检查JSX是否使用React
  2. 运行所有单元,性能和交互测试
  3. 强制执行代码样式
  4. 在专用的“部署”目录中创建资产包
    1. 一个css包
    2. one js bundle
  5. 与您的远程舞台同步“部署”目录
  6. 验证升级没有爆炸
  7. 将分阶段复制推送到制作
  8. 这些都不需要在单独的步骤中完成,但也许您希望它们成为。也许有一些缺少你想要的步骤,也许你没有一个临时环境,只有一个生产环境(有点不确定,但可能)。确定需要运行的任务,找到执行这些任务的实用程序,然后将它们与您最喜欢的任务运行程序结合在一起。