2011-10-08 68 views
0

当所有开发人员在同一开发机器上开发时,如何使用node.js进行团队开发?在共享开发环境中使用node.js进行团队开发

现在开发服务器设置有nginx和apache。开发人员将SSH安装到开发者服务器上,他们拥有自己的子域沙箱(共享数据库)。他们破解他们的代码,他们检查SVN回购。很好,工作正常....直到我们开始使用node.js.

看起来node并不像apache或nginx那样有一个提供代码的独立服务器。在节点中,服务器和应用程序代码绑定在一起,所以发生的情况是每个开发人员在进行更改时都需要启动和停止服务器。如果启动了一个实例,则会产生问题,它会阻塞其他开发人员的端口。

我也无法弄清楚如何将节点代码放入与PHP应用程序代码相同的SVN存储库中。

一位朋友告诉我开发者可以做“分时”,节点代码只能在特定的时间段内被某人修改。不确定这个过程是否可扩展。

另一种选择是让每个人都使用开发服务器的虚拟机副本在本地计算机上工作,以便他们可以独立于开发服务器进行开发。这需要很多基础设施的改变,我还没有做好准备。

关于如何使用当前的共享开发环境设置进行此操作的任何建议?

此外,我们使用node.js的原因是有良好的慧星支持。但是,如果这成为当前基础架构的阻碍,我愿意尝试其他类似于nginx或apache的技术和服务器 - 以便它独立于应用程序代码,并且可以与我们当前的开发兼容环境。

PS。我尝试了nginx http push模块。这不是很好的维护和更新。害怕在生产中使用它。

回答

3

您可以让每个开发人员的Node.JS实例在不同的端口上运行。

+0

当开发人员检入代码时,这不会变得杂乱吗?每个获得更新的开发人员都需要更改其端口号。同样,每个开发人员都必须使用新端口将前端js代码更改为新地址。 –

+1

@lamp_scaler:我假设你有一些生成前端页面的服务器端代码。该服务器端可以从SVN忽略的文件中读取以查找端口并将其推送到前端。 Node.JS服务器也可以这样做。 – icktoofay

+2

您可以创建app.js读取的config.js,或者只需执行以下操作:config.port = process.env.NODE_PORT || 8080; – chovy