我们有一个基于 linux 的开发服务器,我们从基于 Windows 的桌面连接到它(通过 ssh、scp、samba(映射网络驱动器)等)
我们在 perl 中进行 Web 开发,使用 apache2、mod_perl 和 MySQL,我们的代码库在 SVN 源代码控制下。
让所有(目前 5 个)开发人员独立开发的最佳方式是什么?
在过去,我经历过运行多个 apache 实例(可以通过破解 apache 的源代码和编译来实现)
但也许使用虚拟化并有效地为每个开发人员提供自己的开发服务器会更好(尽管对于 Web 开发来说似乎有点矫枉过正)
如果我只运行一个 apache 实例,将传入请求重定向到正确代码库的最佳方法是什么?港口?子域?客户端的IP地址?
谢谢
虚拟机非常适合这类事情——每个开发人员都可以工作而不必担心妨碍他人工作,并且他们可以在必要时更改系统配置以支持新代码。使用主 VM 映像或配置管理可以轻松维护类似生产的环境。
我实际上建议使用 Apache 的内置 VirtualHost 函数。通过使用基于名称的虚拟主机,您可以运行一个具有完全不同的根代码库的 apache 实例。他们必须为每个用户拥有自己的域名,但这应该不是问题。你最终会得到类似的东西:
由于您已经有一个 SVN 服务器设置,您可以为每个用户创建一个独立的存储库,当他们完成对该块的工作时,他们可以将其合并回主干。您也可以使用这些进行 SSL,但如果您想使用相同的证书,则它需要是通配符或包含所有其他地址。
您可以从 apache 网站获取有关1.x版和2.x版的基于名称的虚拟主机的更多信息
您还可以在不运行额外数据库的情况下为您的开发人员提供自己的 MySQL 数据库(我假设您的软件可以指定它连接到的数据库的名称,而不仅仅是主机)。