node.js的构建/自动部署工具建议

时间:2013-01-17 12:13:14

标签: node.js deployment build

我目前正在尝试为基于node.js的系统设置自动部署。我一直在进行相当多的研究,但没有什么能真正成为自动化我想要做的工具的明显选择,可以概括为:

  • 将代码从中央Mercurial仓库中拉入构建服务器构建目录。
  • Concat / Minify相关客户端JS
  • 对于每个服务器:
    • SSH进入框
    • 通过SSH复制相关文件(SCP或其他)(不同服务器角色的不同代码)
    • 重新启动相关流程。

我可能会使用Jenkins进行高级管理,但我还没有确定用于实际编写工作脚本的工具。

它不一定是基于JS的构建脚本,但这是一个选项(尽管我并不完全相信JS是这种东西的正确语言)。可以使用Python或Bash风格的解决方案。

能够执行上述任务的理智/健全选择是什么?

谢谢!

更新:抱歉,我之前没有提及,但理想情况下,我希望构建任务在中央构建/部署服务器上运行,而不是在开发机器上本地运行。

3 个答案:

答案 0 :(得分:3)

现在我正在使用Capistrano来满足我的所有部署需求。无论是PHP,Ruby还是Node。

几乎所有情况都有食谱,但凭借经验,很容易建立自己的食谱。您可以将自己的命令挂钩到部署过程中的某些事件。

Capistrano使用SSH访问生产或登台服务器并远程发出命令。

以下是node.js的一些配方(但我还没试过):

https://github.com/loopj/capistrano-node-deploy

答案 1 :(得分:3)

如果将来对用户有任何价值,我最终会选择Fabric

答案 2 :(得分:1)

如果您坚持使用自己的服务器来托管应用程序,则可以始终使用grunt.js进行自动化。您可以为它编写自定义任务并执行任何操作,或者在社区中找到一些用于提及的案例。我相信缩小等已经存在。

作为个人推荐,我可以说我很高兴在NodeJitsu(付费服务)上托管我的节点应用程序。它们提供了通过npm安装的命令行实用程序,可以将代码复制到云端,执行快照并自动启动应用程序。这是我做过的最简单的部署方案。