我想就具有以下要求的专业开发设置的外观提供一些意见。
- 几个 PHP 开发人员(比如 PHP)
- 每个开发人员属于一个组
- 每个小组都有一名负责委派任务的团队负责人
- 每个开发人员都在一台 Windows 7 机器上工作
- 并使用 NetBeans 或 Eclipse 进行开发
- 每个开发人员都“拥有”一个可以运行代码的虚拟测试服务器
- 使用的 VCS 是 SVN
- 有一个登台服务器,在产品发布/部署之前最终对其进行测试
我给出了一些具体的技术,不要太抽象和 b/c 我也会对插件等的具体建议感兴趣。
在该设置中,我想到了几个问题。
1)因此每个开发人员都将在个人分支上工作。
2) 此分支在工作副本中签出。
现在......这个工作副本在 PC 上使用开发人员的 IDE 进行本地编辑,并在服务器上执行/测试。
在这种情况下,最好/通常的方法是什么?我的意思是 - 你如何在服务器上获取你编辑的代码而不造成太多开销?
开发人员会在他的本地磁盘上保存代码吗?还是让 IDE 通过隧道或特定协议在远程虚拟服务器上写入会更好?
3)每天,开发人员都会将他的工作提交到位于中央存储库中的个人分支中。
关于存储库的位置是否有最佳实践?单独的服务器?
4)然后在开发人员完成他的任务后,他/她或团队负责人将新代码合并到各自的主分支或主干中。
最令人困惑的部分是关于我在 2) 和 3) 之间写的内容。因为到目前为止,我只使用本地服务器。例如,带有运行代码的服务器的 VM 位于共享文件夹中,因此我将能够直接对其进行编辑。当服务器现在实际上是远程的时,我不确定如何有效地弥合差距。例如,高效意味着不必通过 FTP 手动上传。
也欢迎外部资源或书籍推荐。
编辑
我的问题是/正在针对准标准/最佳实践。我认为这几乎是一个标准的开发方案,所以必须有一个“常规”的解决方案。
编辑 2
好的......让我们尝试一张图片:
V 是一个或多个开发人员的虚拟测试服务器 D。C 和 C' 是两个代码版本。它们应尽可能保持相同。
我想到了两个解决方案:
1:编辑C,然后上传到C',然后执行C',然后提交C。
2:不存在C。只是通过一些隧道技术编辑并执行和提交的 C'。
我的直觉告诉我,这两种解决方案都是半最优的。那么什么是“专业”/最高效/最快/最方便/最无摩擦/最不容易出错/最佳实践/行业标准?
任何问题?