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