33

我在 node.js 上构建了一个几乎完全使用 Javascript 的移动开发堆栈。唯一的例外是 SASS(更喜欢 LESS)和 Fabric。我不想污染我的开发目录,因为无论如何我都必须组合和缩小 JS 和 CSS,我想我也可以使用 node.js 来提供我的代码。

我想减少对 Ruby 和/或 Python 的依赖。我并没有真正使用 Fabric 的所有功能,所以我希望能替换它。但我找不到任何用 Javascript 编写的类似工具。

我只需要:

  • 从 git 存储库中拉取。
  • 在本地安装依赖项。
  • 缩小和合并调用 require.js/SASS 的 JS/CSS。
  • 运行测试套件。
  • 通过 node.js 提供代码以进行动手操作或使用 Ripple 进行测试。

Fabric 可能已经过大了,我只将它用于我的 Python Web 项目,因为必要的服务器不在我的机器上运行,但这里情况并非如此。如果没有 Fabric,最好的方法是什么?

4

4 回答 4

16

Flightplan看起来很有趣,灵感来自 Fabric。它的文档有大量示例,值得一试。

于 2014-03-19T16:24:30.197 回答
10

我自己也一直在思考同样的问题。

到目前为止,我发现的最有希望的直接候选人是启动(https://github.com/bengourley/launch)。但是,它已经一年没有更新了,这让我对它的未来状态有点怀疑。

在没有明显好的解决方案的情况下,我最终以以下方式逐个解决了整个构建/部署问题:

  • 经过反复试验,我node_modules.gitignore. 其中一个含义是您不必在本地安装依赖项,删除第二步(如果阅读这也能说服您,请尝试)。
  • 我最终自动化了 JS/CSS 处理、linting 和使用grunt运行的测试套件。强烈推荐。
  • 我很懒,现在我正在将缩小的东西添加到 git 中(希望我会在某个时候改变它)。
    • 编辑:我不再将缩小的东西添加到 git 中,而是grunt在部署时运行以进行缩小

通过这样做,我有效地完全消除了对 Fabric 的一些需求,只剩下需要解决的实际部署:

  1. 最好的解决方案(部署方面)是避免运行您自己的服务器并使用现成的云解决方案,例如HerokuNodejitsu
  2. 或者,您可以托管自己的 node.js 部署工具。例如,您可以在自己的服务器上安装Nodester并使用提供的 API 和工具。
  3. 在 Linux 机器上,编写重新部署 node.js 应用程序的单行代码非常容易,所以我觉得我不需要为此使用任何额外的工具(除了 bash)。

话虽如此,我也很高兴听到更好的解决方案。

编辑:刚刚了解了部署(https://github.com/visionmedia/deploy)。看起来很有希望。你也可以试试!

于 2012-06-18T18:59:12.870 回答
3

stagecoach进行分段和部署,并支持依赖项安装和 upstart 脚本。

这是一篇关于使用驿马车部署节点和 mongo 的博客文章。

于 2013-01-12T15:22:52.630 回答
2

另一个 javascript 部署工具是shipitjs

从他们的自述文件中:

Shipit 是一个自动化引擎,也是为 node/iojs 编写的部署工具。

Shipit 被构建为不了解 ruby​​ 或遇到一些问题的人的 Capistrano 替代品。如果您想用 JavaScript 编写任务并享受节点生态系统,Shipit 也适合您。

于 2016-11-10T00:26:00.277 回答