正确部署NodeJs应用程序(git,modulus)

Modulus提供从当前目录或指定path进行部署的选项。

我的文件结构是:

  • 的package.json
  • bower.json
  • src(应用程序编码的地方)
  • dist(在哪里吞下准备好的应用程序)
  • 几十个其他文件夹,如e2e,种子,吞噬,日志,mongobackub,node_modules,bower_components …

通常我只是通过推送dist文件夹作为子树来上传dist文件夹。 现在我想改进我的部署过程。

问题1)

我是否从主目录进行部署? 这似乎需要很长时间,实际上只有dist文件夹+ package&bower文件是应用程序需要的。 但期待持续整合,例如codeship,它看起来像推动所有的文件夹可能不是一个坏主意,否则我的unit testing可能会丢失。

编辑:

http://help.modulus.io/customer/portal/articles/1702010-ignoring-files-during-a-deploy添加一个忽略文件似乎是一个解决scheme,以避免改变文件夹结构,只关注相关文件部署整个应用程序时。

问题2)

有没有办法只推送已经改变的文件。 上传整个目录最多需要15分钟,Amazon Payments等服务需要在服务器上进行开发,因为localhost上的callback不起作用。 所以改变可能非常耗时。