使用git释放到node.js

以下是我想要做的概念:

将Hook node.js添加到一个特定的Git仓库中,这样我就可以创build一个类似于/ 84de7e8d8ce33 / foo的请求,服务器将会(如果需要的话)签出commit 84de7e8d8ce33,在刚刚签出的文件上启动另一个node.js,并将“/ foo”传递给新的服务器。 当然,主服务器会跟踪它已经知道的提交信息。

基本上,我只是试图简化我们的发布过程,所以与上面的Git魔术相同的服务器也将提供一个类似index.html的文件,几乎完全由

<script src="/84de7e8d8ce33/app.js"></script> 

我的问题:

  1. 这个想法有多糟糕?
  2. 是否有一些现有技术,一些图书馆或框架已经这样做?
  3. 有其他select吗? 我有一个释放分支的一些方式,告诉node.js使用什么提交,并放手。
  4. 是否有一些内置的方式来保持多个提交“检出”(或至less以某种方式可见的普通文件)在同一时间?

(我有一个附属的问题,关于如何与我交stream,作为发布经理,到服务器84de7e8d8ce33现在是活的版本。现在,我想,memcached,但我打开其他build议。)

这听起来不是一个坏主意。 我会先尝试使用https://github.com/libgit2/node-gitteh

除了有一个可爱的名字,它

  • 应该快于炮轰git
  • 有一个javascripty API

我将在与Web服务器分开的进程中运行它,使用node-redis和/或dnode进行通信。

编辑:我find了自述文件底部列出的文档 。 直到我看了一个例子,并在节点repl中使用它,但! 这很好。 我能够捅了一下,并从我的回购中得到一个blob。 它也适用于.git,而不是一个工作树,所以你可能有多个可能的提交,而没有多个副本的回购。