我正在和其他人一起开发一个门户网站的项目。我的问题与网络编程的事情无关,但我需要一些投入,如何有效地组织这样一个项目。
目前,我们用于web开发的基础设施由两台服务器组成:一台开发系统和一台实时系统。我们在dev-system上工作,并在那里测试我们的新功能,然后将所有内容转移到live-system上。因此,我们使用git,但我认为是以一种相当意外的方式。每个人都在使用相同的本地存储库,因此可以立即在服务器上查看更改。我们必须能够看到我们在做什么,因为我们只有一个dev-server,所以我们不能有自己的本地存储库。完整的功能被推送到全局存储库,这样我们就可以将它们拉到实时系统中。现在,当多个人同时在门户上工作时,问题自然会发生。因为我们使用不同的分支,所以代码不会混乱,所以我们正在处理的文件并不总是最新的。此外,如果有人将切换到他正在工作的分支,我必须切换回来,以便我可以看到我当前正在做什么。所有这些切换分支和不更新的代码一点都不好笑。
我希望您能理解问题所在。我认为唯一的解决方案是为项目中的每个人设置本地服务器,这似乎不是一个理想的解决方案,因为有太多的因素使得这一点相当困难(例如,几个特殊的服务器插件)。有没有人知道克服这些问题的更好方法,或者是最好的实践?
发布于 2011-09-06 03:24:00
我真的,真的建议尝试找到一种方法来在所有开发人员自己的机器上安装服务器。
这是目前为止最理想的解决方案。
然而,我能想到一种替代方案:
您可以尝试在服务器上设置多个工作目录。将它们配置为子域或vhost或其他什么。
这样,每个开发人员都将拥有自己的工作空间,但开发仍将在服务器上进行,其他资源可以在服务器上共享。
然而,这并不能解决所有可能出现的问题,但也许它可以作为一种临时措施,直到您找到一种方法来设置每个开发人员的系统。
为了在每个开发人员自己的机器上设置dev系统,您可以考虑创建开发服务器的虚拟机映像。这样,您就可以简单地复制VM镜像,一切都已经设置好了,开发人员只需要运行它。
发布于 2011-09-06 03:25:02
我让开发人员运行自己的本地服务器进行开发,然后在完成任务后将代码提交到存储库。每周我们都会将该代码导出到开发服务器(与生产服务器完全相同),并对其进行测试,为实时推送做好准备。我们使用分支来表示版本号,所以我们所有的开发人员都在同一个分支上工作,直到它完成并准备上线。在极少数情况下,更新与其他开发人员正在做的事情发生冲突,我们只是合并文件更改。
这一过程使参与的每个人都变得简单。
https://stackoverflow.com/questions/7311918
复制相似问题