php - 带有 SVN-VC 的多开发人员设置和每个开发人员的远程测试服务器。最佳实践?

标签 php svn branch collaboration branching-strategy

我想就具有以下要求的专业开发设置的外观提供一些意见。

  • 几位 PHP 开发人员(比如 PHP)
  • 每个开发者属于一个小组
  • 每个组有一个负责分配任务的组长
  • 每个开发人员在一台 Windows 7 机器上工作
  • 并使用 NetBeans 或 Eclipse 进行开发
  • 每个开发人员“拥有”一个虚拟测试服务器,他可以在其中运行代码
  • 使用的VCS是SVN
  • 有一个暂存服务器,产品在发布/部署之前在这里进行最终测试

我给出了一些具体的技术,不要太抽象,而且 b/c 我也对插件等的具体建议感兴趣。


在该设置中我想到了几个问题。

1) 所以每个开发人员都将致力于 个人分支。

2) 该分支在工作副本中 checkout 。

现在 ... 这个工作副本在 PC 上使用开发人员的 IDE 在本地编辑,并在服务器上执行/测试。

在那种情况下,最好/通常的方法是什么?我的意思是 - 如何在不造成过多开销的情况下在服务器上获取编辑后的代码?

开发人员是否会将代码放在他的本地磁盘上?或者让 IDE 通过隧道或特定协议(protocol)在远程虚拟服务器上写入会更好吗?

3) 开发人员每天都会将他的工作提交到位于中央存储库中的个人分支中。

是否有关于存储库应该位于何处的最佳实践?一个单独的服务器?

4) 然后在开发人员完成他的任务后,他/她或团队负责人将新代码合并到各自的主分支或主干中。


最令人困惑的部分是我在 2) 和 3) 之间写的内容。因为到目前为止我只使用本地服务器。例如,带有运行代码的服务器的 VM 位于共享文件夹中,因此我将能够直接编辑它。当服务器现在实际上处于远程状态时,我不确定如何有效地弥合差距。高效意味着无需通过 FTP 等手动上传。

也欢迎外部资源或书籍推荐。


编辑

我的问题是针对准标准/最佳实践。我认为这几乎是一个标准的开发方案,因此必须有一个“常规”解决方案。


编辑2

好吧...那么让我们尝试一张图片: the setup

V 是一个或多个开发人员 D 的虚拟测试服务器。C 和 C' 是两个代码版本。它们应尽可能保持相同。

我想到了两个解决方案:

1 : 编辑C,然后上传到C',然后执行C',然后commit C。

2 : 不存在 C。通过某种隧道技术编辑并执行和提交的Just C'。

我的直觉告诉我这两种解决方案都是半最优的。那么什么是“专业”/最高效/最快/最方便/最无摩擦/最不容易出错/最佳实践/行业标准?

有什么问题吗?

最佳答案

也许它没有太大帮助,但 GIT 听起来非常适合您的问题,我建议您查看 GIT 功能。如果您有时间,请查看 Linus Torvalds 他关于 GIT 的自述。 http://www.youtube.com/watch?v=4XpnKHJAok8

关于php - 带有 SVN-VC 的多开发人员设置和每个开发人员的远程测试服务器。最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5596034/

相关文章:

GIT:当有一个名为 HEAD 的分支时,如何明确引用当前 HEAD?

git - git是否记录分支负责人的历史?

php - 使用运行余额列显示 mysql 中的最后 10 行

php - Cakephp,排序关联表

php - PHP 的 FILTER_VALIDATE_EMAIL 是否提供足够的安全性?

php - 判断输入字段是否有值的方法

svn - 如何维护外部 svn 存储库的本地修​​改副本

svn - 切换 svn :externals repo?

svn - 在 TortoiseSVN 中更改作者姓名

git - 每个环境使用分支时避免冲突的分支流程应该是什么